@hiddentao/clockwork-engine
Version:
A TypeScript/PIXI.js game engine for deterministic, replayable games with built-in rendering
43 lines • 1.5 kB
TypeScript
import type { GameEventManager } from "./GameEventManager";
import type { AnyGameEvent, GameConfig, GameRecording } from "./types";
export declare class GameRecorder {
protected recording: GameRecording | null;
protected isRecording: boolean;
protected eventManager: GameEventManager | null;
protected deltaTicks: number[];
protected totalTicks: number;
/**
* Start recording a game session
* Begins recording from the current event manager
*/
startRecording(eventManager: GameEventManager, gameConfig: GameConfig, descriptionOrMetadata?: string | Record<string, any>, additionalMetadata?: Record<string, any>): void;
/**
* Record any game event
* Only records if currently recording
*/
recordEvent(event: AnyGameEvent): void;
/**
* Record tick update with deltaTicks and totalTicks
* Only records if currently recording
*/
recordFrameUpdate(deltaTicks: number, totalTicks: number): void;
/**
* Stop recording
* Recording data remains available via getCurrentRecording()
*/
stopRecording(): void;
/**
* Check if currently recording
*/
isCurrentlyRecording(): boolean;
/**
* Get the current recording (without stopping it)
* Useful for inspecting recording state
*/
getCurrentRecording(): GameRecording | null;
/**
* Reset the recorder, clearing any existing recording
*/
reset(): void;
}
//# sourceMappingURL=GameRecorder.d.ts.map