1
0
mirror of https://github.com/tobspr/shapez.io.git synced 2026-03-02 03:39:21 +00:00

Added layersupport to waypoints!! (#703)

* Added layersupport to waypoints!!
It will now save what layer its made on!

* Added Migrator for 1006 to 1007

* Corrected Version Number

* Updated Comment

* Changed HUB Layer to be hardcoded
This commit is contained in:
Daan Breur
2020-12-07 12:48:30 +01:00
committed by GitHub
parent 82aaf7f037
commit 944b3c011c
5 changed files with 56 additions and 2 deletions

View File

@@ -11,6 +11,7 @@ import { SavegameInterface_V1003 } from "./schemas/1003";
import { SavegameInterface_V1004 } from "./schemas/1004";
import { SavegameInterface_V1005 } from "./schemas/1005";
import { SavegameInterface_V1006 } from "./schemas/1006";
import { SavegameInterface_V1007 } from "./schemas/1007";
const logger = createLogger("savegame");
@@ -51,7 +52,7 @@ export class Savegame extends ReadWriteProxy {
* @returns {number}
*/
static getCurrentVersion() {
return 1006;
return 1007;
}
/**
@@ -120,6 +121,11 @@ export class Savegame extends ReadWriteProxy {
data.version = 1006;
}
if (data.version === 1006) {
SavegameInterface_V1007.migrate1006to1007(data);
data.version = 1007;
}
return ExplainedResult.good();
}

View File

@@ -7,6 +7,7 @@ import { SavegameInterface_V1003 } from "./schemas/1003";
import { SavegameInterface_V1004 } from "./schemas/1004";
import { SavegameInterface_V1005 } from "./schemas/1005";
import { SavegameInterface_V1006 } from "./schemas/1006";
import { SavegameInterface_V1007 } from "./schemas/1007";
/** @type {Object.<number, typeof BaseSavegameInterface>} */
export const savegameInterfaces = {
@@ -17,6 +18,7 @@ export const savegameInterfaces = {
1004: SavegameInterface_V1004,
1005: SavegameInterface_V1005,
1006: SavegameInterface_V1006,
1007: SavegameInterface_V1007,
};
const logger = createLogger("savegame_interface_registry");

View File

@@ -0,0 +1,34 @@
import { createLogger } from "../../core/logging.js";
import { SavegameInterface_V1006 } from "./1006.js";
const schema = require("./1007.json");
const logger = createLogger("savegame_interface/1007");
export class SavegameInterface_V1007 extends SavegameInterface_V1006 {
getVersion() {
return 1007;
}
getSchemaUncached() {
return schema;
}
/**
* @param {import("../savegame_typedefs.js").SavegameData} data
*/
static migrate1006to1007(data) {
logger.log("Migrating 1006 to 1007");
const dump = data.dump;
if (!dump) {
return true;
}
const waypoints = dump.waypoints.waypoints;
// set waypoint layer to "regular"
for (let i = 0; i < waypoints.length; ++i) {
const waypoint = waypoints[i];
waypoint.layer = "regular";
}
}
}

View File

@@ -0,0 +1,5 @@
{
"type": "object",
"required": [],
"additionalProperties": true
}