import { AppKernel } from '../../../app/AppKernel'; export enum LaunchStateId { CheckVersion = 'CheckVersion', HotUpdate = 'HotUpdate', PreloadLobby = 'PreloadLobby', EnterLobby = 'EnterLobby', Complete = 'Complete', Failed = 'Failed', } export interface LaunchProgress { state: LaunchStateId; title?: string; progress?: number; } export interface LaunchDialog { title: string; message: string, lblOK?: string, lblCancel?: string, } export interface LaunchContext { readonly kernel: AppKernel; error: unknown; progress(value: LaunchProgress): void; dialog(message: LaunchDialog): Promise; totalProgress: number; } export interface LaunchState { readonly id: LaunchStateId; enter(context: LaunchContext): Promise; }