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
JavaScript
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;
}
}