UNPKG

@hiddentao/clockwork-engine

Version:

A TypeScript/PIXI.js game engine for deterministic, replayable games with built-in rendering

40 lines (39 loc) 867 B
/** * Event Callback Manager * * Utility class for managing event callbacks with type safety. * Eliminates duplicate callback array management across platform layers. */ export class EventCallbackManager { constructor() { this.callbacks = []; } /** * Register a new event callback */ register(callback) { if (!this.callbacks.includes(callback)) { this.callbacks.push(callback); } } /** * Trigger all registered callbacks with an event */ trigger(event) { for (const callback of this.callbacks) { callback(event); } } /** * Clear all registered callbacks */ clear() { this.callbacks = []; } /** * Get the number of registered callbacks */ get count() { return this.callbacks.length; } }