import { h } from 'preact'; import { PhaserGame, PhaserScene } from 'boardgame-phaser'; import { useMemo } from 'preact/hooks'; import { IndexScene } from '@/scenes/IndexScene'; import { MapViewerScene } from '@/scenes/MapViewerScene'; import { GridViewerScene } from '@/scenes/GridViewerScene'; import { ShapeViewerScene } from '@/scenes/ShapeViewerScene'; import { GameFlowScene } from '@/scenes/GameFlowScene'; import { PlaceholderEncounterScene } from '@/scenes/PlaceholderEncounterScene'; import { createGameState } from '@/state/gameState'; // 全局游戏状态单例 const gameState = createGameState(); export default function App() { const indexScene = useMemo(() => new IndexScene(), []); const mapViewerScene = useMemo(() => new MapViewerScene(), []); const gridViewerScene = useMemo(() => new GridViewerScene(), []); const shapeViewerScene = useMemo(() => new ShapeViewerScene(), []); const gameFlowScene = useMemo(() => new GameFlowScene(gameState), []); const placeholderEncounterScene = useMemo(() => new PlaceholderEncounterScene(gameState), []); return (
); }