feat(save): persist action queue in v1 save payload
This commit is contained in:
@@ -44,6 +44,15 @@ describe('createSave()', () => {
|
||||
state.resources.gold = 999;
|
||||
expect(save.state.resources.gold).toBe(12);
|
||||
});
|
||||
|
||||
it('snapshots actionQueue in save payload', () => {
|
||||
const state = sampleState();
|
||||
state.actionQueue = ['forage', 'forage'];
|
||||
const save = createSave(state, 1700);
|
||||
expect(save.state.actionQueue).toEqual(['forage', 'forage']);
|
||||
state.actionQueue.push('forage');
|
||||
expect(save.state.actionQueue).toEqual(['forage', 'forage']);
|
||||
});
|
||||
});
|
||||
|
||||
describe('serialize / deserialize round-trip', () => {
|
||||
|
||||
@@ -28,6 +28,7 @@ export const gameStateSchema = z.object({
|
||||
resources: z.record(z.string(), z.number()),
|
||||
activeActionId: z.string().nullable(),
|
||||
actionElapsedMs: z.number().nonnegative(),
|
||||
actionQueue: z.array(z.string()).default([]),
|
||||
});
|
||||
|
||||
export const saveSchema = z.object({
|
||||
@@ -47,6 +48,7 @@ export function createSave(state: GameState, now: number): SaveData {
|
||||
resources: { ...state.resources },
|
||||
activeActionId: state.activeActionId,
|
||||
actionElapsedMs: state.actionElapsedMs,
|
||||
actionQueue: [...state.actionQueue],
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user