UNPKG

wonder.js

Version:
57 lines (50 loc) 3.78 kB
'use strict'; var Caml_option = require("bs-platform/lib/js/caml_option.js"); var MostUtils$Wonderjs = require("../../../../asset/utils/MostUtils.js"); var WorkerService$Wonderjs = require("../../../../service/primitive/worker/WorkerService.js"); var JobConfigUtils$Wonderjs = require("../../utils/JobConfigUtils.js"); var DisposeJobUtils$Wonderjs = require("../../../utils/DisposeJobUtils.js"); var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js"); var StateDataMainService$Wonderjs = require("../../../../service/state/main/state/StateDataMainService.js"); var WorkerInstanceService$Wonderjs = require("../../../../service/record/main/workerInstance/WorkerInstanceService.js"); var DisposeTextureMainService$Wonderjs = require("../../../../service/state/main/texture/DisposeTextureMainService.js"); var RecordBasicSourceTextureMainService$Wonderjs = require("../../../../service/state/main/texture/source/basic_source/RecordBasicSourceTextureMainService.js"); var DisposeComponentGameObjectMainService$Wonderjs = require("../../../../service/state/main/gameObject/DisposeComponentGameObjectMainService.js"); var RecordArrayBufferViewSourceTextureMainService$Wonderjs = require("../../../../service/state/main/texture/source/arrayBufferView_source/RecordArrayBufferViewSourceTextureMainService.js"); function _buildData(operateType, param) { return { operateType: operateType, geometryNeedDisposeVboBufferArr: param[0], sourceInstanceNeedDisposeVboBufferArr: param[1], needDisposedBasicSourceTextureIndexArray: param[2], needDisposedArrayBufferViewTextureIndexArray: param[3] }; } function _sendDisposeData(operateType, needDisposeVboBufferArrTuple, state) { return WorkerService$Wonderjs.postMessage(_buildData(operateType, needDisposeVboBufferArrTuple), WorkerInstanceService$Wonderjs.unsafeGetRenderWorker(state[/* workerInstanceRecord */39])); } var _clearData = DisposeTextureMainService$Wonderjs.clearNeedDisposedTextureIndexArray; function execJob(flags, stateData) { return MostUtils$Wonderjs.callFunc((function (param) { var state = StateDataMainService$Wonderjs.unsafeGetState(stateData); var operateType = JobConfigUtils$Wonderjs.getOperateType(flags); var match = DisposeJobUtils$Wonderjs.execJob(DisposeComponentGameObjectMainService$Wonderjs.batchDisposeBasicMaterialComponentDataForWorker, DisposeComponentGameObjectMainService$Wonderjs.batchDisposeLightMaterialComponentDataForWorker, state); var state$1 = match[0]; var needDisposedBasicSourceTextureIndexArray = ArrayService$WonderCommonlib.removeDuplicateItems(RecordBasicSourceTextureMainService$Wonderjs.getRecord(state$1)[/* needDisposedTextureIndexArray */14]); var needDisposedArrayBufferViewTextureIndexArray = ArrayService$WonderCommonlib.removeDuplicateItems(RecordArrayBufferViewSourceTextureMainService$Wonderjs.getRecord(state$1)[/* needDisposedTextureIndexArray */16]); _sendDisposeData(operateType, /* tuple */[ match[1], match[2], needDisposedBasicSourceTextureIndexArray, needDisposedArrayBufferViewTextureIndexArray ], state$1); var state$2 = DisposeTextureMainService$Wonderjs.clearNeedDisposedTextureIndexArray(state$1); StateDataMainService$Wonderjs.setState(stateData, state$2); return Caml_option.some(operateType); })); } exports._buildData = _buildData; exports._sendDisposeData = _sendDisposeData; exports._clearData = _clearData; exports.execJob = execJob; /* MostUtils-Wonderjs Not a pure module */