rl-loadout-lib
Version:
Load Rocket League assets into three.js
42 lines • 2.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const body_model_1 = require("./body-model");
const ids_1 = require("../../utils/ids");
const maple_model_1 = require("./maple-model");
const slime_model_1 = require("./slime-model");
const grey_car_model_1 = require("./grey-car-model");
const berry_model_1 = require("./berry-model");
const rye_tier2_model_1 = require("./rye-tier2-model");
const rye_tier1_model_1 = require("./rye-tier1-model");
const ron_model_1 = require("./ron-model");
/**
* Create a body model object. This handles unique models that need a custom class to handle it.
* @param body car body
* @param decal car decal
* @param bodyAssets body assets
* @param decalAssets decal assets
* @param paints paints to be applied to the body
* @return body model
*/
function createBodyModel(body, decal, bodyAssets, decalAssets, paints) {
switch (body.id) {
case ids_1.ProductID.BODY_MAPLE:
return new maple_model_1.MapleModel(body, decal, bodyAssets, decalAssets, paints);
case ids_1.ProductID.BODY_SLIME:
return new slime_model_1.SlimeModel(body, decal, bodyAssets, decalAssets, paints);
case ids_1.ProductID.BODY_BERRY:
return new berry_model_1.BerryModel(body, decal, bodyAssets, decalAssets, paints);
case ids_1.ProductID.BODY_GREY_CAR:
return new grey_car_model_1.GreyCarModel(body, decal, bodyAssets, decalAssets, paints);
case ids_1.ProductID.BODY_RYE_TIER1:
return new rye_tier1_model_1.RyeTier1Model(body, decal, bodyAssets, decalAssets, paints);
case ids_1.ProductID.BODY_RYE_TIER2:
return new rye_tier2_model_1.RyeTier2Model(body, decal, bodyAssets, decalAssets, paints);
case ids_1.ProductID.BODY_RON:
return new ron_model_1.RonModel(body, decal, bodyAssets, decalAssets, paints);
default:
return new body_model_1.BodyModel(body, decal, bodyAssets, decalAssets, paints);
}
}
exports.createBodyModel = createBodyModel;
//# sourceMappingURL=factory.js.map