| 1234567891011121314151617181920212223242526272829303132333435363738 |
- import { type LonLatPoint } from '../../utils/projection'
- import { type GameAudioConfig } from '../audio/audioConfig'
- export type GameMode = 'classic-sequential' | 'score-o'
- export type GameControlKind = 'start' | 'control' | 'finish'
- export type PunchPolicyType = 'enter' | 'enter-confirm'
- export interface GameControlDisplayContent {
- title: string
- body: string
- }
- export interface GameControl {
- id: string
- code: string
- label: string
- kind: GameControlKind
- point: LonLatPoint
- sequence: number | null
- score: number | null
- displayContent: GameControlDisplayContent | null
- }
- export interface GameDefinition {
- id: string
- mode: GameMode
- title: string
- controlRadiusMeters: number
- punchRadiusMeters: number
- punchPolicy: PunchPolicyType
- requiresFocusSelection: boolean
- skipEnabled: boolean
- skipRadiusMeters: number
- skipRequiresConfirm: boolean
- controls: GameControl[]
- autoFinishOnLastControl: boolean
- audioConfig?: GameAudioConfig
- }
|