EventMapper/assets/scripts/KaplayMap/events.js
2024-06-04 17:54:40 -05:00

44 lines
No EOL
892 B
JavaScript

export class EventManager {
map;
ui;
gameobj;
floormanager;
events = new Map([]);
#currentEvent = "";
constructor(map, ui, gameobj) {
this.map = map;
this.ui = ui;
this.ui.eventmanager = this;
this.gameobj = gameobj;
}
async getEvents(lang, floor) {
let allEventsReqSend = fetch(`/data/${lang}/events/${floor}`);
this.ui.setLoading(true);
let allEventsReq = await allEventsReqSend;
let allEvents;
if (allEventsReq.ok) allEvents = await allEventsReq.json();
this.events.clear();
allEvents.forEach((event) => this.events.set(event.id, event));
this.ui.setLoading(false);
}
setCurrentEvent(id) {
if (id == null) this.#currentEvent = id;
else {
const event = this.events.get(id);
if (event != null) this.#currentEvent = event;
}
}
get currentEvent() {
return this.#currentEvent;
}
}