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

Fix serialization errors and implement hub deserialization

This commit is contained in:
tobspr
2020-05-14 22:20:19 +02:00
parent 330c98267a
commit a1fd83c03c
5 changed files with 28 additions and 12 deletions

View File

@@ -64,7 +64,7 @@ function compressObjectInternal(obj, keys = [], values = []) {
result.push(compressObjectInternal(obj[i], keys, values));
}
return result;
} else if (typeof obj === "object") {
} else if (typeof obj === "object" && obj !== null) {
let result = {};
for (const key in obj) {
let index = keys.indexOf(key);
@@ -108,7 +108,7 @@ function decompressObjectInternal(obj, keys = [], values = []) {
result.push(decompressObjectInternal(obj[i], keys, values));
}
return result;
} else if (typeof obj === "object") {
} else if (typeof obj === "object" && obj !== null) {
let result = {};
for (const key in obj) {
const realIndex = decompressInt(key);
@@ -124,11 +124,11 @@ function decompressObjectInternal(obj, keys = [], values = []) {
}
export function decompressObject(obj) {
if (G_IS_DEV) {
return obj;
if (obj.keys && obj.values && obj.data) {
const keys = obj.keys;
const values = obj.values;
const result = decompressObjectInternal(obj.data, keys, values);
return result;
}
const keys = obj.keys;
const values = obj.values;
const result = decompressObjectInternal(obj.data, keys, values);
return result;
return obj;
}

View File

@@ -128,7 +128,7 @@ export class SavegameSerializer {
if (!verifyResult.result) {
return ExplainedResult.bad(verifyResult.reason);
}
console.log("SAVEGAME:", savegame);
let errorReason = null;
errorReason = errorReason || root.entityMgr.deserialize(savegame.entityMgr);