32 lines
732 B
TypeScript
32 lines
732 B
TypeScript
import { type LonLatPoint } from '../../utils/projection'
|
|
|
|
export type GameMode = 'classic-sequential'
|
|
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
|
|
displayContent: GameControlDisplayContent | null
|
|
}
|
|
|
|
export interface GameDefinition {
|
|
id: string
|
|
mode: GameMode
|
|
title: string
|
|
controlRadiusMeters: number
|
|
punchRadiusMeters: number
|
|
punchPolicy: PunchPolicyType
|
|
controls: GameControl[]
|
|
autoFinishOnLastControl: boolean
|
|
}
|