refactor: simplify CombatTestScene instantiation in App

Remove manual instantiation of CombatTestScene in favor of passing
the class directly to PhaserScene, allowing the framework to handle
scene lifecycle.
This commit is contained in:
hypercross 2026-04-22 00:56:45 +08:00
parent 887da22baa
commit a181932fb3
1 changed files with 1 additions and 6 deletions

View File

@ -12,7 +12,6 @@ import { createCombatState } from "@/state/combatState";
import type { CombatState } from "boardgame-core/samples/slay-the-spire-like"; import type { CombatState } from "boardgame-core/samples/slay-the-spire-like";
export default function App() { export default function App() {
const combatScene = useMemo(() => new CombatTestScene(), []);
const gameHost = useMemo( const gameHost = useMemo(
() => createGameHost(createCombatState() as GameModule<CombatState>), () => createGameHost(createCombatState() as GameModule<CombatState>),
[], [],
@ -23,11 +22,7 @@ export default function App() {
<div className="flex-1 flex relative justify-center items-center"> <div className="flex-1 flex relative justify-center items-center">
<PhaserGame initialScene="IndexScene" config={GAME_CONFIG}> <PhaserGame initialScene="IndexScene" config={GAME_CONFIG}>
<PhaserScene scene={IndexScene} /> <PhaserScene scene={IndexScene} />
<PhaserScene <PhaserScene scene={CombatTestScene} data={{ gameHost }} />
sceneKey="CombatTestScene"
scene={combatScene}
data={{ gameHost }}
/>
<PhaserScene scene={InventoryTestScene} /> <PhaserScene scene={InventoryTestScene} />
<PhaserScene scene={MapViewerScene} /> <PhaserScene scene={MapViewerScene} />
<PhaserScene scene={GridViewerScene} /> <PhaserScene scene={GridViewerScene} />