refactor: misc
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import Phaser from 'phaser';
|
||||
import { effect, type ReadonlySignal } from '@preact/signals-core';
|
||||
import { effect } from '@preact/signals-core';
|
||||
import type { GameHost } from 'boardgame-core';
|
||||
import { DisposableBag, type IDisposable } from '../utils';
|
||||
|
||||
@@ -14,7 +14,10 @@ export abstract class GameHostScene<TState extends Record<string, unknown>>
|
||||
implements IDisposable
|
||||
{
|
||||
protected disposables = new DisposableBag();
|
||||
protected gameHost!: GameHost<TState>;
|
||||
private _gameHost!: GameHost<TState>;
|
||||
public get gameHost(): GameHost<TState> {
|
||||
return this._gameHost;
|
||||
}
|
||||
|
||||
addInterruption(promise: Promise<void>){
|
||||
this.gameHost?.addInterruption(promise);
|
||||
@@ -27,7 +30,7 @@ export abstract class GameHostScene<TState extends Record<string, unknown>>
|
||||
}
|
||||
|
||||
init(data: GameHostSceneOptions<TState>): void {
|
||||
this.gameHost = data.gameHost;
|
||||
this._gameHost = data.gameHost;
|
||||
}
|
||||
|
||||
create(): void {
|
||||
@@ -43,8 +46,11 @@ export abstract class GameHostScene<TState extends Record<string, unknown>>
|
||||
return this.gameHost.state.value;
|
||||
}
|
||||
|
||||
public addDisposable(disposable: IDisposable){
|
||||
this.disposables.add(disposable);
|
||||
}
|
||||
/** 注册响应式监听(场景关闭时自动清理) */
|
||||
protected watch(fn: () => CleanupFn): void {
|
||||
public addEffect(fn: () => CleanupFn): void {
|
||||
this.disposables.add(effect(fn));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user