UNPKG

wonder.js

Version:
393 lines (375 loc) 15 kB
'use strict'; var Curry = require("bs-platform/lib/js/curry.js"); var Caml_option = require("bs-platform/lib/js/caml_option.js"); var OptionService$Wonderjs = require("../../../service/atom/OptionService.js"); var NameGeometryMainService$Wonderjs = require("../../../service/state/main/geometry/NameGeometryMainService.js"); var IndicesGeometryMainService$Wonderjs = require("../../../service/state/main/geometry/IndicesGeometryMainService.js"); var NameBasicMaterialMainService$Wonderjs = require("../../../service/state/main/material/basic/NameBasicMaterialMainService.js"); var NameLightMaterialMainService$Wonderjs = require("../../../service/state/main/material/light/NameLightMaterialMainService.js"); var GetComponentGameObjectService$Wonderjs = require("../../../service/record/main/gameObject/GetComponentGameObjectService.js"); var MutableSparseMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/MutableSparseMapService.js"); var OperateLightMaterialMainService$Wonderjs = require("../../../service/state/main/material/light/OperateLightMaterialMainService.js"); function _hasMap(gameObject, state) { var gameObjectRecord = state[/* gameObjectRecord */10]; var match = GetComponentGameObjectService$Wonderjs.getLightMaterialComponent(gameObject, gameObjectRecord); if (match !== undefined) { var lightMaterial = match; if (OperateLightMaterialMainService$Wonderjs.hasDiffuseMap(lightMaterial, state)) { return true; } else { return OperateLightMaterialMainService$Wonderjs.hasSpecularMap(lightMaterial, state); } } else { return false; } } function _getGeometryData(param, param$1, state) { var geometryDataMap = param[3]; var geometry = param[2]; var meshIndex = param[1]; var match = MutableSparseMapService$WonderCommonlib.get(geometry, geometryDataMap); if (match !== undefined) { var match$1 = match; return /* tuple */[ match$1[0], match$1[1], meshIndex, geometryDataMap ]; } else { var match$2 = IndicesGeometryMainService$Wonderjs.unsafeGetIndicesType(geometry, state); var match$3 = match$2 ? /* tuple */[ undefined, Caml_option.some(param$1[4](geometry, state)) ] : /* tuple */[ Caml_option.some(param$1[3](geometry, state)), undefined ]; var pointAndNameData = /* tuple */[ /* tuple */[ param$1[0](geometry, state), param$1[1](geometry, state), param$1[2](geometry, state), match$3[0], match$3[1] ], NameGeometryMainService$Wonderjs.getName(geometry, state) ]; return /* tuple */[ meshIndex, pointAndNameData, meshIndex + 1 | 0, MutableSparseMapService$WonderCommonlib.set(geometry, /* tuple */[ meshIndex, pointAndNameData ], geometryDataMap) ]; } } function _getMeshData(param, geometryDataMap, getPointsDataFuncTuple, state) { var meshIndex = param[1]; var gameObject = param[0]; var gameObjectRecord = state[/* gameObjectRecord */10]; var match = GetComponentGameObjectService$Wonderjs.getGeometryComponent(gameObject, gameObjectRecord); if (match !== undefined) { return _getGeometryData(/* tuple */[ gameObject, meshIndex, match, geometryDataMap ], getPointsDataFuncTuple, state); } else { return /* tuple */[ undefined, undefined, meshIndex, geometryDataMap ]; } } function _getMaterialData(param, getNameFunc, state) { var materialDataMap = param[3]; var materialCompoent = param[2]; var materialIndex = param[1]; if (materialCompoent !== undefined) { var material = materialCompoent; var match = MutableSparseMapService$WonderCommonlib.get(material, materialDataMap); if (match !== undefined) { var match$1 = match; return /* tuple */[ match$1[0], match$1[1], materialIndex, materialDataMap ]; } else { var materialData = /* tuple */[ material, Curry._2(getNameFunc, material, state) ]; return /* tuple */[ materialIndex, materialData, materialIndex + 1 | 0, MutableSparseMapService$WonderCommonlib.set(material, /* tuple */[ materialIndex, materialData ], materialDataMap) ]; } } else { return /* tuple */[ undefined, undefined, materialIndex, materialDataMap ]; } } function _getBasicMaterialData(param, basicMaterialDataMap, state) { var gameObject = param[0]; var gameObjectRecord = state[/* gameObjectRecord */10]; return _getMaterialData(/* tuple */[ gameObject, param[1], GetComponentGameObjectService$Wonderjs.getBasicMaterialComponent(gameObject, gameObjectRecord), basicMaterialDataMap ], NameBasicMaterialMainService$Wonderjs.getName, state); } function _getLightMaterialData(param, lightMaterialDataMap, state) { var gameObject = param[0]; var gameObjectRecord = state[/* gameObjectRecord */10]; return _getMaterialData(/* tuple */[ gameObject, param[1], GetComponentGameObjectService$Wonderjs.getLightMaterialComponent(gameObject, gameObjectRecord), lightMaterialDataMap ], NameLightMaterialMainService$Wonderjs.getName, state); } function _getComponentData(param, getComponentFunc, state) { var componentIndex = param[1]; var gameObjectRecord = state[/* gameObjectRecord */10]; var match = getComponentFunc(param[0], gameObjectRecord); if (match !== undefined) { return /* tuple */[ componentIndex, Caml_option.some(Caml_option.valFromOption(match)), componentIndex + 1 | 0 ]; } else { return /* tuple */[ undefined, undefined, componentIndex ]; } } function _getMeshRendererData(param, state) { return _getComponentData(/* tuple */[ param[0], param[1] ], GetComponentGameObjectService$Wonderjs.getMeshRendererComponent, state); } function _getBasicCameraViewData(param, state) { return _getComponentData(/* tuple */[ param[0], param[1] ], GetComponentGameObjectService$Wonderjs.getBasicCameraViewComponent, state); } function _getCameraProjectionData(param, state) { return _getComponentData(/* tuple */[ param[0], param[1] ], GetComponentGameObjectService$Wonderjs.getPerspectiveCameraProjectionComponent, state); } function _getFlyCameraControllerData(param, state) { return _getComponentData(/* tuple */[ param[0], param[1] ], GetComponentGameObjectService$Wonderjs.getFlyCameraControllerComponent, state); } function _getArcballCameraControllerData(param, state) { return _getComponentData(/* tuple */[ param[0], param[1] ], GetComponentGameObjectService$Wonderjs.getArcballCameraControllerComponent, state); } function _getLightData(param, state) { var lightIndex = param[1]; var gameObject = param[0]; var gameObjectRecord = state[/* gameObjectRecord */10]; var match = GetComponentGameObjectService$Wonderjs.getDirectionLightComponent(gameObject, gameObjectRecord); if (match !== undefined) { var lightData = /* tuple */[ "directional", match ]; return /* tuple */[ lightIndex, lightData, lightIndex + 1 | 0 ]; } else { var match$1 = GetComponentGameObjectService$Wonderjs.getPointLightComponent(gameObject, gameObjectRecord); if (match$1 !== undefined) { var lightData$1 = /* tuple */[ "point", match$1 ]; return /* tuple */[ lightIndex, lightData$1, lightIndex + 1 | 0 ]; } else { return /* tuple */[ undefined, undefined, lightIndex ]; } } } function _getScriptData(param, state) { return _getComponentData(/* tuple */[ param[0], param[1] ], GetComponentGameObjectService$Wonderjs.getScriptComponent, state); } function getAllComponentData(param, getPointsDataFuncTuple) { var match = param[4]; var scriptDataMap = match[9]; var lightDataMap = match[8]; var arcballCameraControllerDataMap = match[7]; var flyCameraControllerDataMap = match[6]; var cameraProjectionDataMap = match[5]; var basicCameraViewDataMap = match[4]; var resultLightMaterialDataMap = match[3]; var resultBasicMaterialDataMap = match[2]; var meshRendererDataMap = match[1]; var meshPointAndNameDataMap = match[0]; var match$1 = param[3]; var match$2 = param[2]; var state = param[1]; var gameObject = param[0]; var match$3 = _getMeshData(/* tuple */[ gameObject, match$2[0] ], match$1[0], getPointsDataFuncTuple, state); var meshIndex = match$3[0]; var meshPointAndNameDataMap$1 = meshIndex !== undefined ? MutableSparseMapService$WonderCommonlib.set(meshIndex, OptionService$Wonderjs.unsafeGet(match$3[1]), meshPointAndNameDataMap) : meshPointAndNameDataMap; var match$4 = _getMeshRendererData(/* tuple */[ gameObject, match$2[1] ], state); var meshRendererIndex = match$4[0]; var meshRendererDataMap$1 = meshRendererIndex !== undefined ? MutableSparseMapService$WonderCommonlib.set(meshRendererIndex, OptionService$Wonderjs.unsafeGet(match$4[1]), meshRendererDataMap) : meshRendererDataMap; var match$5 = _getBasicMaterialData(/* tuple */[ gameObject, match$2[2] ], match$1[1], state); var basicMaterialIndex = match$5[0]; var resultBasicMaterialDataMap$1 = basicMaterialIndex !== undefined ? MutableSparseMapService$WonderCommonlib.set(basicMaterialIndex, OptionService$Wonderjs.unsafeGet(match$5[1]), resultBasicMaterialDataMap) : resultBasicMaterialDataMap; var match$6 = _getLightMaterialData(/* tuple */[ gameObject, match$2[3] ], match$1[2], state); var lightMaterialIndex = match$6[0]; var resultLightMaterialDataMap$1 = lightMaterialIndex !== undefined ? MutableSparseMapService$WonderCommonlib.set(lightMaterialIndex, OptionService$Wonderjs.unsafeGet(match$6[1]), resultLightMaterialDataMap) : resultLightMaterialDataMap; var match$7 = _getBasicCameraViewData(/* tuple */[ gameObject, match$2[4] ], state); var basicCameraViewIndex = match$7[0]; var basicCameraViewDataMap$1 = basicCameraViewIndex !== undefined ? MutableSparseMapService$WonderCommonlib.set(basicCameraViewIndex, OptionService$Wonderjs.unsafeGet(match$7[1]), basicCameraViewDataMap) : basicCameraViewDataMap; var match$8 = _getCameraProjectionData(/* tuple */[ gameObject, match$2[5] ], state); var cameraProjectionIndex = match$8[0]; var cameraProjectionDataMap$1 = cameraProjectionIndex !== undefined ? MutableSparseMapService$WonderCommonlib.set(cameraProjectionIndex, OptionService$Wonderjs.unsafeGet(match$8[1]), cameraProjectionDataMap) : cameraProjectionDataMap; var match$9 = _getFlyCameraControllerData(/* tuple */[ gameObject, match$2[6] ], state); var flyCameraControllerIndex = match$9[0]; var flyCameraControllerDataMap$1 = flyCameraControllerIndex !== undefined ? MutableSparseMapService$WonderCommonlib.set(flyCameraControllerIndex, OptionService$Wonderjs.unsafeGet(match$9[1]), flyCameraControllerDataMap) : flyCameraControllerDataMap; var match$10 = _getArcballCameraControllerData(/* tuple */[ gameObject, match$2[7] ], state); var arcballCameraControllerIndex = match$10[0]; var arcballCameraControllerDataMap$1 = arcballCameraControllerIndex !== undefined ? MutableSparseMapService$WonderCommonlib.set(arcballCameraControllerIndex, OptionService$Wonderjs.unsafeGet(match$10[1]), arcballCameraControllerDataMap) : arcballCameraControllerDataMap; var match$11 = _getLightData(/* tuple */[ gameObject, match$2[8] ], state); var lightIndex = match$11[0]; var lightDataMap$1 = lightIndex !== undefined ? MutableSparseMapService$WonderCommonlib.set(lightIndex, OptionService$Wonderjs.unsafeGet(match$11[1]), lightDataMap) : lightDataMap; var match$12 = _getScriptData(/* tuple */[ gameObject, match$2[9] ], state); var scriptIndex = match$12[0]; var scriptDataMap$1 = scriptIndex !== undefined ? MutableSparseMapService$WonderCommonlib.set(scriptIndex, OptionService$Wonderjs.unsafeGet(match$12[1]), scriptDataMap) : scriptDataMap; return /* tuple */[ state, /* tuple */[ meshIndex, meshRendererIndex, basicMaterialIndex, lightMaterialIndex, basicCameraViewIndex, cameraProjectionIndex, flyCameraControllerIndex, arcballCameraControllerIndex, lightIndex, scriptIndex ], /* tuple */[ match$3[2], match$4[2], match$5[2], match$6[2], match$7[2], match$8[2], match$9[2], match$10[2], match$11[2], match$12[2] ], /* tuple */[ match$3[3], match$5[3], match$6[3] ], /* tuple */[ meshPointAndNameDataMap$1, meshRendererDataMap$1, resultBasicMaterialDataMap$1, resultLightMaterialDataMap$1, basicCameraViewDataMap$1, cameraProjectionDataMap$1, flyCameraControllerDataMap$1, arcballCameraControllerDataMap$1, lightDataMap$1, scriptDataMap$1 ] ]; } exports._hasMap = _hasMap; exports._getGeometryData = _getGeometryData; exports._getMeshData = _getMeshData; exports._getMaterialData = _getMaterialData; exports._getBasicMaterialData = _getBasicMaterialData; exports._getLightMaterialData = _getLightMaterialData; exports._getComponentData = _getComponentData; exports._getMeshRendererData = _getMeshRendererData; exports._getBasicCameraViewData = _getBasicCameraViewData; exports._getCameraProjectionData = _getCameraProjectionData; exports._getFlyCameraControllerData = _getFlyCameraControllerData; exports._getArcballCameraControllerData = _getArcballCameraControllerData; exports._getLightData = _getLightData; exports._getScriptData = _getScriptData; exports.getAllComponentData = getAllComponentData; /* OptionService-Wonderjs Not a pure module */