UNPKG

wonder.js

Version:
67 lines (62 loc) 2.98 kB
'use strict'; var Caml_array = require("bs-platform/lib/js/caml_array.js"); var TypeArrayService$Wonderjs = require("../../../primitive/buffer/TypeArrayService.js"); var BufferMeshRendererService$Wonderjs = require("../../../record/main/meshRenderer/BufferMeshRendererService.js"); var RecordMeshRendererMainService$Wonderjs = require("../meshRenderer/RecordMeshRendererMainService.js"); function _restoreTypeArrays(currentMeshRecord, targetMeshRecord) { var match = currentMeshRecord[/* drawModes */2] === targetMeshRecord[/* drawModes */2] && currentMeshRecord[/* isRenders */3] === targetMeshRecord[/* isRenders */3]; if (match) { return /* tuple */[ currentMeshRecord, targetMeshRecord ]; } else { RecordMeshRendererMainService$Wonderjs.setAllTypeArrDataToDefault(currentMeshRecord[/* index */0], /* tuple */[ BufferMeshRendererService$Wonderjs.getDefaultDrawMode(/* () */0), BufferMeshRendererService$Wonderjs.getDefaultIsRender(/* () */0) ], /* tuple */[ currentMeshRecord[/* drawModes */2], currentMeshRecord[/* isRenders */3] ]); TypeArrayService$Wonderjs.fillUint8ArrayWithUint8Array(/* tuple */[ currentMeshRecord[/* drawModes */2], 0 ], /* tuple */[ targetMeshRecord[/* drawModes */2], 0 ], targetMeshRecord[/* drawModes */2].length); TypeArrayService$Wonderjs.fillUint8ArrayWithUint8Array(/* tuple */[ currentMeshRecord[/* isRenders */3], 0 ], /* tuple */[ targetMeshRecord[/* isRenders */3], 0 ], targetMeshRecord[/* isRenders */3].length); return /* tuple */[ currentMeshRecord, targetMeshRecord ]; } } function restore(currentState, targetState) { var currentMeshRecord = RecordMeshRendererMainService$Wonderjs.getRecord(currentState); var targetMeshRecord = RecordMeshRendererMainService$Wonderjs.getRecord(targetState); var match = _restoreTypeArrays(currentMeshRecord, targetMeshRecord); var targetMeshRecord$1 = match[1]; var currentMeshRecord$1 = match[0]; var newrecord = Caml_array.caml_array_dup(targetState); newrecord[/* meshRendererRecord */24] = /* record */[ /* index */targetMeshRecord$1[/* index */0], /* buffer */targetMeshRecord$1[/* buffer */1], /* drawModes */currentMeshRecord$1[/* drawModes */2], /* isRenders */currentMeshRecord$1[/* isRenders */3], /* basicMaterialRenderGameObjectMap */targetMeshRecord$1[/* basicMaterialRenderGameObjectMap */4], /* lightMaterialRenderGameObjectMap */targetMeshRecord$1[/* lightMaterialRenderGameObjectMap */5], /* gameObjectMap */targetMeshRecord$1[/* gameObjectMap */6], /* disposedIndexArray */targetMeshRecord$1[/* disposedIndexArray */7] ]; return newrecord; } exports._restoreTypeArrays = _restoreTypeArrays; exports.restore = restore; /* TypeArrayService-Wonderjs Not a pure module */