fix remaining typescript errors

This commit is contained in:
2023-03-25 02:07:05 +01:00
parent 31bf1d8b8f
commit 247a87b41c
6 changed files with 23 additions and 9 deletions
+7
View File
@@ -3,10 +3,13 @@ export class Guild {
level: number; level: number;
displayUpgradeCost: number|string; displayUpgradeCost: number|string;
upgradeCost: number|null = null;
constructor(level: number, gold: number) { constructor(level: number, gold: number) {
this.gold = gold; this.gold = gold;
this.level = level; this.level = level;
this.displayUpgradeCost = this.getUpgradeCost() ?? "Max level"; this.displayUpgradeCost = this.getUpgradeCost() ?? "Max level";
this.upgradeCost = this.getUpgradeCost();
} }
upgrade(): void { upgrade(): void {
@@ -27,6 +30,10 @@ export class Guild {
getUpgradeCost(): number|null { getUpgradeCost(): number|null {
return upgradeCosts[this.level] ?? null; return upgradeCosts[this.level] ?? null;
} }
isMaxLevel(): boolean {
return this.level >= 7;
}
} }
const upgradeCosts = { const upgradeCosts = {
+8 -2
View File
@@ -48,17 +48,23 @@ export default defineComponent({
name: "AdventurerMiniComponent", name: "AdventurerMiniComponent",
components: {AdventurerTile}, components: {AdventurerTile},
emits: [ "freeAdventurer", "hireAdventurer" ], emits: [ "freeAdventurer", "hireAdventurer" ],
data() { data: () => {
return { return {
selection: false, selection: false,
} }
}, },
props: { props: {
adventurer: { adventurer: {
type: Object as PropType<Adventurer>, type: Object as PropType<Adventurer|any>,
default() {
return {} as Adventurer;
},
}, },
allAdventurers: { allAdventurers: {
type: Object as PropType<{[key: string]: Adventurer}>, type: Object as PropType<{[key: string]: Adventurer}>,
default() {
return {} as {[key: string]: Adventurer};
},
}, },
}, },
methods: { methods: {
+2 -2
View File
@@ -26,7 +26,7 @@
</button> </button>
</div> </div>
<div class="progressWrap"> <div class="progressWrap">
<span>{{ this.progressPercentage }}</span> <span>{{ progressPercentage }}</span>
<span class="progress"></span> <span class="progress"></span>
</div> </div>
@@ -50,7 +50,7 @@ export default defineComponent({
components: {AdventurerComponent}, components: {AdventurerComponent},
props: { props: {
missive: { missive: {
type: Object as PropType<Quest>, type: Object as PropType<Quest|any>,
default() { default() {
return new Quest("0", QuestRank.F, "", "", 1, 0, 0) as Quest; return new Quest("0", QuestRank.F, "", "", 1, 0, 0) as Quest;
}, },
+2 -2
View File
@@ -14,7 +14,7 @@
</span> </span>
<span <span
title="Dismiss" title="Dismiss"
:class="{disabled: Object.keys(this.adventurers).length <= 0}" :class="{disabled: Object.keys(adventurers).length <= 0}"
@click="dismissAdventurer()" @click="dismissAdventurer()"
> >
@@ -96,7 +96,7 @@ export default defineComponent({
window.localStorage.setItem("currentlyForHire", adventurer.id); window.localStorage.setItem("currentlyForHire", adventurer.id);
}, },
hireAdventurer(adventurer: Adventurer): void { hireAdventurer(adventurer: Adventurer|any): void {
this.adventurers[adventurer.id] = adventurer; this.adventurers[adventurer.id] = adventurer;
this.currentlyForHire = null; this.currentlyForHire = null;
window.localStorage.removeItem("currentlyForHire"); window.localStorage.removeItem("currentlyForHire");
+1 -1
View File
@@ -10,7 +10,7 @@
</section> </section>
<section class="upgrade"> <section class="upgrade">
<p>Guild level: {{ guild.level }}</p> <p>Guild level: {{ guild.level }}</p>
<button :disabled="guild.gold < guild.getUpgradeCost()" @click="guild.upgrade()"> <button :disabled="guild.upgradeCost ? guild.gold < guild.upgradeCost : true" @click="guild.upgrade()">
<span>Upgrade guild level</span><br> <span>Upgrade guild level</span><br>
<span>({{ guild.displayUpgradeCost }})</span> <span>({{ guild.displayUpgradeCost }})</span>
</button> </button>
+3 -2
View File
@@ -55,7 +55,7 @@
:key="key" :key="key"
:adventurers="adventurers" :adventurers="adventurers"
:missive="missive" :missive="missive"
@click="finalizeQuest(missive)" @click="finalizeQuest((missive))"
/> />
</section> </section>
</div> </div>
@@ -125,7 +125,8 @@ export default defineComponent({
}, },
emits: [ 'finalizeQuest', 'wipeSave', 'recruitActionTaken'], emits: [ 'finalizeQuest', 'wipeSave', 'recruitActionTaken'],
methods: { methods: {
finalizeQuest(quest: Quest) { // This is a workaround for vue not reporting Quest as Quest in v-for
finalizeQuest(quest: any|Quest): void {
if (quest.progressPoints < quest.maxProgress) return; if (quest.progressPoints < quest.maxProgress) return;
this.$emit('finalizeQuest', quest) this.$emit('finalizeQuest', quest)
}, },