@hiddentao/clockwork-engine
Version:
A TypeScript/PIXI.js game engine for deterministic, replayable games with built-in rendering
45 lines • 1.1 kB
TypeScript
export declare enum GameState {
READY = "READY",
PLAYING = "PLAYING",
PAUSED = "PAUSED",
ENDED = "ENDED"
}
export declare enum GameEventType {
USER_INPUT = "USER_INPUT",
OBJECT_UPDATE = "OBJECT_UPDATE"
}
export interface GameEvent {
type: GameEventType;
tick: number;
timestamp: number;
}
export interface UserInputEvent extends GameEvent {
type: GameEventType.USER_INPUT;
inputType: string;
params: any;
}
export interface ObjectUpdateEvent extends GameEvent {
type: GameEventType.OBJECT_UPDATE;
objectType: string;
objectId: string;
method: string;
params: any;
}
export interface GameRecording {
gameConfig: GameConfig;
events: GameEvent[];
deltaTicks: number[];
totalTicks: number;
metadata?: {
createdAt: number;
version?: string;
description?: string;
[key: string]: any;
};
}
export type AnyGameEvent = UserInputEvent | ObjectUpdateEvent;
export interface GameConfig {
prngSeed?: string;
gameSpecific?: Record<string, any>;
}
//# sourceMappingURL=types.d.ts.map