Bladeren bron

Safely handle inability to load/save

tags/v0.0.4
Fen Dweller 5 jaren geleden
bovenliggende
commit
10737ba3f2
1 gewijzigde bestanden met toevoegingen van 35 en 26 verwijderingen
  1. +35
    -26
      gorge.js

+ 35
- 26
gorge.js Bestand weergeven

@@ -938,41 +938,50 @@ function save(e) {
}

function saveGame() {
let storage = window.localStorage;
try {
let storage = window.localStorage;

storage.setItem("save-version", "0.0.1");
storage.setItem("save-version", "0.0.1");

storage.setItem("ownedUpgrades", JSON.stringify(ownedUpgrades));
storage.setItem("ownedUpgrades", JSON.stringify(ownedUpgrades));

storage.setItem("resources", JSON.stringify(resources));
storage.setItem("resources", JSON.stringify(resources));

storage.setItem("belongings", JSON.stringify(belongings));
storage.setItem("belongings", JSON.stringify(belongings));
} catch(e) {
clickPopup("Can't save - no access to local storage.", "info", [window.innerWidth/2, window.innerHeight/5]);
}
}

function load() {
let storage = window.localStorage;

if (!storage.getItem("save-version")) {
return;
}

let newOwnedUpgrades = JSON.parse(storage.getItem("ownedUpgrades"));

for (const [key, value] of Object.entries(newOwnedUpgrades)) {
ownedUpgrades[key] = value;
}

let newResources = JSON.parse(storage.getItem("resources"));

for (const [key, value] of Object.entries(newResources)) {
resources[key] = value;
}

let newBelongings = JSON.parse(storage.getItem("belongings"));
try {
let storage = window.localStorage;

for (const [key, value] of Object.entries(newBelongings)) {
belongings[key] = value;
if (!storage.getItem("save-version")) {
return;
}
let newOwnedUpgrades = JSON.parse(storage.getItem("ownedUpgrades"));
for (const [key, value] of Object.entries(newOwnedUpgrades)) {
ownedUpgrades[key] = value;
}
let newResources = JSON.parse(storage.getItem("resources"));
for (const [key, value] of Object.entries(newResources)) {
resources[key] = value;
}
let newBelongings = JSON.parse(storage.getItem("belongings"));
for (const [key, value] of Object.entries(newBelongings)) {
belongings[key] = value;
}
} catch(e) {
clickPopup("Can't load - no access to local storage.", "info", [window.innerWidth/2, window.innerHeight/5]);
}
}

function reset() {


Laden…
Annuleren
Opslaan