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:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user