UNPKG

@drincs/nqtr

Version:

A complete system introducing the concepts of location, time and event, producing the framework of a not-quite-point-and-click adventure game.

2 lines 1.23 kB
import {storage}from'@drincs/pixi-vn';var t={};function n(o){try{let e=t[o];if(!e){console.error(`[NQTR] Room ${o} not found`);return}return e}catch(e){console.error(`[NQTR] Error while getting Room ${o}`,e);return}}var a="___nqtr-current_room_memory___",i=class{get rooms(){return Object.values(t)}get locations(){let e={};return Object.values(t).forEach(r=>{e[r.location.id]=r.location;}),Object.values(e)}get maps(){let e={};return Object.values(t).forEach(r=>{e[r.location.map.id]=r.location.map;}),Object.values(e)}get currentRoom(){let e=storage.getVariable(a);if(!e){console.error("[NQTR] The current room has not yet been set");return}let r=n(e);if(!r){console.error(`[NQTR] Current room ${e} not found`);return}return r}set currentRoom(e){if(typeof e!="string"&&(e=e.id),!n(e)){console.error(`[NQTR] The room ${e} is not registered, so it can't be set as current room`);return}storage.setVariable(a,e);}get currentLocation(){return this.currentRoom?.location}get currentMap(){return this.currentRoom?.location.map}clearExpiredActivities(){Object.entries(t).forEach(([e,r])=>{r.clearExpiredActivities();});}};export{i as default};//# sourceMappingURL=NavigatorManager.mjs.map //# sourceMappingURL=NavigatorManager.mjs.map