| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- import { type LonLatPoint } from '../../utils/projection'
- import { type GameAudioConfig } from '../audio/audioConfig'
- import { type H5ExperiencePresentation } from '../experience/h5Experience'
- export type GameMode = 'classic-sequential' | 'score-o'
- export type GameControlKind = 'start' | 'control' | 'finish'
- export type PunchPolicyType = 'enter' | 'enter-confirm'
- export interface GameContentExperienceConfig {
- type: 'native' | 'h5'
- url: string | null
- bridge: string
- fallback: 'native'
- presentation: H5ExperiencePresentation
- }
- export interface GameContentExperienceConfigOverride {
- type?: 'native' | 'h5'
- url?: string
- bridge?: string
- fallback?: 'native'
- presentation?: H5ExperiencePresentation
- }
- export interface GameControlDisplayContent {
- template: 'minimal' | 'story' | 'focus'
- title: string
- body: string
- autoPopup: boolean
- once: boolean
- priority: number
- clickTitle: string | null
- clickBody: string | null
- contentExperience: GameContentExperienceConfig | null
- clickExperience: GameContentExperienceConfig | null
- }
- export interface GameControlDisplayContentOverride {
- template?: 'minimal' | 'story' | 'focus'
- title?: string
- body?: string
- autoPopup?: boolean
- once?: boolean
- priority?: number
- clickTitle?: string
- clickBody?: string
- contentExperience?: GameContentExperienceConfigOverride
- clickExperience?: GameContentExperienceConfigOverride
- }
- 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
- }
|