Presets per generator, fill in presets on load
This commit is contained in:
@@ -21,7 +21,11 @@ export default defineComponent({
|
||||
generator: null,
|
||||
},
|
||||
async mounted() {
|
||||
this.localPresets = await localforage.getItem("local_presets") ?? [];
|
||||
this.localPresets = await localforage.getItem(`local_presets_${this.generator}`) ?? [];
|
||||
for (const preset of this.localPresets) {
|
||||
this.fillPreset(preset);
|
||||
}
|
||||
await this.updateLocalPresets();
|
||||
},
|
||||
computed: {
|
||||
settings() {
|
||||
@@ -46,11 +50,8 @@ export default defineComponent({
|
||||
presets() {
|
||||
const filledPresets = {};
|
||||
for (const presetName of Object.keys(presets[this.generator])) {
|
||||
const preset = {};
|
||||
preset.display = presets[this.generator][presetName].display;
|
||||
for (const settingName of Object.keys(this.settings)) {
|
||||
preset[settingName] = presets[this.generator][presetName][settingName] ?? this.settings[settingName].default;
|
||||
}
|
||||
const preset = JSON.parse(JSON.stringify(presets[this.generator][presetName]));
|
||||
this.fillPreset(preset);
|
||||
filledPresets[presetName] = preset;
|
||||
}
|
||||
return filledPresets;
|
||||
@@ -111,7 +112,15 @@ export default defineComponent({
|
||||
},
|
||||
async updateLocalPresets() {
|
||||
const copy = JSON.parse(JSON.stringify(this.localPresets));
|
||||
await localforage.setItem("local_presets", copy);
|
||||
await localforage.setItem(`local_presets_${this.generator}`, copy);
|
||||
},
|
||||
fillPreset(preset) {
|
||||
for (const settingName of Object.keys(this.settings)) {
|
||||
if (preset[settingName] == undefined) {
|
||||
preset[settingName] = this.settings[settingName].default;
|
||||
}
|
||||
}
|
||||
return preset;
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@@ -18,3 +18,14 @@ base:
|
||||
weapons: assured
|
||||
goal: fast_ganon
|
||||
crystals_ganon: 0
|
||||
mimic_hellrule:
|
||||
display: Mimic Hellrule
|
||||
mode: standard
|
||||
door_shuffle: crossed
|
||||
door_lobbies: shuffled
|
||||
door_type_mode: all
|
||||
trap_door_mode: optional
|
||||
enemy_shuffle: mimics
|
||||
drop_shuffle: keys
|
||||
pottery: keys
|
||||
dark_rooms: always_light_cone
|
||||
|
||||
Reference in New Issue
Block a user