wonder.js
Version:
40 lines (36 loc) • 2.92 kB
JavaScript
'use strict';
var Caml_array = require("bs-platform/lib/js/caml_array.js");
var Log$WonderLog = require("wonder-log/lib/js/src/Log.js");
var Contract$WonderLog = require("wonder-log/lib/js/src/Contract.js");
var StateDataMain$Wonderjs = require("../data/StateDataMain.js");
var IsDebugMainService$Wonderjs = require("../state/IsDebugMainService.js");
var AddComponentService$Wonderjs = require("../../../primitive/component/AddComponentService.js");
var HasComponentGameObjectService$Wonderjs = require("../../../record/main/gameObject/HasComponentGameObjectService.js");
var RecordMeshRendererMainService$Wonderjs = require("./RecordMeshRendererMainService.js");
var OperateMeshRendererMainService$Wonderjs = require("./OperateMeshRendererMainService.js");
var RenderArrayMeshRendererMainService$Wonderjs = require("./RenderArrayMeshRendererMainService.js");
function handleAddComponent(meshRenderer, gameObjectUid, state) {
var gameObjectRecord = state[/* gameObjectRecord */10];
Contract$WonderLog.requireCheck((function (param) {
return Contract$WonderLog.test(Log$WonderLog.buildAssertMessage("should add material component before add meshRenderer component", "not(the gameObjectUid is " + (String(gameObjectUid) + ")")), (function (param) {
return Contract$WonderLog.assertTrue(HasComponentGameObjectService$Wonderjs.hasBasicMaterialComponent(gameObjectUid, state[/* gameObjectRecord */10]) || HasComponentGameObjectService$Wonderjs.hasLightMaterialComponent(gameObjectUid, state[/* gameObjectRecord */10]));
}));
}), IsDebugMainService$Wonderjs.getIsDebug(StateDataMain$Wonderjs.stateData));
var meshRendererRecord = RecordMeshRendererMainService$Wonderjs.getRecord(state);
var match = OperateMeshRendererMainService$Wonderjs.getIsRender(meshRenderer, state);
var meshRendererRecord$1 = match ? RenderArrayMeshRendererMainService$Wonderjs.addToRenderGameObjectMap(meshRenderer, gameObjectUid, meshRendererRecord, gameObjectRecord) : meshRendererRecord;
var newrecord = Caml_array.caml_array_dup(state);
newrecord[/* meshRendererRecord */24] = /* record */[
/* index */meshRendererRecord$1[/* index */0],
/* buffer */meshRendererRecord$1[/* buffer */1],
/* drawModes */meshRendererRecord$1[/* drawModes */2],
/* isRenders */meshRendererRecord$1[/* isRenders */3],
/* basicMaterialRenderGameObjectMap */meshRendererRecord$1[/* basicMaterialRenderGameObjectMap */4],
/* lightMaterialRenderGameObjectMap */meshRendererRecord$1[/* lightMaterialRenderGameObjectMap */5],
/* gameObjectMap */AddComponentService$Wonderjs.addComponentToGameObjectMap(meshRenderer, gameObjectUid, meshRendererRecord$1[/* gameObjectMap */6]),
/* disposedIndexArray */meshRendererRecord$1[/* disposedIndexArray */7]
];
return newrecord;
}
exports.handleAddComponent = handleAddComponent;
/* Log-WonderLog Not a pure module */