Newer
Older
rpg / apps / game / src / testing / gameState.ts
import type { GameState } from '@rpg/engine';

/**
 * Фейковый GameState: флаги и вар-числа в памяти (без DOM и сейвов).
 * Импортировать только из *.test.ts.
 */
export function fakeState(): GameState {
    const flags = new Set<string>();
    const vars = new Map<string, number>();
    return {
        setFlag: (f: string) => void flags.add(f),
        hasFlag: (f: string) => flags.has(f),
        clearFlag: (f: string) => void flags.delete(f),
        setVar: (k: string, v: number) => void vars.set(k, Number(v)),
        getNumber: (k: string) => vars.get(k) ?? 0
    } as unknown as GameState;
}