fix(qualification): reset lane on restart and show whole-second countdown
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
parent
9f35dc7ddd
commit
420bd1f411
1 changed files with 5 additions and 8 deletions
|
|
@ -325,9 +325,9 @@ export function AimTrainerGame({
|
|||
}, [resetToReady, startGame]);
|
||||
|
||||
const handleRestartAction = useCallback(() => {
|
||||
if (phaseRef.current !== "playing") return;
|
||||
startGame();
|
||||
}, [startGame]);
|
||||
if (phaseRef.current === "ready") return;
|
||||
resetToReady();
|
||||
}, [resetToReady]);
|
||||
|
||||
const handleShot = useCallback(
|
||||
(event: PointerEvent<HTMLCanvasElement>) => {
|
||||
|
|
@ -458,10 +458,7 @@ export function AimTrainerGame({
|
|||
if (remaining === 0) {
|
||||
finish();
|
||||
} else {
|
||||
const displayedSecond =
|
||||
remaining <= FINAL_COUNTDOWN_WINDOW_MS
|
||||
? Math.ceil(remaining / 1000)
|
||||
: COURSE_DURATION_SECONDS;
|
||||
const displayedSecond = Math.ceil(remaining / 1000);
|
||||
if (displayedSecond !== game.lastDisplayedSecond) {
|
||||
game.lastDisplayedSecond = displayedSecond;
|
||||
setTimerSeconds(displayedSecond);
|
||||
|
|
@ -728,7 +725,7 @@ export function AimTrainerGame({
|
|||
</div>
|
||||
<div className="text-xs text-muted-foreground">
|
||||
Headshots score {HEADSHOT_POINTS} · torso hits score {TORSO_POINTS} · civilians cost{" "}
|
||||
{CIVILIAN_PENALTY}. Press R to restart the lane.
|
||||
{CIVILIAN_PENALTY}. Press R to reset the lane.
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
|
|
|
|||
Loading…
Reference in a new issue