chore(release): 0.2.5
[risinglegends.git] / src / client / events.ts
1 export class CustomEventManager {
2   events: Record<string, any[]>;
3   constructor() {
4     this.events = {};
5   }
6
7   on(eventName: string, handler: any) {
8     if(!this.events[eventName]) {
9       this.events[eventName] = [];
10     }
11
12     this.events[eventName].push(handler);
13   }
14
15   emit(eventName: string, args: any[] = []) {
16     if(this.events[eventName]) {
17       this.events[eventName].forEach(h => h.apply(null, args));
18     }
19   }
20 }