36 lines
717 B
JavaScript
36 lines
717 B
JavaScript
|
export class EventManager {
|
||
|
map;
|
||
|
ui;
|
||
|
gameobj;
|
||
|
floormanager;
|
||
|
|
||
|
events = new Map([]);
|
||
|
|
||
|
constructor(map, ui, gameobj) {
|
||
|
this.map = map;
|
||
|
this.ui = ui;
|
||
|
this.ui.eventmanager = this;
|
||
|
this.gameobj = gameobj;
|
||
|
}
|
||
|
|
||
|
async getFloorEvents() {
|
||
|
let floorEventsReqSend = fetch(
|
||
|
`/data/${this.floormanager.lang}/events/${this.floormanager.currentFloor}`
|
||
|
);
|
||
|
|
||
|
this.ui.setLoading(true);
|
||
|
|
||
|
let floorEventsReq = await floorEventsReqSend;
|
||
|
let floorEvents;
|
||
|
if (floorEventsReq.ok) floorEvents = await floorEventsReq.json();
|
||
|
|
||
|
this.events.clear();
|
||
|
|
||
|
floorEvents.forEach((event) => this.events.set(event.id, event));
|
||
|
|
||
|
this.ui.setLoading(false);
|
||
|
|
||
|
return this.events;
|
||
|
}
|
||
|
}
|