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,11 @@
import { type GameDefinition } from '../core/gameDefinition'
import { type GameEvent } from '../core/gameEvent'
import { type GameResult } from '../core/gameResult'
import { type GameSessionState } from '../core/gameSessionState'
export interface RulePlugin {
readonly mode: GameDefinition['mode']
initialize(definition: GameDefinition): GameSessionState
buildPresentation(definition: GameDefinition, state: GameSessionState): GameResult['presentation']
reduce(definition: GameDefinition, state: GameSessionState, event: GameEvent): GameResult
}