v0.1.0: 仙途家族志 · Chronicle of the Immortal Clan
家族模拟器首版:修仙/经营/战斗/外交/叙事全套系统 - Electron + React + TS + MetonaSqlark(aria+OPFS) - 水墨中国风 UI - 引擎种子随机、确定性可回放 - 19 项单元测试、端到端冒烟验证
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
import { useEffect } from 'react'
|
||||
import { useGameStore } from './ui/store'
|
||||
import Boot from './ui/screens/Boot'
|
||||
import NewGame from './ui/screens/NewGame'
|
||||
import GameScreen from './ui/screens/GameScreen'
|
||||
import { EventModal } from './ui/components/EventModal'
|
||||
import { BattleModal } from './ui/components/BattleModal'
|
||||
|
||||
export default function App() {
|
||||
const screen = useGameStore((s) => s.screen)
|
||||
const pendingEventId = useGameStore((s) => s.pendingEventId)
|
||||
const battleView = useGameStore((s) => s.battleView)
|
||||
|
||||
useEffect(() => {
|
||||
useGameStore.getState().init()
|
||||
}, [])
|
||||
|
||||
return (
|
||||
<div className="app">
|
||||
{screen === 'boot' && <Boot />}
|
||||
{screen === 'newgame' && <NewGame />}
|
||||
{screen === 'game' && <GameScreen />}
|
||||
{pendingEventId && <EventModal />}
|
||||
{battleView && <BattleModal />}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user