25 lines
761 B
TypeScript
25 lines
761 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: '0.1.38'
|
|
}
|
|
}
|
|
|
|
export async function updateSlotMeta(slot: number, meta: SaveMeta): Promise<void> {
|
|
const manager = getSlotManager()
|
|
await manager.updateSlotMeta(slot, meta)
|
|
}
|