Revert "properly pass props in routing"

This reverts commit a7d1748c80.
This commit is contained in:
2023-03-23 18:17:54 +01:00
parent a7d1748c80
commit 9ca26e2a7a
+53 -80
View File
@@ -1,52 +1,24 @@
<script setup lang="ts"> <script setup lang="ts">
import {RouterLink, RouterView} from 'vue-router' import {RouterLink, RouterView} from 'vue-router'</script>
</script>
<template> <template>
<header> <header>
<nav> <nav>
<RouterLink <RouterLink to="/">Guild</RouterLink>
:to="{ <RouterLink to="/quests">Quests</RouterLink>
name: 'guild', <RouterLink to="/adventurers">Adventurers</RouterLink>
params: {
guild: guild,
},
}"
>
Guild
</RouterLink>
<RouterLink
:to="{
name: 'quests',
params: {
guild: guild,
adventurers: adventurers,
quests: missives,
},
}"
>
Quests
</RouterLink>
<RouterLink
:to="{
name: 'adventurers',
params: {
guild: guild,
adventurers: adventurers,
lastRecruitTime: lastRecruitHandled
},
}"
>
Adventurers
</RouterLink>
</nav> </nav>
</header> </header>
<RouterView <RouterView
@finalizeQuest="finalizeQuest($event)" :guild="guild"
@wipeSave="resetSave()" :adventurers="adventurers"
@recruitActionTaken="lastRecruitHandled = Number(new Date())" :quests="missives"
/> :lastRecruitTime="lastRecruitHandled"
@finalizeQuest="finalizeQuest($event)"
@wipeSave="resetSave()"
@recruitActionTaken="lastRecruitHandled = Number(new Date())"
/>
</template> </template>
<script lang="ts"> <script lang="ts">
@@ -74,16 +46,17 @@ export default defineComponent({
data: () => ({ data: () => ({
guild: new Guild(1, 500), guild: new Guild(1, 500),
lastQuestGot: { lastQuestGot: {
S: null as null | number, S: null as null|number,
A: null as null | number, A: null as null|number,
B: null as null | number, B: null as null|number,
C: null as null | number, C: null as null|number,
D: null as null | number, D: null as null|number,
E: null as null | number, E: null as null|number,
F: null as null | number, F: null as null|number,
}, },
lastRecruitHandled: null as null | number, lastRecruitHandled: null as null|number,
adventurers: {} as { [key: string]: Adventurer }, adventurers: {
} as { [key: string]: Adventurer },
quests: { quests: {
F: { F: {
"1": new Quest("1", QuestRank.F, "Frog Frenzy", "Kill 10 demon frogs.", 30, 1, 25), "1": new Quest("1", QuestRank.F, "Frog Frenzy", "Kill 10 demon frogs.", 30, 1, 25),
@@ -187,43 +160,43 @@ export default defineComponent({
})); }));
}, },
loadGame() { loadGame() {
const rawData = window.localStorage.getItem("savedGame"); const rawData = window.localStorage.getItem("savedGame");
if (!rawData) return; if (!rawData) return;
const saveData = JSON.parse(rawData); const saveData = JSON.parse(rawData);
this.lastQuestGot = saveData.lastQuestGot; this.lastQuestGot = saveData.lastQuestGot;
this.guild = new Guild(saveData.guild.level, saveData.guild.gold); this.guild = new Guild(saveData.guild.level, saveData.guild.gold);
const adventurers = {} as { [key: string]: Adventurer }; const adventurers = {} as { [key: string]: Adventurer };
for (const id in saveData.adventurers) { for (const id in saveData.adventurers) {
const data = saveData.adventurers[id]; const data = saveData.adventurers[id];
const adventurer = new Adventurer(data.id, data.name, data.portrait, data.attackPerLevel, data.defensePerLevel, data.level); const adventurer = new Adventurer(data.id, data.name, data.portrait, data.attackPerLevel, data.defensePerLevel, data.level);
adventurer.busy = data.busy; adventurer.busy = data.busy;
adventurers[data.id] = adventurer; adventurers[data.id] = adventurer;
} }
this.adventurers = adventurers; this.adventurers = adventurers;
const missives = {} as { [key: string]: { [key: string]: Quest } }; const missives = {} as { [key: string]: { [key: string]: Quest } };
for (const id in saveData.missives) { for (const id in saveData.missives) {
const missiveRank = {} as { [key: string]: Quest } const missiveRank = {} as { [key: string]: Quest }
for (const questId in saveData.missives[id]) { for (const questId in saveData.missives[id]) {
const data = saveData.missives[id][questId]; const data = saveData.missives[id][questId];
const quest = new Quest(questId, getFromString(data.rank), data.title, data.text, data.maxProgress, data.expReward, data.goldReward); const quest = new Quest(questId, getFromString(data.rank), data.title, data.text, data.maxProgress, data.expReward, data.goldReward);
quest.progressPoints = data.progressPoints; quest.progressPoints = data.progressPoints;
if (data.adventurers.length > 0) { if (data.adventurers.length > 0) {
quest.adventurers.push(this.adventurers[data.adventurers[0].id]) quest.adventurers.push(this.adventurers[data.adventurers[0].id])
} }
missiveRank[questId] = quest; missiveRank[questId] = quest;
} }
missives[id] = missiveRank; missives[id] = missiveRank;
} }
this.missives = missives; this.missives = missives;
this.lastRecruitHandled = saveData.lastRecruitAction; this.lastRecruitHandled = saveData.lastRecruitAction;
}, },
resetSave() { resetSave() {
if (!confirm("You are about to wipe your save file. Are you sure?")) return; if (!confirm("You are about to wipe your save file. Are you sure?")) return;
@@ -236,7 +209,7 @@ export default defineComponent({
setInterval(() => { setInterval(() => {
this.saveGame(); this.saveGame();
}, 30 * 1000) }, 30*1000)
setInterval(() => { setInterval(() => {
this.updateMissives(); this.updateMissives();