From 6383320e8c9ab884006d8af89d5e25621bafa43e Mon Sep 17 00:00:00 2001 From: Dennis Postma Date: Thu, 6 Feb 2025 21:20:49 +0100 Subject: [PATCH] #209 : Improved logic for button presses --- src/App.vue | 13 ++++++++----- src/components/screens/Characters.vue | 6 +++--- src/components/screens/Game.vue | 2 +- src/components/utilities/Modal.vue | 6 +++--- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/App.vue b/src/App.vue index d2b4a03..5ab00d8 100644 --- a/src/App.vue +++ b/src/App.vue @@ -16,11 +16,10 @@ import MapEditor from '@/components/screens/MapEditor.vue' import BackgroundImageLoader from '@/components/utilities/BackgroundImageLoader.vue' import Debug from '@/components/utilities/Debug.vue' import Notifications from '@/components/utilities/Notifications.vue' +import { useGameComposable } from '@/composables/useGameComposable' import { useMapEditorComposable } from '@/composables/useMapEditorComposable' import { useGameStore } from '@/stores/gameStore' -import { useMapEditorStore } from '@/stores/mapEditorStore' -import { computed, ref, useTemplateRef, watch } from 'vue' -import { useGameComposable } from '@/composables/useGameComposable' +import { computed, watch } from 'vue' const gameStore = useGameStore() @@ -45,9 +44,13 @@ watch( ) // #209: Play sound when a button is pressed -// @TODO: Not all button-like elements will actually be a button, so we need to find a better way to do this addEventListener('click', (event) => { - if (!(event.target instanceof HTMLButtonElement)) return + const classList = ['btn-cyan', 'btn-red', 'btn-indigo', 'btn-empty', 'btn-sound'] + const target = event.target as HTMLElement + // console.log(target) // Uncomment to log the clicked element + if (!classList.some((className) => target.classList.contains(className))) { + return // Only play sound if the clicked element is a button + } playSound('/assets/sounds/button-click.wav') }) diff --git a/src/components/screens/Characters.vue b/src/components/screens/Characters.vue index 8f921da..f05c81e 100644 --- a/src/components/screens/Characters.vue +++ b/src/components/screens/Characters.vue @@ -18,11 +18,11 @@
Player head - +
-
diff --git a/src/components/screens/Game.vue b/src/components/screens/Game.vue index 95183a8..64020f0 100644 --- a/src/components/screens/Game.vue +++ b/src/components/screens/Game.vue @@ -27,9 +27,9 @@ import Hotkeys from '@/components/game/gui/Hotkeys.vue' import Hud from '@/components/game/gui/Hud.vue' import Menu from '@/components/game/gui/Menu.vue' import Map from '@/components/game/map/Map.vue' +import { useGameComposable } from '@/composables/useGameComposable' import { useGameStore } from '@/stores/gameStore' import { Game, Scene } from 'phavuer' -import { useGameComposable } from '@/composables/useGameComposable' const gameStore = useGameStore() const { playSound } = useGameComposable() diff --git a/src/components/utilities/Modal.vue b/src/components/utilities/Modal.vue index d561a3a..aecb665 100644 --- a/src/components/utilities/Modal.vue +++ b/src/components/utilities/Modal.vue @@ -14,11 +14,11 @@
- -