From 6533dff0208de6d2595c5c26ae03d269f415eb66 Mon Sep 17 00:00:00 2001 From: YouHaveTrouble Date: Mon, 20 Mar 2023 00:21:48 +0100 Subject: [PATCH] start working on recruitment feature --- src/App.vue | 6 ---- src/components/AdventurerMiniComponent.vue | 5 +++- src/views/AdventurerView.vue | 35 ++++++++++++++++++++-- src/views/QuestView.vue | 2 +- 4 files changed, 38 insertions(+), 10 deletions(-) diff --git a/src/App.vue b/src/App.vue index aebfae7..bc831e1 100644 --- a/src/App.vue +++ b/src/App.vue @@ -53,12 +53,6 @@ export default defineComponent({ F: null as null|number, }, adventurers: { - "rincewind-diskworld": new Adventurer("rincewind-diskworld", "Rincewind", "/img/adventurers/rincewind.png", 2, 2), - "fran-sword-isekai": new Adventurer("fran-sword-isekai", "Fran", "/img/adventurers/fran.png", 3, 1.5), - "kazuma-konosuba": new Adventurer("kazuma-konosuba", "Kazuma", "/img/adventurers/kazuma.png", 2, 2), - "rein-beast-tamer": new Adventurer("rein-beast-tamer", "Rein", "/img/adventurers/rein.png", 2, 2), - "momon-overlord": new Adventurer("momon-overlord", "Momon", "/img/adventurers/momon.png", 2, 2), - } as { [key: string]: Adventurer }, quests: { F: { diff --git a/src/components/AdventurerMiniComponent.vue b/src/components/AdventurerMiniComponent.vue index 9a1ea53..679f697 100644 --- a/src/components/AdventurerMiniComponent.vue +++ b/src/components/AdventurerMiniComponent.vue @@ -9,7 +9,10 @@
+
diff --git a/src/views/AdventurerView.vue b/src/views/AdventurerView.vue index 9482a30..db24576 100644 --- a/src/views/AdventurerView.vue +++ b/src/views/AdventurerView.vue @@ -3,7 +3,9 @@

Applying to recruit

- +
+ +
@@ -29,10 +31,13 @@ export default defineComponent({ components: {AdventurerTile}, data() { return { + currentlyForHire: null as Adventurer|null, adventurersForHire: [ new Adventurer("rincewind-diskworld", "Rincewind", "/img/adventurers/rincewind.png", 2, 2), new Adventurer("fran-sword-isekai", "Fran", "/img/adventurers/fran.png", 3, 1.5), new Adventurer("kazuma-konosuba", "Kazuma", "/img/adventurers/kazuma.png", 2, 2), + new Adventurer("rein-beast-tamer", "Rein", "/img/adventurers/rein.png", 2, 2), + new Adventurer("momon-overlord", "Momon", "/img/adventurers/momon.png", 2, 2), ] as Array, } }, @@ -43,8 +48,34 @@ export default defineComponent({ return {}; }, }, + }, + methods: { + getRandomAdventurer(): Adventurer|null { + if (this.adventurersForHire.length <= 0) return null; + const randomId = this.adventurersForHire.length * Math.random() << 0; + return this.adventurersForHire[randomId]; + }, + getNewAdventurerForHire(): void { + const adventurer = this.getRandomAdventurer(); + if (adventurer === null) { + this.currentlyForHire = null; + return; + } + + if (this.adventurers[adventurer.id] != null) { + this.currentlyForHire = null; + return; + } + + this.currentlyForHire = adventurer; + + } + }, + mounted() { + this.currentlyForHire = this.adventurersForHire[0] } -}) + +});