Sfoglia il codice sorgente

You can now have many custom characters. Added some code to migrate the old single slot

tags/v1.0.0
Fen Dweller 6 anni fa
parent
commit
5dad8c39c9
3 ha cambiato i file con 67 aggiunte e 4 eliminazioni
  1. +58
    -4
      game.js
  2. +5
    -0
      stroll.html
  3. +4
    -0
      style.css

+ 58
- 4
game.js Vedi File

@@ -4129,12 +4129,42 @@ function importSettings() {
loadSettings(settings);
}

function updateCustomCharacters() {
let select = document.querySelector("#custom-characters");
select.innerHTML = "";

let saves = JSON.parse(storage.getItem("custom-characters"));

if (Object.keys(saves).length == 0) {
let none = document.createElement("option");
none.innerText = "No characters to load";

select.appendChild(none);

return;
} else {
Object.entries(saves).forEach(function([name, contents]) {
let entry = document.createElement("option");
entry.value = name;
entry.innerText = name;

select.appendChild(entry);
});
}
}

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

let settings = generateSettings();

storage.setItem('settings',JSON.stringify(settings));
let saves = JSON.parse(storage.getItem("custom-characters"));

saves[settings.name] = settings;

storage.setItem('custom-characters',JSON.stringify(saves));

updateCustomCharacters();
}

function loadAutosave() {
@@ -4147,12 +4177,18 @@ function loadAutosave() {
function loadSettings(settings = null) {

if (settings == null) {
if (window.localStorage.getItem('settings') == null)
return;

let storage = window.localStorage;

settings = JSON.parse(storage.getItem('settings'));
let select = document.querySelector("#custom-characters");

let name = select.options[select.selectedIndex].value;

settings = JSON.parse(storage.getItem('custom-characters'))[name];

if (settings == undefined) {
return;
}
}

migrate(settings);
@@ -4814,6 +4850,24 @@ window.addEventListener('load', function(event) {
}
}());

if (storage.getItem("custom-characters") == undefined) {
storage.setItem("custom-characters", JSON.stringify({}));
}

// this migrates the old single custom character slot over
if (storage.getItem("settings") != undefined) {
let character = JSON.parse(storage.getItem("settings"));

let saves = JSON.parse(storage.getItem("custom-characters"));

saves[character.name] = character;

localStorage.setItem("custom-characters", JSON.stringify(saves));
localStorage.removeItem("settings")
}

updateCustomCharacters();

document.querySelectorAll(".version").forEach(function(x) {
x.innerText = "Version: " + version;
});


+ 5
- 0
stroll.html Vedi File

@@ -263,6 +263,11 @@
<button type="button" class="option-button" id="button-load-custom">Load Custom Character</button>
<button type="button" class="option-button" id="button-save-custom">Save Custom Character</button>
</div>
<div>
<select id="custom-characters">
<option>No character to load</option>
</select>
</div>
</div>

<div class="custom-category">


+ 4
- 0
style.css Vedi File

@@ -694,3 +694,7 @@ body.dark .meterLabel {
.save-version {
display: none;
}

#custom-characters {
font-size: 24px;
}

Loading…
Annulla
Salva