From 8d30e3a918d0c9db1a6cd722a56d947c9f89ec74 Mon Sep 17 00:00:00 2001 From: Dennis Postma Date: Thu, 19 Sep 2024 23:42:45 +0200 Subject: [PATCH] Minor improvements --- src/components/zone/Zone.vue | 14 +++++++------- src/screens/Game.vue | 5 +++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/components/zone/Zone.vue b/src/components/zone/Zone.vue index a658291..0ed55ea 100644 --- a/src/components/zone/Zone.vue +++ b/src/components/zone/Zone.vue @@ -8,7 +8,7 @@ import { useAssetStore } from '@/stores/assets' import { useGameStore } from '@/stores/game' import { useZoneStore } from '@/stores/zone' -import { onBeforeMount, onBeforeUnmount, ref, watch } from 'vue' +import { onBeforeMount, onBeforeUnmount, ref } from 'vue' import type { Character as CharacterT, Zone as ZoneT, ExtendedCharacter as ExtendedCharacterT } from '@/types' import Tiles from '@/components/zone/Tiles.vue' import Objects from '@/components/zone/Objects.vue' @@ -25,6 +25,12 @@ type zoneLoadData = { characters: CharacterT[] } +gameStore.connection?.emit('zone:character:join', { zoneId: gameStore.character!.zoneId }, (response: zoneLoadData) => { + zoneStore.setZone(response.zone) + zoneStore.setCharacters(response.characters) +}) + +// Event listeners /** * Fetch assets from the server when a new zone is loaded */ @@ -32,12 +38,6 @@ gameStore.connection?.on('zone:character:load_assets', async (zoneId: number) => await assetStore.fetchAssetsByZoneId(zoneId) }) -gameStore.connection?.emit('zone:character:join', { zoneId: gameStore.character!.zoneId }, (response: zoneLoadData) => { - zoneStore.setZone(response.zone) - zoneStore.setCharacters(response.characters) -}) - -// Event listeners gameStore.connection?.on('zone:teleport', (data: zoneLoadData) => { if (zoneStore.zone?.id === data.zone.id) return zoneStore.setZone(data.zone) diff --git a/src/screens/Game.vue b/src/screens/Game.vue index 70ec812..5eec7f1 100644 --- a/src/screens/Game.vue +++ b/src/screens/Game.vue @@ -157,10 +157,11 @@ const createScene = (scene: Phaser.Scene) => { /** * Watch for changes in assets and reload them */ - watch(assetStore.assets, (newAssets) => { + watch(() => assetStore.assets, (newAssets) => { + console.log('new assets', newAssets) newAssets.forEach(() => { loadAssets(scene) - }) + }, { deep: true }) scene.load.start() })