wonder.js
Version:
63 lines (57 loc) • 3.45 kB
JavaScript
'use strict';
var Contract$WonderLog = require("wonder-log/lib/js/src/Contract.js");
var StateDataMain$Wonderjs = require("../../../../state/main/data/StateDataMain.js");
var IsDebugMainService$Wonderjs = require("../../../../state/main/state/IsDebugMainService.js");
var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js");
var DisposeComponentService$Wonderjs = require("../../../../primitive/component/DisposeComponentService.js");
var DisposeTypeArrayService$Wonderjs = require("../../../../primitive/buffer/DisposeTypeArrayService.js");
var RenderLightArrLightService$Wonderjs = require("../RenderLightArrLightService.js");
var BufferDirectionLightService$Wonderjs = require("./BufferDirectionLightService.js");
var RecordDirectionLightMainService$Wonderjs = require("../../../../state/main/light/direction/RecordDirectionLightMainService.js");
function isAlive(light, param) {
return DisposeComponentService$Wonderjs.isAlive(light, param[/* disposedIndexArray */6]);
}
function _disposeData(light, record) {
return /* record */[
/* index */record[/* index */0],
/* buffer */record[/* buffer */1],
/* colors */DisposeTypeArrayService$Wonderjs.deleteAndResetFloat32TypeArr(BufferDirectionLightService$Wonderjs.getColorIndex(light), BufferDirectionLightService$Wonderjs.getColorsSize(/* () */0), RecordDirectionLightMainService$Wonderjs.getDefaultColor(/* () */0), record[/* colors */2]),
/* intensities */DisposeTypeArrayService$Wonderjs.deleteAndResetFloat32(BufferDirectionLightService$Wonderjs.getIntensityIndex(light), RecordDirectionLightMainService$Wonderjs.getDefaultIntensity(/* () */0), record[/* intensities */3]),
/* renderLightArr */RenderLightArrLightService$Wonderjs.removeFromRenderLightArr(light, record[/* renderLightArr */4]),
/* gameObjectMap */DisposeComponentService$Wonderjs.disposeSparseMapData(light, record[/* gameObjectMap */5]),
/* disposedIndexArray */record[/* disposedIndexArray */6]
];
}
function handleBatchDisposeComponent(lightArray, record) {
Contract$WonderLog.requireCheck((function (param) {
return DisposeComponentService$Wonderjs.checkComponentShouldAliveWithBatchDispose(lightArray, isAlive, record);
}), IsDebugMainService$Wonderjs.getIsDebug(StateDataMain$Wonderjs.stateData));
var match = lightArray.length;
if (match !== 0) {
var record_000 = /* index */record[/* index */0];
var record_001 = /* buffer */record[/* buffer */1];
var record_002 = /* colors */record[/* colors */2];
var record_003 = /* intensities */record[/* intensities */3];
var record_004 = /* renderLightArr */record[/* renderLightArr */4];
var record_005 = /* gameObjectMap */record[/* gameObjectMap */5];
var record_006 = /* disposedIndexArray */record[/* disposedIndexArray */6].concat(lightArray);
var record$1 = /* record */[
record_000,
record_001,
record_002,
record_003,
record_004,
record_005,
record_006
];
return ArrayService$WonderCommonlib.reduceOneParam((function (record, light) {
return _disposeData(light, record);
}), record$1, lightArray);
} else {
return record;
}
}
exports.isAlive = isAlive;
exports._disposeData = _disposeData;
exports.handleBatchDisposeComponent = handleBatchDisposeComponent;
/* Contract-WonderLog Not a pure module */