Files
pihkaal-me/app/composables/useRender.ts

23 lines
579 B
TypeScript

export type RenderCallback = (
ctx: CanvasRenderingContext2D,
deltaTime: number,
realDeltaTime: number,
) => void;
export const useRender = (callback: RenderCallback) => {
const registerRenderCallback = inject<
(callback: RenderCallback) => () => void
>("registerRenderCallback");
onMounted(() => {
if (!registerRenderCallback) {
throw new Error(
"Missing registerRenderCallback - useRender must be used within a Screen component",
);
}
const unregister = registerRenderCallback(callback);
onUnmounted(unregister);
});
};