wonder.js
Version:
299 lines (256 loc) • 16.3 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 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 */