UNPKG

@hiddentao/clockwork-engine

Version:

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

25 lines (24 loc) 628 B
export class EventEmitter { constructor() { this.listeners = {}; } on(event, callback) { if (!this.listeners[event]) { this.listeners[event] = new Set(); } this.listeners[event]?.add(callback); } off(event, callback) { this.listeners[event]?.delete(callback); } emit(event, ...args) { this.listeners[event]?.forEach((callback) => callback(...args)); } clearListeners() { for (const key in this.listeners) { if (this.listeners[key]) { this.listeners[key]?.clear(); } } } }