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 (
); }