feat(screen): remove useUpdate callback and add delta time to useRender
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
<script lang="ts" setup>
|
||||
const canvas = useTemplateRef("canvas");
|
||||
|
||||
const updateCallbacks = new Set<UpdateCallback>();
|
||||
const renderCallbacks = new Set<RenderCallback>();
|
||||
const screenClickCallbacks = new Set<ScreenClickCallback>();
|
||||
const screenMouseWheelCallbacks = new Set<ScreenMouseWheelCallback>();
|
||||
@@ -11,11 +10,6 @@ let animationFrameId: number | null = null;
|
||||
let lastFrameTime = 0;
|
||||
let lastRealFrameTime = 0;
|
||||
|
||||
const registerUpdateCallback = (callback: UpdateCallback) => {
|
||||
updateCallbacks.add(callback);
|
||||
return () => updateCallbacks.delete(callback);
|
||||
};
|
||||
|
||||
const registerRenderCallback = (callback: RenderCallback) => {
|
||||
renderCallbacks.add(callback);
|
||||
return () => renderCallbacks.delete(callback);
|
||||
@@ -62,18 +56,13 @@ const renderFrame = (timestamp: number) => {
|
||||
|
||||
const start = Date.now();
|
||||
|
||||
// update
|
||||
for (const callback of updateCallbacks) {
|
||||
callback(deltaTime, lastRealFrameTime);
|
||||
}
|
||||
|
||||
// render
|
||||
ctx.clearRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||
|
||||
for (const callback of renderCallbacks) {
|
||||
ctx.save();
|
||||
|
||||
callback(ctx);
|
||||
callback(ctx, deltaTime, lastRealFrameTime);
|
||||
|
||||
ctx.restore();
|
||||
}
|
||||
@@ -83,7 +72,6 @@ const renderFrame = (timestamp: number) => {
|
||||
animationFrameId = requestAnimationFrame(renderFrame);
|
||||
};
|
||||
|
||||
provide("registerUpdateCallback", registerUpdateCallback);
|
||||
provide("registerRenderCallback", registerRenderCallback);
|
||||
provide("registerScreenClickCallback", registerScreenClickCallback);
|
||||
provide("registerScreenMouseWheelCallback", registerScreenMouseWheelCallback);
|
||||
|
||||
Reference in New Issue
Block a user