18 lines
901 B
TypeScript
18 lines
901 B
TypeScript
import { type GameSessionState, type GuidanceState } from './gameSessionState'
|
|
import { type GamePresentationState } from '../presentation/presentationState'
|
|
|
|
export type GameEffect =
|
|
| { type: 'session_started' }
|
|
| { type: 'session_cancelled' }
|
|
| { type: 'punch_feedback'; text: string; tone: 'neutral' | 'success' | 'warning' }
|
|
| { type: 'control_completed'; controlId: string; controlKind: 'start' | 'control' | 'finish'; sequence: number | null; label: string; displayTitle: string; displayBody: string; displayAutoPopup: boolean; displayOnce: boolean; displayPriority: number; autoOpenQuiz: boolean }
|
|
| { type: 'guidance_state_changed'; guidanceState: GuidanceState; controlId: string | null }
|
|
| { type: 'session_finished' }
|
|
| { type: 'session_timed_out' }
|
|
|
|
export interface GameResult {
|
|
nextState: GameSessionState
|
|
presentation: GamePresentationState
|
|
effects: GameEffect[]
|
|
}
|