Files
ChronicleOfTheImmortalClan/src/renderer/ui/storeHelper.ts
T
thzxx adb22f0558 v0.1.0: 仙途家族志 · Chronicle of the Immortal Clan
家族模拟器首版:修仙/经营/战斗/外交/叙事全套系统
- Electron + React + TS + MetonaSqlark(aria+OPFS)
- 水墨中国风 UI
- 引擎种子随机、确定性可回放
- 19 项单元测试、端到端冒烟验证
2026-08-23 00:04:16 +08:00

25 lines
772 B
TypeScript

import { GameState, SaveMeta } from '../game/types/domain'
import { getSlotManager } from '../game/storage/db'
export function metaFromState(state: GameState, slot: number): SaveMeta {
const alive = Object.values(state.members).filter((c) => c.alive).length
return {
slot,
surname: state.family.surname,
name: state.family.name,
estate: state.family.estate,
year: state.year,
month: state.month,
generation: state.family.generation,
members: alive,
reputation: state.family.reputation,
updatedAt: new Date().toISOString(),
version: state.schemaVersion
}
}
export async function updateSlotMeta(slot: number, meta: SaveMeta): Promise<void> {
const manager = getSlotManager()
await manager.updateSlotMeta(slot, meta)
}