UNPKG

@erikyuzwa/rogue-punk

Version:

a JavaScript library to help you build your roguelike adventures

29 lines (28 loc) 689 B
import { Glyph } from './Glyph'; export class Emitter extends Glyph { constructor(options) { super(options); this.name = options.name || ''; this.listeners = {}; } setName(name) { this.name = name; } getName() { return this.name; } toString() { return this.name; } raiseEvent(event) { if (!this.listeners[event]) { return; } const args = Array.prototype.slice.call(arguments, 1); const results = []; for (const i in this.listeners[event]) { results.push(this.listeners[event][i].apply(this, args)); } return results; } }