UNPKG

wonder.js

Version:
45 lines (39 loc) 3.13 kB
'use strict'; var Caml_array = require("bs-platform/lib/js/caml_array.js"); var SceneAPI$Wonderjs = require("../../api/SceneAPI.js"); var OptionService$Wonderjs = require("../../service/atom/OptionService.js"); var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.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 RecordDirectionLightMainService$Wonderjs = require("../../service/state/main/light/direction/RecordDirectionLightMainService.js"); function batchSetDirectionLightData(param, directionLightArr, state) { return ArrayService$WonderCommonlib.reduceOneParami((function (state, param, index) { var index$1 = Caml_array.caml_array_get(directionLightArr, index); var newrecord = Caml_array.caml_array_dup(state); newrecord[/* directionLightRecord */21] = OperateDirectionLightService$Wonderjs.setIntensity(index$1, param[/* intensity */1], OperateDirectionLightService$Wonderjs.setColor(index$1, param[/* color */0], RecordDirectionLightMainService$Wonderjs.getRecord(state))); return newrecord; }), state, param[/* directionLights */11]); } function batchSetPointLightData(param, pointLightArr, state) { return ArrayService$WonderCommonlib.reduceOneParami((function (state, param, index) { var index$1 = Caml_array.caml_array_get(pointLightArr, index); var newrecord = Caml_array.caml_array_dup(state); newrecord[/* pointLightRecord */22] = OperatePointLightService$Wonderjs.setRange(index$1, param[/* range */5], OperatePointLightService$Wonderjs.setQuadratic(index$1, param[/* quadraticAttenuation */4], OperatePointLightService$Wonderjs.setLinear(index$1, param[/* linearAttenuation */3], OperatePointLightService$Wonderjs.setConstant(index$1, param[/* constantAttenuation */2], OperatePointLightService$Wonderjs.setIntensity(index$1, param[/* intensity */1], OperatePointLightService$Wonderjs.setColor(index$1, param[/* color */0], RecordPointLightMainService$Wonderjs.getRecord(state))))))); return newrecord; }), state, param[/* pointLights */12]); } function setAmbientLightData(param, state) { var optionalAmbientLight = param[/* scene */1][/* ambientLight */1]; var match = OptionService$Wonderjs.isJsonSerializedValueNone(optionalAmbientLight); if (match) { return state; } else { var match$1 = OptionService$Wonderjs.unsafeGetJsonSerializedValue(optionalAmbientLight); return SceneAPI$Wonderjs.setAmbientLightColor(match$1[/* color */0], state); } } exports.batchSetDirectionLightData = batchSetDirectionLightData; exports.batchSetPointLightData = batchSetPointLightData; exports.setAmbientLightData = setAmbientLightData; /* SceneAPI-Wonderjs Not a pure module */