import type { GameHost } from 'boardgame-core'; import { ReactiveScene } from './ReactiveScene'; export interface GameHostSceneOptions> { gameHost: GameHost; [key: string]: unknown; } export abstract class GameHostScene> extends ReactiveScene> { public get gameHost(): GameHost { return this.initData.gameHost as GameHost; } public get state(): TState { return this.gameHost?.state.value; } addInterruption(promise: Promise){ this.gameHost?.addInterruption(promise); } addTweenInterruption(tween: Phaser.Tweens.Tween){ this.addInterruption(new Promise( resolve => tween.once('complete', resolve) )); } }