UNPKG

wonder.js

Version:
79 lines (69 loc) 3.69 kB
'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 GameObjectAPI$Wonderjs = require("../../../../../api/GameObjectAPI.js"); var StateDataMain$Wonderjs = require("../../data/StateDataMain.js"); var IsDebugMainService$Wonderjs = require("../../state/IsDebugMainService.js"); var RecordMeshRendererMainService$Wonderjs = require("../../meshRenderer/RecordMeshRendererMainService.js"); var RenderArrayMeshRendererMainService$Wonderjs = require("../../meshRenderer/RenderArrayMeshRendererMainService.js"); function buildRenderGroup(meshRenderer, material) { return /* record */[ /* meshRenderer */meshRenderer, /* material */material ]; } function createRenderGroup(param, state) { var match = Curry._1(param[0], state); var match$1 = Curry._1(param[1], match[0]); return /* tuple */[ match$1[0], /* record */[ /* meshRenderer */match[1], /* material */match$1[1] ] ]; } function addRenderGroupComponents(gameObject, param, param$1, state) { return Curry._3(param$1[0], gameObject, param[/* meshRenderer */0], Curry._3(param$1[1], gameObject, param[/* material */1], state)); } function disposeRenderGroupComponents(gameObject, param, param$1, state) { return Curry._3(param$1[0], gameObject, param[/* meshRenderer */0], Curry._3(param$1[1], gameObject, param[/* material */1], state)); } function unsafeGetRenderGroupComponents(gameObject, param, state) { return /* record */[ /* meshRenderer */Curry._2(param[0], gameObject, state), /* material */Curry._2(param[1], gameObject, state) ]; } function hasRenderGroupComponents(gameObject, param, state) { if (Curry._2(param[0], gameObject, state)) { return Curry._2(param[1], gameObject, state); } else { return false; } } function replaceMaterial(param, gameObject, param$1, state) { var match = param[1]; var targetMeshRenderer = match[/* meshRenderer */0]; var match$1 = param[0]; var sourceMeshRenderer = match$1[/* meshRenderer */0]; Contract$WonderLog.requireCheck((function (param) { return Contract$WonderLog.test(Log$WonderLog.buildAssertMessage("sourceMeshRenderer === targetMeshRenderer", "not"), (function (param) { return sourceMeshRenderer === targetMeshRenderer; })); }), IsDebugMainService$Wonderjs.getIsDebug(StateDataMain$Wonderjs.stateData)); var state$1 = RenderArrayMeshRendererMainService$Wonderjs.removeFromRenderGameObjectMap(sourceMeshRenderer, Curry._3(param$1[1], gameObject, match[/* material */1], Curry._3(param$1[0], gameObject, match$1[/* material */1], state))); var newrecord = Caml_array.caml_array_dup(state$1); newrecord[/* meshRendererRecord */24] = RenderArrayMeshRendererMainService$Wonderjs.addToRenderGameObjectMap(targetMeshRenderer, gameObject, RecordMeshRendererMainService$Wonderjs.getRecord(state$1), state$1[/* gameObjectRecord */10]); return GameObjectAPI$Wonderjs.initGameObject(gameObject, newrecord); } exports.buildRenderGroup = buildRenderGroup; exports.createRenderGroup = createRenderGroup; exports.addRenderGroupComponents = addRenderGroupComponents; exports.disposeRenderGroupComponents = disposeRenderGroupComponents; exports.unsafeGetRenderGroupComponents = unsafeGetRenderGroupComponents; exports.hasRenderGroupComponents = hasRenderGroupComponents; exports.replaceMaterial = replaceMaterial; /* Log-WonderLog Not a pure module */