wonder.js
Version:
73 lines (67 loc) • 5.45 kB
JavaScript
'use strict';
var Caml_array = require("bs-platform/lib/js/caml_array.js");
var Contract$WonderLog = require("wonder-log/lib/js/src/Contract.js");
var StateDataMain$Wonderjs = require("../../data/StateDataMain.js");
var IsDebugMainService$Wonderjs = require("../../state/IsDebugMainService.js");
var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js");
var DisposeComponentService$Wonderjs = require("../../../../primitive/component/DisposeComponentService.js");
var EventFlyCameraControllerMainService$Wonderjs = require("./EventFlyCameraControllerMainService.js");
function isAlive(cameraController, param) {
return DisposeComponentService$Wonderjs.isAlive(cameraController, param[/* disposedIndexArray */13]);
}
function _disposeData(cameraController, state) {
var state$1 = EventFlyCameraControllerMainService$Wonderjs.unbindEvent(cameraController, state);
var flyCameraControllerRecord = state$1[/* flyCameraControllerRecord */26];
var newrecord = Caml_array.caml_array_dup(state$1);
newrecord[/* flyCameraControllerRecord */26] = /* record */[
/* index */flyCameraControllerRecord[/* index */0],
/* pointDragStartEventHandleFuncListMap */flyCameraControllerRecord[/* pointDragStartEventHandleFuncListMap */1],
/* pointDragDropEventHandleFuncListMap */flyCameraControllerRecord[/* pointDragDropEventHandleFuncListMap */2],
/* pointDragOverEventHandleFuncListMap */flyCameraControllerRecord[/* pointDragOverEventHandleFuncListMap */3],
/* pointScaleEventHandleFuncListMap */flyCameraControllerRecord[/* pointScaleEventHandleFuncListMap */4],
/* keydownEventHandleFuncListMap */flyCameraControllerRecord[/* keydownEventHandleFuncListMap */5],
/* keyupEventHandleFuncListMap */flyCameraControllerRecord[/* keyupEventHandleFuncListMap */6],
/* moveSpeedMap */DisposeComponentService$Wonderjs.disposeSparseMapData(cameraController, flyCameraControllerRecord[/* moveSpeedMap */7]),
/* wheelSpeedMap */DisposeComponentService$Wonderjs.disposeSparseMapData(cameraController, flyCameraControllerRecord[/* wheelSpeedMap */8]),
/* rotateSpeedMap */DisposeComponentService$Wonderjs.disposeSparseMapData(cameraController, flyCameraControllerRecord[/* rotateSpeedMap */9]),
/* eulerAngleDiffMap */DisposeComponentService$Wonderjs.disposeSparseMapData(cameraController, flyCameraControllerRecord[/* eulerAngleDiffMap */10]),
/* translationDiffMap */DisposeComponentService$Wonderjs.disposeSparseMapData(cameraController, flyCameraControllerRecord[/* translationDiffMap */11]),
/* gameObjectMap */DisposeComponentService$Wonderjs.disposeSparseMapData(cameraController, flyCameraControllerRecord[/* gameObjectMap */12]),
/* disposedIndexArray */flyCameraControllerRecord[/* disposedIndexArray */13],
/* directionArrayMap */DisposeComponentService$Wonderjs.disposeSparseMapData(cameraController, flyCameraControllerRecord[/* directionArrayMap */14]),
/* localEulerAngleMap */flyCameraControllerRecord[/* localEulerAngleMap */15]
];
return newrecord;
}
function handleBatchDisposeComponent(cameraControllerArray, state) {
var flyCameraControllerRecord = state[/* flyCameraControllerRecord */26];
Contract$WonderLog.requireCheck((function (param) {
return DisposeComponentService$Wonderjs.checkComponentShouldAliveWithBatchDispose(cameraControllerArray, isAlive, flyCameraControllerRecord);
}), IsDebugMainService$Wonderjs.getIsDebug(StateDataMain$Wonderjs.stateData));
var newrecord = Caml_array.caml_array_dup(state);
newrecord[/* flyCameraControllerRecord */26] = /* record */[
/* index */flyCameraControllerRecord[/* index */0],
/* pointDragStartEventHandleFuncListMap */flyCameraControllerRecord[/* pointDragStartEventHandleFuncListMap */1],
/* pointDragDropEventHandleFuncListMap */flyCameraControllerRecord[/* pointDragDropEventHandleFuncListMap */2],
/* pointDragOverEventHandleFuncListMap */flyCameraControllerRecord[/* pointDragOverEventHandleFuncListMap */3],
/* pointScaleEventHandleFuncListMap */flyCameraControllerRecord[/* pointScaleEventHandleFuncListMap */4],
/* keydownEventHandleFuncListMap */flyCameraControllerRecord[/* keydownEventHandleFuncListMap */5],
/* keyupEventHandleFuncListMap */flyCameraControllerRecord[/* keyupEventHandleFuncListMap */6],
/* moveSpeedMap */flyCameraControllerRecord[/* moveSpeedMap */7],
/* wheelSpeedMap */flyCameraControllerRecord[/* wheelSpeedMap */8],
/* rotateSpeedMap */flyCameraControllerRecord[/* rotateSpeedMap */9],
/* eulerAngleDiffMap */flyCameraControllerRecord[/* eulerAngleDiffMap */10],
/* translationDiffMap */flyCameraControllerRecord[/* translationDiffMap */11],
/* gameObjectMap */flyCameraControllerRecord[/* gameObjectMap */12],
/* disposedIndexArray */flyCameraControllerRecord[/* disposedIndexArray */13].concat(cameraControllerArray),
/* directionArrayMap */flyCameraControllerRecord[/* directionArrayMap */14],
/* localEulerAngleMap */flyCameraControllerRecord[/* localEulerAngleMap */15]
];
return ArrayService$WonderCommonlib.reduceOneParam((function (state, cameraController) {
return _disposeData(cameraController, state);
}), newrecord, cameraControllerArray);
}
exports.isAlive = isAlive;
exports._disposeData = _disposeData;
exports.handleBatchDisposeComponent = handleBatchDisposeComponent;
/* Contract-WonderLog Not a pure module */