UNPKG

wonder.js

Version:
74 lines (69 loc) 4.61 kB
'use strict'; var SceneAPI$Wonderjs = require("../../api/SceneAPI.js"); var Contract$WonderLog = require("wonder-log/lib/js/src/Contract.js"); var ArrayService$Wonderjs = require("../../service/atom/ArrayService.js"); var StateDataMain$Wonderjs = require("../../service/state/main/data/StateDataMain.js"); var Caml_builtin_exceptions = require("bs-platform/lib/js/caml_builtin_exceptions.js"); var GenerateCommon$Wonderjs = require("./GenerateCommon.js"); var IsDebugMainService$Wonderjs = require("../../service/state/main/state/IsDebugMainService.js"); var OperatePointLightService$Wonderjs = require("../../service/record/main/light/point/OperatePointLightService.js"); var RecordPointLightMainService$Wonderjs = require("../../service/state/main/light/point/RecordPointLightMainService.js"); var OperateDirectionLightService$Wonderjs = require("../../service/record/main/light/direction/OperateDirectionLightService.js"); var MutableSparseMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/MutableSparseMapService.js"); var RecordDirectionLightMainService$Wonderjs = require("../../service/state/main/light/direction/RecordDirectionLightMainService.js"); function getAmbientLightIndex(lightDataArr) { return lightDataArr.length - 1 | 0; } function build(lightDataMap, state) { Contract$WonderLog.requireCheck((function (param) { return GenerateCommon$Wonderjs.checkShouldHasNoSlot(lightDataMap); }), IsDebugMainService$Wonderjs.getIsDebug(StateDataMain$Wonderjs.stateData)); var directionLightRecord = RecordDirectionLightMainService$Wonderjs.getRecord(state); var pointLightRecord = RecordPointLightMainService$Wonderjs.getRecord(state); return ArrayService$Wonderjs.push(/* record */[ /* type_ */"ambient", /* color */SceneAPI$Wonderjs.getAmbientLightColor(state), /* intensity */undefined, /* constantAttenuation */undefined, /* linearAttenuation */undefined, /* quadraticAttenuation */undefined, /* range */undefined ], MutableSparseMapService$WonderCommonlib.reduceValid((function (lightDataArr, param) { var light = param[1]; var type_ = param[0]; switch (type_) { case "directional" : return ArrayService$Wonderjs.push(/* record */[ /* type_ */type_, /* color */OperateDirectionLightService$Wonderjs.getColor(light, directionLightRecord), /* intensity */OperateDirectionLightService$Wonderjs.getIntensity(light, directionLightRecord), /* constantAttenuation */undefined, /* linearAttenuation */undefined, /* quadraticAttenuation */undefined, /* range */undefined ], lightDataArr); case "point" : return ArrayService$Wonderjs.push(/* record */[ /* type_ */type_, /* color */OperatePointLightService$Wonderjs.getColor(light, pointLightRecord), /* intensity */OperatePointLightService$Wonderjs.getIntensity(light, pointLightRecord), /* constantAttenuation */OperatePointLightService$Wonderjs.getConstant(light, pointLightRecord), /* linearAttenuation */OperatePointLightService$Wonderjs.getLinear(light, pointLightRecord), /* quadraticAttenuation */OperatePointLightService$Wonderjs.getQuadratic(light, pointLightRecord), /* range */OperatePointLightService$Wonderjs.getRange(light, pointLightRecord) ], lightDataArr); default: throw [ Caml_builtin_exceptions.match_failure, /* tuple */[ "BuildLightDataSystem.re", 23, 9 ] ]; } }), /* array */[], lightDataMap)); } exports.getAmbientLightIndex = getAmbientLightIndex; exports.build = build; /* SceneAPI-Wonderjs Not a pure module */