37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
export const makeInternalState = () => {
|
|
let drawnPrecomposedPixels = 0;
|
|
let precomposedTextures = 0;
|
|
let waitForReadyTime = 0;
|
|
let addSampleTime = 0;
|
|
let createFrameTime = 0;
|
|
const helperCanvasState = {
|
|
current: null,
|
|
};
|
|
return {
|
|
getDrawn3dPixels: () => drawnPrecomposedPixels,
|
|
getPrecomposedTiles: () => precomposedTextures,
|
|
addPrecompose: ({ canvasWidth, canvasHeight, }) => {
|
|
drawnPrecomposedPixels += canvasWidth * canvasHeight;
|
|
precomposedTextures++;
|
|
},
|
|
helperCanvasState,
|
|
cleanup: () => {
|
|
if (helperCanvasState.current) {
|
|
helperCanvasState.current.cleanup();
|
|
}
|
|
},
|
|
getWaitForReadyTime: () => waitForReadyTime,
|
|
addWaitForReadyTime: (time) => {
|
|
waitForReadyTime += time;
|
|
},
|
|
getAddSampleTime: () => addSampleTime,
|
|
addAddSampleTime: (time) => {
|
|
addSampleTime += time;
|
|
},
|
|
getCreateFrameTime: () => createFrameTime,
|
|
addCreateFrameTime: (time) => {
|
|
createFrameTime += time;
|
|
},
|
|
};
|
|
};
|