UNPKG

wonder.js

Version:
299 lines (256 loc) 16.3 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 AddGeometryService$Wonderjs = require("../../../record/main/geometry/AddGeometryService.js"); var IsDebugMainService$Wonderjs = require("../state/IsDebugMainService.js"); var AddTransformService$Wonderjs = require("../../../record/main/transform/AddTransformService.js"); var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js"); var ComponentMapService$Wonderjs = require("../../../primitive/gameObject/ComponentMapService.js"); var AddPointLightService$Wonderjs = require("../../../record/main/light/point/AddPointLightService.js"); var AddScriptMainService$Wonderjs = require("../script/AddScriptMainService.js"); var AddBasicMaterialService$Wonderjs = require("../../../record/main/material/basic/AddBasicMaterialService.js"); var AddLightMaterialService$Wonderjs = require("../../../record/main/material/light/AddLightMaterialService.js"); var AddDirectionLightService$Wonderjs = require("../../../record/main/light/direction/AddDirectionLightService.js"); var AddBasicCameraViewService$Wonderjs = require("../../../record/main/basic_camera_view/AddBasicCameraViewService.js"); var RecordGeometryMainService$Wonderjs = require("../geometry/RecordGeometryMainService.js"); var AddMeshRendererMainService$Wonderjs = require("../meshRenderer/AddMeshRendererMainService.js"); var RecordTransformMainService$Wonderjs = require("../transform/RecordTransformMainService.js"); var RecordPointLightMainService$Wonderjs = require("../light/point/RecordPointLightMainService.js"); var AddFlyCameraControllerService$Wonderjs = require("../../../record/main/camera_controller/fly/AddFlyCameraControllerService.js"); var RecordBasicMaterialMainService$Wonderjs = require("../material/basic/RecordBasicMaterialMainService.js"); var RecordLightMaterialMainService$Wonderjs = require("../material/light/RecordLightMaterialMainService.js"); var RecordDirectionLightMainService$Wonderjs = require("../light/direction/RecordDirectionLightMainService.js"); var AddArcballCameraControllerService$Wonderjs = require("../../../record/main/camera_controller/arcball/AddArcballCameraControllerService.js"); var AddPerspectiveCameraProjectionService$Wonderjs = require("../../../record/main/perspective_camera_projection/AddPerspectiveCameraProjectionService.js"); function _checkBatchAdd(uidArr, componentArr) { return Contract$WonderLog.requireCheck((function (param) { var gameObjectCount = uidArr.length; var componentCount = componentArr.length; return Contract$WonderLog.test(Log$WonderLog.buildAssertMessage("one gameObject should add one component", "" + (String(gameObjectCount) + (" gameObject add " + (String(componentCount) + " components")))), (function (param) { return Contract$WonderLog.Operators[/* = */0](gameObjectCount, componentCount); })); }), IsDebugMainService$Wonderjs.getIsDebug(StateDataMain$Wonderjs.stateData)); } function _batchAddComponent(param, handleAddComponentFunc, componentRecord) { var componentMap = param[2]; var componentArr = param[1]; var uidArr = param[0]; _checkBatchAdd(uidArr, componentArr); return ArrayService$WonderCommonlib.reduceOneParami((function (componentRecord, uid, index) { var component = componentArr[index]; ComponentMapService$Wonderjs.addComponent(uid, component, componentMap); return handleAddComponentFunc(component, uid, componentRecord); }), componentRecord, uidArr); } function _batchAddComponentWithState(param, handleAddComponentFunc, state) { var componentMap = param[2]; var componentArr = param[1]; var uidArr = param[0]; _checkBatchAdd(uidArr, componentArr); return ArrayService$WonderCommonlib.reduceOneParami((function (state, uid, index) { var component = componentArr[index]; ComponentMapService$Wonderjs.addComponent(uid, component, componentMap); return handleAddComponentFunc(component, uid, state); }), state, uidArr); } function _batchAddScriptComponent(uidArr, componentArr, state) { var gameObjectRecord = state[/* gameObjectRecord */10]; var scriptRecord = state[/* scriptRecord */27]; var newrecord = Caml_array.caml_array_dup(state); newrecord[/* scriptRecord */27] = _batchAddComponent(/* tuple */[ uidArr, componentArr, gameObjectRecord[/* scriptMap */42] ], AddScriptMainService$Wonderjs.handleAddComponent, scriptRecord); return newrecord; } function _batchAddBasicCameraViewComponent(uidArr, componentArr, state) { var gameObjectRecord = state[/* gameObjectRecord */10]; var basicCameraViewRecord = state[/* basicCameraViewRecord */13]; var newrecord = Caml_array.caml_array_dup(state); newrecord[/* basicCameraViewRecord */13] = _batchAddComponent(/* tuple */[ uidArr, componentArr, gameObjectRecord[/* basicCameraViewMap */31] ], AddBasicCameraViewService$Wonderjs.handleAddComponent, basicCameraViewRecord); return newrecord; } function _batchAddPerspectiveCameraProjectionComponent(uidArr, componentArr, state) { var gameObjectRecord = state[/* gameObjectRecord */10]; var perspectiveCameraProjectionRecord = state[/* perspectiveCameraProjectionRecord */14]; var newrecord = Caml_array.caml_array_dup(state); newrecord[/* perspectiveCameraProjectionRecord */14] = _batchAddComponent(/* tuple */[ uidArr, componentArr, gameObjectRecord[/* perspectiveCameraProjectionMap */32] ], AddPerspectiveCameraProjectionService$Wonderjs.handleAddComponent, perspectiveCameraProjectionRecord); return newrecord; } function _batchAddFlyCameraControllerComponent(uidArr, componentArr, state) { var gameObjectRecord = state[/* gameObjectRecord */10]; var flyCameraControllerRecord = state[/* flyCameraControllerRecord */26]; var newrecord = Caml_array.caml_array_dup(state); newrecord[/* flyCameraControllerRecord */26] = _batchAddComponent(/* tuple */[ uidArr, componentArr, gameObjectRecord[/* flyCameraControllerMap */34] ], AddFlyCameraControllerService$Wonderjs.handleAddComponent, flyCameraControllerRecord); return newrecord; } function _batchAddArcballCameraControllerComponent(uidArr, componentArr, state) { var gameObjectRecord = state[/* gameObjectRecord */10]; var arcballCameraControllerRecord = state[/* arcballCameraControllerRecord */25]; var newrecord = Caml_array.caml_array_dup(state); newrecord[/* arcballCameraControllerRecord */25] = _batchAddComponent(/* tuple */[ uidArr, componentArr, gameObjectRecord[/* arcballCameraControllerMap */33] ], AddArcballCameraControllerService$Wonderjs.handleAddComponent, arcballCameraControllerRecord); return newrecord; } function _batchAddTransformComponent(uidArr, componentArr, state) { var gameObjectRecord = state[/* gameObjectRecord */10]; var newrecord = Caml_array.caml_array_dup(state); newrecord[/* transformRecord */11] = _batchAddComponent(/* tuple */[ uidArr, componentArr, gameObjectRecord[/* transformMap */30] ], AddTransformService$Wonderjs.handleAddComponent, RecordTransformMainService$Wonderjs.getRecord(state)); return newrecord; } function _batchAddMeshRendererComponent(uidArr, componentArr, state) { var gameObjectRecord = state[/* gameObjectRecord */10]; return _batchAddComponentWithState(/* tuple */[ uidArr, componentArr, gameObjectRecord[/* meshRendererMap */35] ], AddMeshRendererMainService$Wonderjs.handleAddComponent, state); } function _batchAddSharableComponent(param, handleAddComponentFunc, record) { var componentMap = param[2]; var componentArr = param[1]; var uidArr = param[0]; _checkBatchAdd(uidArr, componentArr); return ArrayService$WonderCommonlib.reduceOneParami((function (record, uid, index) { var component = componentArr[index]; ComponentMapService$Wonderjs.addComponent(uid, component, componentMap); return handleAddComponentFunc(component, uid, record); }), record, uidArr); } function _batchAddGeometryComponent(uidArr, componentArr, state) { var gameObjectRecord = state[/* gameObjectRecord */10]; var newrecord = Caml_array.caml_array_dup(state); newrecord[/* geometryRecord */23] = _batchAddSharableComponent(/* tuple */[ uidArr, componentArr, gameObjectRecord[/* geometryMap */29] ], AddGeometryService$Wonderjs.handleAddComponent, RecordGeometryMainService$Wonderjs.getRecord(state)); return newrecord; } function _batchAddBasicMaterialComponent(uidArr, componentArr, state) { var gameObjectRecord = state[/* gameObjectRecord */10]; var newrecord = Caml_array.caml_array_dup(state); newrecord[/* basicMaterialRecord */15] = _batchAddSharableComponent(/* tuple */[ uidArr, componentArr, gameObjectRecord[/* basicMaterialMap */36] ], AddBasicMaterialService$Wonderjs.handleAddComponent, RecordBasicMaterialMainService$Wonderjs.getRecord(state)); return newrecord; } function _batchAddLightMaterialComponent(uidArr, componentArr, state) { var gameObjectRecord = state[/* gameObjectRecord */10]; var newrecord = Caml_array.caml_array_dup(state); newrecord[/* lightMaterialRecord */16] = _batchAddSharableComponent(/* tuple */[ uidArr, componentArr, gameObjectRecord[/* lightMaterialMap */37] ], AddLightMaterialService$Wonderjs.handleAddComponent, RecordLightMaterialMainService$Wonderjs.getRecord(state)); return newrecord; } function _batchAddDirectionLightComponent(uidArr, componentArr, state) { var gameObjectRecord = state[/* gameObjectRecord */10]; var newrecord = Caml_array.caml_array_dup(state); newrecord[/* directionLightRecord */21] = _batchAddComponent(/* tuple */[ uidArr, componentArr, gameObjectRecord[/* directionLightMap */40] ], AddDirectionLightService$Wonderjs.handleAddComponent, RecordDirectionLightMainService$Wonderjs.getRecord(state)); return newrecord; } function _batchAddPointLightComponent(uidArr, componentArr, state) { var gameObjectRecord = state[/* gameObjectRecord */10]; var newrecord = Caml_array.caml_array_dup(state); newrecord[/* pointLightRecord */22] = _batchAddComponent(/* tuple */[ uidArr, componentArr, gameObjectRecord[/* pointLightMap */41] ], AddPointLightService$Wonderjs.handleAddComponent, RecordPointLightMainService$Wonderjs.getRecord(state)); return newrecord; } var batchAddScriptComponentForClone = _batchAddScriptComponent; var batchAddBasicCameraViewComponentForClone = _batchAddBasicCameraViewComponent; var batchAddPerspectiveCameraProjectionComponentForClone = _batchAddPerspectiveCameraProjectionComponent; var batchAddFlyCameraControllerComponentForClone = _batchAddFlyCameraControllerComponent; var batchAddArcballCameraControllerComponentForClone = _batchAddArcballCameraControllerComponent; var batchAddTransformComponentForClone = _batchAddTransformComponent; var batchAddMeshRendererComponentForClone = _batchAddMeshRendererComponent; var batchAddGeometryComponentForClone = _batchAddGeometryComponent; var batchAddBasicMaterialComponentForClone = _batchAddBasicMaterialComponent; var batchAddLightMaterialComponentForClone = _batchAddLightMaterialComponent; var batchAddDirectionLightComponentForClone = _batchAddDirectionLightComponent; var batchAddPointLightComponentForClone = _batchAddPointLightComponent; var batchAddTransformComponentForCreate = _batchAddTransformComponent; var batchAddGeometryComponentForCreate = _batchAddGeometryComponent; var batchAddBasicCameraViewComponentForCreate = _batchAddBasicCameraViewComponent; var batchAddPerspectiveCameraProjectionComponentForCreate = _batchAddPerspectiveCameraProjectionComponent; var batchAddFlyCameraControllerComponentForCreate = _batchAddFlyCameraControllerComponent; var batchAddArcballCameraControllerComponentForCreate = _batchAddArcballCameraControllerComponent; var batchAddBasicMaterialComponentForCreate = _batchAddBasicMaterialComponent; var batchAddLightMaterialComponentForCreate = _batchAddLightMaterialComponent; var batchAddMeshRendererComponentForCreate = _batchAddMeshRendererComponent; var batchAddDirectionLightComponentForCreate = _batchAddDirectionLightComponent; var batchAddPointLightComponentForCreate = _batchAddPointLightComponent; var batchAddScriptComponentForCreate = _batchAddScriptComponent; exports._checkBatchAdd = _checkBatchAdd; exports._batchAddComponent = _batchAddComponent; exports._batchAddComponentWithState = _batchAddComponentWithState; exports._batchAddScriptComponent = _batchAddScriptComponent; exports.batchAddScriptComponentForClone = batchAddScriptComponentForClone; exports._batchAddBasicCameraViewComponent = _batchAddBasicCameraViewComponent; exports.batchAddBasicCameraViewComponentForClone = batchAddBasicCameraViewComponentForClone; exports._batchAddPerspectiveCameraProjectionComponent = _batchAddPerspectiveCameraProjectionComponent; exports.batchAddPerspectiveCameraProjectionComponentForClone = batchAddPerspectiveCameraProjectionComponentForClone; exports._batchAddFlyCameraControllerComponent = _batchAddFlyCameraControllerComponent; exports.batchAddFlyCameraControllerComponentForClone = batchAddFlyCameraControllerComponentForClone; exports._batchAddArcballCameraControllerComponent = _batchAddArcballCameraControllerComponent; exports.batchAddArcballCameraControllerComponentForClone = batchAddArcballCameraControllerComponentForClone; exports._batchAddTransformComponent = _batchAddTransformComponent; exports.batchAddTransformComponentForClone = batchAddTransformComponentForClone; exports._batchAddMeshRendererComponent = _batchAddMeshRendererComponent; exports.batchAddMeshRendererComponentForClone = batchAddMeshRendererComponentForClone; exports._batchAddSharableComponent = _batchAddSharableComponent; exports._batchAddGeometryComponent = _batchAddGeometryComponent; exports.batchAddGeometryComponentForClone = batchAddGeometryComponentForClone; exports._batchAddBasicMaterialComponent = _batchAddBasicMaterialComponent; exports.batchAddBasicMaterialComponentForClone = batchAddBasicMaterialComponentForClone; exports._batchAddLightMaterialComponent = _batchAddLightMaterialComponent; exports.batchAddLightMaterialComponentForClone = batchAddLightMaterialComponentForClone; exports._batchAddDirectionLightComponent = _batchAddDirectionLightComponent; exports.batchAddDirectionLightComponentForClone = batchAddDirectionLightComponentForClone; exports._batchAddPointLightComponent = _batchAddPointLightComponent; exports.batchAddPointLightComponentForClone = batchAddPointLightComponentForClone; exports.batchAddTransformComponentForCreate = batchAddTransformComponentForCreate; exports.batchAddGeometryComponentForCreate = batchAddGeometryComponentForCreate; exports.batchAddBasicCameraViewComponentForCreate = batchAddBasicCameraViewComponentForCreate; exports.batchAddPerspectiveCameraProjectionComponentForCreate = batchAddPerspectiveCameraProjectionComponentForCreate; exports.batchAddFlyCameraControllerComponentForCreate = batchAddFlyCameraControllerComponentForCreate; exports.batchAddArcballCameraControllerComponentForCreate = batchAddArcballCameraControllerComponentForCreate; exports.batchAddBasicMaterialComponentForCreate = batchAddBasicMaterialComponentForCreate; exports.batchAddLightMaterialComponentForCreate = batchAddLightMaterialComponentForCreate; exports.batchAddMeshRendererComponentForCreate = batchAddMeshRendererComponentForCreate; exports.batchAddDirectionLightComponentForCreate = batchAddDirectionLightComponentForCreate; exports.batchAddPointLightComponentForCreate = batchAddPointLightComponentForCreate; exports.batchAddScriptComponentForCreate = batchAddScriptComponentForCreate; /* Log-WonderLog Not a pure module */