@erikyuzwa/rogue-punk
Version:
a JavaScript library to help you build your roguelike adventures
29 lines (28 loc) • 689 B
JavaScript
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;
}
}