mirror of
https://github.com/YouHaveTrouble/GuildMaster.git
synced 2026-05-12 06:26:59 +00:00
fix remaining typescript errors
This commit is contained in:
@@ -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 = {
|
||||||
|
|||||||
@@ -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: {
|
||||||
|
|||||||
@@ -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;
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -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");
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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)
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user