UNPKG

jams_mapper

Version:

A RPG Maker MZ plugin that allows you to load maps while walking rather than warping.

78 lines (68 loc) 2.74 kB
class Jams_Map { xPos = 0; yPos = 0; constructor(src) { Jams?.Logger?.log("Jams_Map.constructor", { src: src }); this.createLoadingSectors(src); } createLoadingSectors(src) { Jams?.Logger?.log("Jams_Map.createLoadingSectors", { src: src }); //Start loading files const filename = src; const mapId = parseInt(src.replace(".json", "").replace("Map", "")); Jams.Mapper.loadingSectors = []; Jams.Mapper.sectorAlignment.forEach(arr => { [world, x, y] = Jams.Mapper.maps[filename]; arr.map = null; var xPos = (parseInt(x) + parseInt(arr.x)).toString(); var yPos = (parseInt(y) + parseInt(arr.y)).toString(); if (Jams.Mapper.Sectors.hasOwnProperty(world) && Jams.Mapper.Sectors[world].hasOwnProperty(xPos) && Jams.Mapper.Sectors[world][xPos].hasOwnProperty(yPos)) { arr.map = Jams.Mapper.Sectors[world][xPos][yPos]; arr.sector = new Jams_Sector(arr.name, arr.map, xPos, yPos); } else { arr.sector = new Jams_Sector(arr.name, arr.map, xPos, yPos); } Jams.Mapper.loadingSectors.push(arr); }); this.create(mapId); } create(mapId) { Jams?.Logger?.log("Jams_Map.create", { mapId: mapId }); $dataMap.width *= 3; $dataMap.height *= 3; this.clearMapData($dataMap.width, $dataMap.height); $gameMap._events.forEach(e => { if (e) { $dataMap.events[e._eventId] = null; e.erase(); $gameMap._events[e._eventId] = null; Jams.Mapper.openID.push(e._eventId); } }); //this.loadSectors(); }; //loadSectors = function () { // Jams?.Logger?.log("Jams_Map.loadSectors"); // for (var i in Jams.Mapper.loadingSectors) { // var s = Jams.Mapper.loadingSectors[i]; // s.sector.refresh(); // } //}; clearMapData = function (w, h) { Jams?.Logger?.log("Jams_Map.clearMapData", { w: w }, {h:h}); for (let k = 0; k < w * 3 * h * 3 * 6; k++) { //Zero out the original map $dataMap.data[k] = 0; } }; isSectorAlignmentLoaded = function () { DataManager.checkError(); var b = false; for (const sector of Jams.Mapper.loadingSectors) { if (sector.sector.isLoaded()) { b = true; } } Jams?.Logger?.log("Jams_Map.isSectorAlignmentLoaded", {return:b}); return b; } }