scoreManager implemented flawlessly

This commit is contained in:
2025-10-19 15:29:01 +01:00
parent 07f218f4dd
commit a6f066d738
9 changed files with 316 additions and 3 deletions
+33
View File
@@ -0,0 +1,33 @@
import { useEffect, useRef } from "react";
import type { UseTimerReturn } from "./useTimer";
import type { GameStatus } from "../types";
type UseScoreTimeParams = {
gameStatus: GameStatus;
timer: UseTimerReturn;
};
export function useScoreTime({ gameStatus, timer }: UseScoreTimeParams) {
const prevStatusRef = useRef<GameStatus | null>(null);
const { startTimer, stopTimer, resetTimer } = timer;
useEffect(() => {
prevStatusRef.current = gameStatus;
switch (gameStatus) {
case "started":
resetTimer();
startTimer();
break;
case "has-key":
break;
case "game-over":
case "game-won":
case "waiting":
stopTimer();
break;
}
}, [gameStatus]);
}