Add configurable game flow, finish punching, and audio cues

This commit is contained in:
2026-03-23 19:35:17 +08:00
parent 3b4b3ee3ec
commit 48159be900
23 changed files with 1620 additions and 68 deletions

View File

@@ -0,0 +1,39 @@
export interface GamePresentationState {
activeControlIds: string[]
activeControlSequences: number[]
activeStart: boolean
completedStart: boolean
activeFinish: boolean
completedFinish: boolean
revealFullCourse: boolean
activeLegIndices: number[]
completedLegIndices: number[]
completedControlIds: string[]
completedControlSequences: number[]
progressText: string
punchableControlId: string | null
punchButtonEnabled: boolean
punchButtonText: string
punchHintText: string
}
export const EMPTY_GAME_PRESENTATION_STATE: GamePresentationState = {
activeControlIds: [],
activeControlSequences: [],
activeStart: false,
completedStart: false,
activeFinish: false,
completedFinish: false,
revealFullCourse: false,
activeLegIndices: [],
completedLegIndices: [],
completedControlIds: [],
completedControlSequences: [],
progressText: '0/0',
punchableControlId: null,
punchButtonEnabled: false,
punchButtonText: '打点',
punchHintText: '等待进入检查点范围',
}