wonder.js
Version:
376 lines (350 loc) • 30 kB
JavaScript
'use strict';
var Curry = require("bs-platform/lib/js/curry.js");
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 ArrayService$Wonderjs = require("../../service/atom/ArrayService.js");
var OptionService$Wonderjs = require("../../service/atom/OptionService.js");
var StateDataMain$Wonderjs = require("../../service/state/main/data/StateDataMain.js");
var AssembleCommon$Wonderjs = require("./AssembleCommon.js");
var IsDebugMainService$Wonderjs = require("../../service/state/main/state/IsDebugMainService.js");
var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js");
var AssembleIsRootUtils$Wonderjs = require("./utils/AssembleIsRootUtils.js");
var AssembleIsActiveUtils$Wonderjs = require("./utils/AssembleIsActiveUtils.js");
var ConvertScriptDataUtils$Wonderjs = require("../utils/ConvertScriptDataUtils.js");
var BatchOperateLightSystem$Wonderjs = require("./BatchOperateLightSystem.js");
var NameGeometryMainService$Wonderjs = require("../../service/state/main/geometry/NameGeometryMainService.js");
var IsActiveScriptMainService$Wonderjs = require("../../service/state/main/script/IsActiveScriptMainService.js");
var NameGameObjectMainService$Wonderjs = require("../../service/state/main/gameObject/NameGameObjectMainService.js");
var RecordTransformMainService$Wonderjs = require("../../service/state/main/transform/RecordTransformMainService.js");
var IsRootGameObjectMainService$Wonderjs = require("../../service/state/main/gameObject/IsRootGameObjectMainService.js");
var ActiveBasicCameraViewService$Wonderjs = require("../../service/record/main/basic_camera_view/ActiveBasicCameraViewService.js");
var NameBasicMaterialMainService$Wonderjs = require("../../service/state/main/material/basic/NameBasicMaterialMainService.js");
var NameLightMaterialMainService$Wonderjs = require("../../service/state/main/material/light/NameLightMaterialMainService.js");
var OperateScriptDataMainService$Wonderjs = require("../../service/state/main/script/OperateScriptDataMainService.js");
var GetComponentGameObjectService$Wonderjs = require("../../service/record/main/gameObject/GetComponentGameObjectService.js");
var NameCubemapTextureMainService$Wonderjs = require("../../service/state/main/texture/cubemap/NameCubemapTextureMainService.js");
var OperateMeshRendererMainService$Wonderjs = require("../../service/state/main/meshRenderer/OperateMeshRendererMainService.js");
var OperateBasicMaterialMainService$Wonderjs = require("../../service/state/main/material/basic/OperateBasicMaterialMainService.js");
var OperateLightMaterialMainService$Wonderjs = require("../../service/state/main/material/light/OperateLightMaterialMainService.js");
var OperateTypeArrayTransformService$Wonderjs = require("../../service/record/main/transform/OperateTypeArrayTransformService.js");
var SetIsActiveGameObjectMainService$Wonderjs = require("../../service/state/main/gameObject/SetIsActiveGameObjectMainService.js");
var NameBasicSourceTextureMainService$Wonderjs = require("../../service/state/main/texture/source/basic_source/NameBasicSourceTextureMainService.js");
var OperateFlyCameraControllerService$Wonderjs = require("../../service/record/main/camera_controller/fly/OperateFlyCameraControllerService.js");
var EventFlyCameraControllerMainService$Wonderjs = require("../../service/state/main/camera_controller/fly/EventFlyCameraControllerMainService.js");
var GameObjectFlyCameraControllerService$Wonderjs = require("../../service/record/main/camera_controller/fly/GameObjectFlyCameraControllerService.js");
var OperateArcballCameraControllerService$Wonderjs = require("../../service/record/main/camera_controller/arcball/OperateArcballCameraControllerService.js");
var BatchAddGameObjectComponentMainService$Wonderjs = require("../../service/state/main/gameObject/BatchAddGameObjectComponentMainService.js");
var EventArcballCameraControllerMainService$Wonderjs = require("../../service/state/main/camera_controller/arcball/EventArcballCameraControllerMainService.js");
var GameObjectArcballCameraControllerService$Wonderjs = require("../../service/record/main/camera_controller/arcball/GameObjectArcballCameraControllerService.js");
var FrustumPerspectiveCameraProjectionService$Wonderjs = require("../../service/record/main/perspective_camera_projection/FrustumPerspectiveCameraProjectionService.js");
function getBatchArrByIndices(sourceArr, indices) {
return indices.map((function (index) {
return sourceArr[index];
}));
}
function getBatchComponentGameObjectData(param, indices, wd, state) {
var transformArr = param[1];
var gameObjectArr = param[0];
var parentTransforms = getBatchArrByIndices(transformArr, indices[/* gameObjectIndices */0][/* childrenTransformIndexData */0][/* parentTransformIndices */0]);
var childrenTransforms = indices[/* gameObjectIndices */0][/* childrenTransformIndexData */0][/* childrenTransformIndices */1].map((function (childrenIndices) {
return childrenIndices.map((function (index) {
return transformArr[index];
}));
}));
var transformGameObjects = getBatchArrByIndices(gameObjectArr, indices[/* gameObjectIndices */0][/* transformGameObjectIndexData */1][/* gameObjectIndices */0]);
var gameObjectTransforms = getBatchArrByIndices(transformArr, indices[/* gameObjectIndices */0][/* transformGameObjectIndexData */1][/* componentIndices */1]);
var geometryGameObjects = getBatchArrByIndices(gameObjectArr, indices[/* gameObjectIndices */0][/* geometryGameObjectIndexData */10][/* gameObjectIndices */0]);
var gameObjectGeometrys = getBatchArrByIndices(param[2], indices[/* gameObjectIndices */0][/* geometryGameObjectIndexData */10][/* componentIndices */1]);
var meshRendererGameObjects = getBatchArrByIndices(gameObjectArr, indices[/* gameObjectIndices */0][/* meshRendererGameObjectIndexData */11][/* gameObjectIndices */0]);
var gameObjectMeshRenderers = getBatchArrByIndices(param[3], indices[/* gameObjectIndices */0][/* meshRendererGameObjectIndexData */11][/* componentIndices */1]);
var basicMaterialGameObjects = getBatchArrByIndices(gameObjectArr, indices[/* gameObjectIndices */0][/* basicMaterialGameObjectIndexData */6][/* gameObjectIndices */0]);
var gameObjectBasicMaterials = getBatchArrByIndices(param[8], indices[/* gameObjectIndices */0][/* basicMaterialGameObjectIndexData */6][/* componentIndices */1]);
var lightMaterialGameObjects = getBatchArrByIndices(gameObjectArr, indices[/* gameObjectIndices */0][/* lightMaterialGameObjectIndexData */7][/* gameObjectIndices */0]);
var gameObjectLightMaterials = getBatchArrByIndices(param[9], indices[/* gameObjectIndices */0][/* lightMaterialGameObjectIndexData */7][/* componentIndices */1]);
var scriptGameObjects = getBatchArrByIndices(gameObjectArr, indices[/* gameObjectIndices */0][/* scriptGameObjectIndexData */12][/* gameObjectIndices */0]);
var gameObjectScripts = getBatchArrByIndices(param[12], indices[/* gameObjectIndices */0][/* scriptGameObjectIndexData */12][/* componentIndices */1]);
return /* tuple */[
/* tuple */[
parentTransforms,
childrenTransforms,
transformGameObjects,
gameObjectTransforms,
geometryGameObjects,
gameObjectGeometrys,
getBatchArrByIndices(gameObjectArr, indices[/* gameObjectIndices */0][/* basicCameraViewGameObjectIndexData */2][/* gameObjectIndices */0]),
getBatchArrByIndices(param[4], indices[/* gameObjectIndices */0][/* basicCameraViewGameObjectIndexData */2][/* componentIndices */1]),
getBatchArrByIndices(gameObjectArr, indices[/* gameObjectIndices */0][/* perspectiveCameraProjectionGameObjectIndexData */3][/* gameObjectIndices */0]),
getBatchArrByIndices(param[5], indices[/* gameObjectIndices */0][/* perspectiveCameraProjectionGameObjectIndexData */3][/* componentIndices */1]),
getBatchArrByIndices(gameObjectArr, indices[/* gameObjectIndices */0][/* flyCameraControllerGameObjectIndexData */4][/* gameObjectIndices */0]),
getBatchArrByIndices(param[6], indices[/* gameObjectIndices */0][/* flyCameraControllerGameObjectIndexData */4][/* componentIndices */1]),
getBatchArrByIndices(gameObjectArr, indices[/* gameObjectIndices */0][/* arcballCameraControllerGameObjectIndexData */5][/* gameObjectIndices */0]),
getBatchArrByIndices(param[7], indices[/* gameObjectIndices */0][/* arcballCameraControllerGameObjectIndexData */5][/* componentIndices */1]),
basicMaterialGameObjects,
gameObjectBasicMaterials,
lightMaterialGameObjects,
gameObjectLightMaterials,
meshRendererGameObjects,
gameObjectMeshRenderers,
getBatchArrByIndices(gameObjectArr, indices[/* gameObjectIndices */0][/* directionLightGameObjectIndexData */8][/* gameObjectIndices */0]),
getBatchArrByIndices(param[10], indices[/* gameObjectIndices */0][/* directionLightGameObjectIndexData */8][/* componentIndices */1]),
getBatchArrByIndices(gameObjectArr, indices[/* gameObjectIndices */0][/* pointLightGameObjectIndexData */9][/* gameObjectIndices */0]),
getBatchArrByIndices(param[11], indices[/* gameObjectIndices */0][/* pointLightGameObjectIndexData */9][/* componentIndices */1]),
scriptGameObjects,
gameObjectScripts
],
state
];
}
function batchSetTransformParent(parentTransforms, childrenTransforms, state) {
var transformRecord = RecordTransformMainService$Wonderjs.getRecord(state);
var parentMap = transformRecord[/* parentMap */15];
var childMap = transformRecord[/* childMap */16];
var match = ArrayService$WonderCommonlib.reduceOneParami((function (hierachyDataTuple, parentTransform, index) {
return AssembleCommon$Wonderjs.addChildrenToParent(parentTransform, childrenTransforms[index], hierachyDataTuple);
}), /* tuple */[
parentMap,
childMap
], parentTransforms);
var newrecord = Caml_array.caml_array_dup(state);
var newrecord$1 = Caml_array.caml_array_dup(transformRecord);
newrecord[/* transformRecord */11] = (newrecord$1[/* parentMap */15] = match[0], newrecord$1[/* childMap */16] = match[1], newrecord$1);
return newrecord;
}
function _batchSetTransformLocalData(param, param$1, setLocalDataFunc) {
var localDataTypeArray = param$1[1];
var localData = param$1[0];
var match = OptionService$Wonderjs.isJsonSerializedValueNone(localData);
if (match) {
return localDataTypeArray;
} else {
var transform = Caml_array.caml_array_get(param[0], param[1]);
return Curry._3(setLocalDataFunc, transform, OptionService$Wonderjs.unsafeGetJsonSerializedValue(localData), localDataTypeArray);
}
}
function batchSetTransformData(param, gameObjectTransforms, state) {
var transforms = param[/* transforms */17];
var transformRecord = RecordTransformMainService$Wonderjs.getRecord(state);
var localPositions = transformRecord[/* localPositions */3];
var localRotations = transformRecord[/* localRotations */4];
var localScales = transformRecord[/* localScales */5];
var newrecord = Caml_array.caml_array_dup(state);
var newrecord$1 = Caml_array.caml_array_dup(transformRecord);
newrecord[/* transformRecord */11] = (newrecord$1[/* localPositions */3] = ArrayService$WonderCommonlib.reduceOneParami((function (localPositions, param, index) {
return _batchSetTransformLocalData(/* tuple */[
gameObjectTransforms,
index
], /* tuple */[
param[/* translation */0],
localPositions
], OperateTypeArrayTransformService$Wonderjs.setLocalPositionByTuple);
}), localPositions, transforms), newrecord$1[/* localRotations */4] = ArrayService$WonderCommonlib.reduceOneParami((function (localRotations, param, index) {
return _batchSetTransformLocalData(/* tuple */[
gameObjectTransforms,
index
], /* tuple */[
param[/* rotation */1],
localRotations
], OperateTypeArrayTransformService$Wonderjs.setLocalRotationByTuple);
}), localRotations, transforms), newrecord$1[/* localScales */5] = ArrayService$WonderCommonlib.reduceOneParami((function (localScales, param, index) {
return _batchSetTransformLocalData(/* tuple */[
gameObjectTransforms,
index
], /* tuple */[
param[/* scale */2],
localScales
], OperateTypeArrayTransformService$Wonderjs.setLocalScaleByTuple);
}), localScales, transforms), newrecord$1);
return newrecord;
}
function batchSetBasicCameraViewData(param, basicCameraViewArr, isActiveCamera, state) {
var basicCameraViews = param[/* basicCameraViews */13];
var basicCameraViewRecord = state[/* basicCameraViewRecord */13];
Contract$WonderLog.requireCheck((function (param) {
var len = basicCameraViews.filter((function (param) {
return param[/* isActive */0] === true;
})).length;
return Contract$WonderLog.test(Log$WonderLog.buildAssertMessage("has at most one active basicCameraView", "has " + (String(len) + "")), (function (param) {
return Contract$WonderLog.Operators[/* <= */11](len, 1);
}));
}), IsDebugMainService$Wonderjs.getIsDebug(StateDataMain$Wonderjs.stateData));
var newrecord = Caml_array.caml_array_dup(state);
newrecord[/* basicCameraViewRecord */13] = isActiveCamera ? ArrayService$WonderCommonlib.reduceOneParami((function (basicCameraViewRecord, param, index) {
var cameraView = Caml_array.caml_array_get(basicCameraViewArr, index);
if (param[/* isActive */0]) {
return ActiveBasicCameraViewService$Wonderjs.active(cameraView, basicCameraViewRecord);
} else {
return basicCameraViewRecord;
}
}), basicCameraViewRecord, basicCameraViews) : basicCameraViewRecord;
return newrecord;
}
function batchSetPerspectiveCameraProjectionData(param, perspectiveCameraProjectionArr, state) {
var perspectiveCameraProjectionRecord = state[/* perspectiveCameraProjectionRecord */14];
var newrecord = Caml_array.caml_array_dup(state);
newrecord[/* perspectiveCameraProjectionRecord */14] = ArrayService$WonderCommonlib.reduceOneParami((function (perspectiveCameraProjectionRecord, param, index) {
var aspect = param[/* aspect */3];
var far = param[/* far */1];
var cameraProjection = Caml_array.caml_array_get(perspectiveCameraProjectionArr, index);
var perspectiveCameraProjectionRecord$1 = FrustumPerspectiveCameraProjectionService$Wonderjs.setNear(cameraProjection, param[/* near */0], perspectiveCameraProjectionRecord);
var match = OptionService$Wonderjs.isJsonSerializedValueNone(far);
var perspectiveCameraProjectionRecord$2 = match ? FrustumPerspectiveCameraProjectionService$Wonderjs.setFar(cameraProjection, FrustumPerspectiveCameraProjectionService$Wonderjs.getInfiniteFar(/* () */0), perspectiveCameraProjectionRecord$1) : FrustumPerspectiveCameraProjectionService$Wonderjs.setFar(cameraProjection, OptionService$Wonderjs.unsafeGetJsonSerializedValue(far), perspectiveCameraProjectionRecord$1);
var perspectiveCameraProjectionRecord$3 = FrustumPerspectiveCameraProjectionService$Wonderjs.setFovy(cameraProjection, param[/* fovy */2], perspectiveCameraProjectionRecord$2);
var match$1 = OptionService$Wonderjs.isJsonSerializedValueNone(aspect);
if (match$1) {
return perspectiveCameraProjectionRecord$3;
} else {
return FrustumPerspectiveCameraProjectionService$Wonderjs.setAspect(cameraProjection, OptionService$Wonderjs.unsafeGetJsonSerializedValue(aspect), perspectiveCameraProjectionRecord$3);
}
}), perspectiveCameraProjectionRecord, param[/* perspectiveCameraProjections */14]);
return newrecord;
}
function batchSetFlyCameraControllerData(param, flyCameraControllerArr, isBindEventConfig, state) {
return ArrayService$WonderCommonlib.reduceOneParami((function (state, param, index) {
var cameraController = Caml_array.caml_array_get(flyCameraControllerArr, index);
var match = isBindEventConfig && ActiveBasicCameraViewService$Wonderjs.isActive(GetComponentGameObjectService$Wonderjs.unsafeGetBasicCameraViewComponent(GameObjectFlyCameraControllerService$Wonderjs.unsafeGetGameObject(cameraController, state[/* flyCameraControllerRecord */26]), state[/* gameObjectRecord */10]), state[/* basicCameraViewRecord */13]);
var state$1 = match ? EventFlyCameraControllerMainService$Wonderjs.bindEvent(cameraController, state) : state;
var newrecord = Caml_array.caml_array_dup(state$1);
newrecord[/* flyCameraControllerRecord */26] = OperateFlyCameraControllerService$Wonderjs.setWheelSpeed(cameraController, param[/* wheelSpeed */2], OperateFlyCameraControllerService$Wonderjs.setRotateSpeed(cameraController, param[/* rotateSpeed */1], OperateFlyCameraControllerService$Wonderjs.setMoveSpeed(cameraController, param[/* moveSpeed */0], state$1[/* flyCameraControllerRecord */26])));
return newrecord;
}), state, param[/* flyCameraControllers */15]);
}
function batchSetArcballCameraControllerData(param, arcballCameraControllerArr, isBindEventConfig, state) {
return ArrayService$WonderCommonlib.reduceOneParami((function (state, param, index) {
var cameraController = Caml_array.caml_array_get(arcballCameraControllerArr, index);
var match = isBindEventConfig && ActiveBasicCameraViewService$Wonderjs.isActive(GetComponentGameObjectService$Wonderjs.unsafeGetBasicCameraViewComponent(GameObjectArcballCameraControllerService$Wonderjs.unsafeGetGameObject(cameraController, state[/* arcballCameraControllerRecord */25]), state[/* gameObjectRecord */10]), state[/* basicCameraViewRecord */13]);
var state$1 = match ? EventArcballCameraControllerMainService$Wonderjs.bindEvent(cameraController, state) : state;
var newrecord = Caml_array.caml_array_dup(state$1);
newrecord[/* arcballCameraControllerRecord */25] = OperateArcballCameraControllerService$Wonderjs.setWheelSpeed(cameraController, param[/* wheelSpeed */9], OperateArcballCameraControllerService$Wonderjs.setRotateSpeed(cameraController, param[/* rotateSpeed */8], OperateArcballCameraControllerService$Wonderjs.setMoveSpeedY(cameraController, param[/* moveSpeedY */7], OperateArcballCameraControllerService$Wonderjs.setMoveSpeedX(cameraController, param[/* moveSpeedX */6], OperateArcballCameraControllerService$Wonderjs.setTarget(cameraController, param[/* target */5], OperateArcballCameraControllerService$Wonderjs.setThetaMargin(cameraController, param[/* thetaMargin */4], OperateArcballCameraControllerService$Wonderjs.setTheta(cameraController, param[/* theta */3], OperateArcballCameraControllerService$Wonderjs.setPhi(cameraController, param[/* phi */2], OperateArcballCameraControllerService$Wonderjs.setDistance(cameraController, param[/* distance */0], OperateArcballCameraControllerService$Wonderjs.setMinDistance(cameraController, param[/* minDistance */1], state$1[/* arcballCameraControllerRecord */25]))))))))));
return newrecord;
}), state, param[/* arcballCameraControllers */16]);
}
function batchSetMeshRendererData(param, meshRendererArr, state) {
return ArrayService$WonderCommonlib.reduceOneParami((function (state, meshRendererData, index) {
var match = OptionService$Wonderjs.isJsonSerializedValueNone(meshRendererData);
if (match) {
return state;
} else {
var match$1 = OptionService$Wonderjs.unsafeGetJsonSerializedValue(meshRendererData);
var meshRenderer = Caml_array.caml_array_get(meshRendererArr, index);
return OperateMeshRendererMainService$Wonderjs.setIsRender(meshRenderer, match$1[/* isRender */1], OperateMeshRendererMainService$Wonderjs.setDrawMode(meshRenderer, match$1[/* drawMode */0], state));
}
}), state, param[/* meshRenderers */19]);
}
function batchSetBasicMaterialData(param, basicMaterialArr, state) {
return ArrayService$WonderCommonlib.reduceOneParami((function (state, param, index) {
var material = Caml_array.caml_array_get(basicMaterialArr, index);
return NameBasicMaterialMainService$Wonderjs.setName(material, param[/* name */1], OperateBasicMaterialMainService$Wonderjs.setColor(material, param[/* color */0], state));
}), state, param[/* basicMaterials */20]);
}
function batchSetLightMaterialData(param, lightMaterialArr, state) {
return ArrayService$WonderCommonlib.reduceOneParami((function (state, param, index) {
var material = Caml_array.caml_array_get(lightMaterialArr, index);
return NameLightMaterialMainService$Wonderjs.setName(material, param[/* name */1], OperateLightMaterialMainService$Wonderjs.setDiffuseColor(material, param[/* diffuseColor */0], state));
}), state, param[/* lightMaterials */21]);
}
function batchSetScriptData(param, scriptArr, state) {
return ArrayService$WonderCommonlib.reduceOneParami((function (state, param, index) {
var script = Caml_array.caml_array_get(scriptArr, index);
return OperateScriptDataMainService$Wonderjs.addAttributeMap(script, ConvertScriptDataUtils$Wonderjs.convertAttributeMapJsonToRecord(param[/* attributeMap */2]), OperateScriptDataMainService$Wonderjs.addEventFunctionDataMap(script, ConvertScriptDataUtils$Wonderjs.convertEventFunctionDataMapJsonToRecord(param[/* eventFunctionDataMap */1]), IsActiveScriptMainService$Wonderjs.setIsActive(script, param[/* isActive */0], state)));
}), state, param[/* scripts */22]);
}
function _batchSetGameObjectData(targets, dataArr, setDataFunc, state) {
return ArrayService$WonderCommonlib.reduceOneParami((function (state, target, index) {
return setDataFunc(target, dataArr[index], state);
}), state, targets);
}
function _batchSetBasicSourceTextureName(basicSourceTextureArr, basicSourceTextures, state) {
return ArrayService$Wonderjs.reduceOneParamValidi((function (state, basicSourceTexture, index) {
return NameBasicSourceTextureMainService$Wonderjs.setName(basicSourceTexture, basicSourceTextures[index][/* name */0], state);
}), state, basicSourceTextureArr);
}
function _batchSetCubemapTextureName(cubemapTextureArr, cubemapTextures, state) {
return ArrayService$Wonderjs.reduceOneParamValidi((function (state, cubemapTexture, index) {
return NameCubemapTextureMainService$Wonderjs.setName(cubemapTexture, cubemapTextures[index][/* name */0], state);
}), state, cubemapTextureArr);
}
function _batchSetGeometryName(geometrys, geometryArr, state) {
return ArrayService$WonderCommonlib.reduceOneParami((function (state, geometryData, geometryIndex) {
var match = OptionService$Wonderjs.isJsonSerializedValueNone(geometryData);
if (match) {
return state;
} else {
var match$1 = OptionService$Wonderjs.unsafeGetJsonSerializedValue(geometryData);
var geometry = geometryArr[geometryIndex];
return NameGeometryMainService$Wonderjs.setName(geometry, match$1[/* name */0], state);
}
}), state, geometrys);
}
function batchSetNames(param, param$1, param$2, param$3, state) {
return _batchSetGeometryName(param$3[0], param$3[1], _batchSetCubemapTextureName(param$2[0], param$2[1], _batchSetBasicSourceTextureName(param$1[0], param$1[1], _batchSetGameObjectData(param[0], param[1][/* names */1], NameGameObjectMainService$Wonderjs.setName, state))));
}
function batchSetIsActive(gameObjectArr, gameObjects, state) {
return ArrayService$WonderCommonlib.reduceOneParami((function (state, gameObject, index) {
var match = AssembleIsActiveUtils$Wonderjs.doesGameObjectHasIsActiveData(index, gameObjects);
if (match) {
return SetIsActiveGameObjectMainService$Wonderjs.setIsActive(gameObject, AssembleIsActiveUtils$Wonderjs.unsafeGetGameObjectIsActiveData(index, gameObjects), state);
} else {
return state;
}
}), state, gameObjectArr);
}
function batchSetIsRoot(gameObjectArr, gameObjects, state) {
return ArrayService$WonderCommonlib.reduceOneParami((function (state, gameObject, index) {
var match = AssembleIsRootUtils$Wonderjs.doesGameObjectHasIsRootData(index, gameObjects);
if (match) {
return IsRootGameObjectMainService$Wonderjs.setIsRoot(gameObject, AssembleIsRootUtils$Wonderjs.unsafeGetGameObjectIsRootData(index, gameObjects), state);
} else {
return state;
}
}), state, gameObjectArr);
}
function batchSetNamesAndGameObjectIsActiveAndIsRoot(wd, param) {
var match = param[3];
var gameObjectArr = param[1];
var gameObjects = wd[/* gameObjects */3];
return batchSetIsRoot(gameObjectArr, gameObjects, batchSetIsActive(gameObjectArr, gameObjects, batchSetNames(/* tuple */[
gameObjectArr,
gameObjects
], /* tuple */[
match[0],
wd[/* basicSourceTextures */5]
], /* tuple */[
match[1],
wd[/* cubemapTextures */6]
], /* tuple */[
wd[/* geometrys */18],
param[2][1]
], param[0])));
}
function batchSetComponentData(wd, param, param$1, param$2, state) {
var isBindEvent = param[0];
return BatchOperateLightSystem$Wonderjs.setAmbientLightData(wd, BatchOperateLightSystem$Wonderjs.batchSetPointLightData(wd, param$1[10], BatchOperateLightSystem$Wonderjs.batchSetDirectionLightData(wd, param$1[9], batchSetScriptData(wd, param$1[11], batchSetLightMaterialData(wd, param$1[8], batchSetBasicMaterialData(wd, param$1[7], batchSetMeshRendererData(wd, param$1[2], batchSetArcballCameraControllerData(wd, param$1[6], isBindEvent, batchSetFlyCameraControllerData(wd, param$1[5], isBindEvent, batchSetPerspectiveCameraProjectionData(wd, param$1[4], batchSetBasicCameraViewData(wd, param$1[3], param[1], batchSetTransformParent(param$2[0], param$2[1], batchSetTransformData(wd, param$2[2], state)))))))))))));
}
function batchAddComponent(wd, param, state) {
return BatchAddGameObjectComponentMainService$Wonderjs.batchAddScriptComponentForCreate(param[22], param[23], BatchAddGameObjectComponentMainService$Wonderjs.batchAddPointLightComponentForCreate(param[20], param[21], BatchAddGameObjectComponentMainService$Wonderjs.batchAddDirectionLightComponentForCreate(param[18], param[19], BatchAddGameObjectComponentMainService$Wonderjs.batchAddMeshRendererComponentForCreate(param[16], param[17], BatchAddGameObjectComponentMainService$Wonderjs.batchAddLightMaterialComponentForCreate(param[14], param[15], BatchAddGameObjectComponentMainService$Wonderjs.batchAddBasicMaterialComponentForCreate(param[12], param[13], BatchAddGameObjectComponentMainService$Wonderjs.batchAddArcballCameraControllerComponentForCreate(param[10], param[11], BatchAddGameObjectComponentMainService$Wonderjs.batchAddFlyCameraControllerComponentForCreate(param[8], param[9], BatchAddGameObjectComponentMainService$Wonderjs.batchAddPerspectiveCameraProjectionComponentForCreate(param[6], param[7], BatchAddGameObjectComponentMainService$Wonderjs.batchAddBasicCameraViewComponentForCreate(param[4], param[5], BatchAddGameObjectComponentMainService$Wonderjs.batchAddTransformComponentForCreate(param[0], param[1], state)))))))))));
}
exports.getBatchArrByIndices = getBatchArrByIndices;
exports.getBatchComponentGameObjectData = getBatchComponentGameObjectData;
exports.batchSetTransformParent = batchSetTransformParent;
exports._batchSetTransformLocalData = _batchSetTransformLocalData;
exports.batchSetTransformData = batchSetTransformData;
exports.batchSetBasicCameraViewData = batchSetBasicCameraViewData;
exports.batchSetPerspectiveCameraProjectionData = batchSetPerspectiveCameraProjectionData;
exports.batchSetFlyCameraControllerData = batchSetFlyCameraControllerData;
exports.batchSetArcballCameraControllerData = batchSetArcballCameraControllerData;
exports.batchSetMeshRendererData = batchSetMeshRendererData;
exports.batchSetBasicMaterialData = batchSetBasicMaterialData;
exports.batchSetLightMaterialData = batchSetLightMaterialData;
exports.batchSetScriptData = batchSetScriptData;
exports._batchSetGameObjectData = _batchSetGameObjectData;
exports._batchSetBasicSourceTextureName = _batchSetBasicSourceTextureName;
exports._batchSetCubemapTextureName = _batchSetCubemapTextureName;
exports._batchSetGeometryName = _batchSetGeometryName;
exports.batchSetNames = batchSetNames;
exports.batchSetIsActive = batchSetIsActive;
exports.batchSetIsRoot = batchSetIsRoot;
exports.batchSetNamesAndGameObjectIsActiveAndIsRoot = batchSetNamesAndGameObjectIsActiveAndIsRoot;
exports.batchSetComponentData = batchSetComponentData;
exports.batchAddComponent = batchAddComponent;
/* Log-WonderLog Not a pure module */