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]);
|
}, [resetToReady, startGame]);
|
||||||
|
|
||||||
const handleRestartAction = useCallback(() => {
|
const handleRestartAction = useCallback(() => {
|
||||||
if (phaseRef.current !== "playing") return;
|
if (phaseRef.current === "ready") return;
|
||||||
startGame();
|
resetToReady();
|
||||||
}, [startGame]);
|
}, [resetToReady]);
|
||||||
|
|
||||||
const handleShot = useCallback(
|
const handleShot = useCallback(
|
||||||
(event: PointerEvent<HTMLCanvasElement>) => {
|
(event: PointerEvent<HTMLCanvasElement>) => {
|
||||||
|
|
@ -458,10 +458,7 @@ export function AimTrainerGame({
|
||||||
if (remaining === 0) {
|
if (remaining === 0) {
|
||||||
finish();
|
finish();
|
||||||
} else {
|
} else {
|
||||||
const displayedSecond =
|
const displayedSecond = Math.ceil(remaining / 1000);
|
||||||
remaining <= FINAL_COUNTDOWN_WINDOW_MS
|
|
||||||
? Math.ceil(remaining / 1000)
|
|
||||||
: COURSE_DURATION_SECONDS;
|
|
||||||
if (displayedSecond !== game.lastDisplayedSecond) {
|
if (displayedSecond !== game.lastDisplayedSecond) {
|
||||||
game.lastDisplayedSecond = displayedSecond;
|
game.lastDisplayedSecond = displayedSecond;
|
||||||
setTimerSeconds(displayedSecond);
|
setTimerSeconds(displayedSecond);
|
||||||
|
|
@ -728,7 +725,7 @@ export function AimTrainerGame({
|
||||||
</div>
|
</div>
|
||||||
<div className="text-xs text-muted-foreground">
|
<div className="text-xs text-muted-foreground">
|
||||||
Headshots score {HEADSHOT_POINTS} · torso hits score {TORSO_POINTS} · civilians cost{" "}
|
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>
|
</div>
|
||||||
</CardContent>
|
</CardContent>
|
||||||
</Card>
|
</Card>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue