UNPKG

wonder.js

Version:
40 lines (36 loc) 2.92 kB
'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 */