v0.1.0: 仙途家族志 · Chronicle of the Immortal Clan
家族模拟器首版:修仙/经营/战斗/外交/叙事全套系统 - Electron + React + TS + MetonaSqlark(aria+OPFS) - 水墨中国风 UI - 引擎种子随机、确定性可回放 - 19 项单元测试、端到端冒烟验证
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
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)
|
||||
}
|
||||
Reference in New Issue
Block a user