From e01c367dcef7aba42d170407be426f263e95358b Mon Sep 17 00:00:00 2001 From: Zaxiure Date: Fri, 20 Sep 2024 23:31:40 +0200 Subject: [PATCH] =?UTF-8?q?Teleport=20fix=20=F0=9F=92=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/zone/Zone.vue | 7 ++++++- src/composables/zoneComposable.ts | 15 +++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/components/zone/Zone.vue b/src/components/zone/Zone.vue index 445f7ab..d9900ab 100644 --- a/src/components/zone/Zone.vue +++ b/src/components/zone/Zone.vue @@ -8,7 +8,7 @@ import { useScene } from 'phavuer' import { useGameStore } from '@/stores/game' import { useZoneStore } from '@/stores/zone' -import { onBeforeUnmount, ref } from 'vue' +import { onBeforeUnmount, ref, toRaw } 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' @@ -34,10 +34,12 @@ gameStore.connection!.emit('zone:character:join', { zoneId: gameStore.character! // Set zone and characters zoneStore.setZone(response.zone) zoneStore.setCharacters(response.characters) + console.log('--- CHARACTER JOIN') }) // Event listeners gameStore.connection!.on('zone:character:teleport', async (data: zoneLoadData) => { + console.log('eeee'); /** * This is the cause of the bug */ @@ -55,14 +57,17 @@ gameStore.connection!.on('zone:character:teleport', async (data: zoneLoadData) = zoneStore.setZone(data.zone) zoneStore.setCharacters(data.characters) + console.log('--- CHARACTER TELEPORT') }) gameStore.connection!.on('zone:character:join', async (data: ExtendedCharacterT) => { zoneStore.addCharacter(data) + console.log('--- CHARACTER JOIN SHORT') }) gameStore.connection!.on('zone:character:leave', (character_id: number) => { zoneStore.removeCharacter(character_id) + console.log('--- CHARACTER LEAVE') }) gameStore.connection!.on('character:move', (data: ExtendedCharacterT) => { diff --git a/src/composables/zoneComposable.ts b/src/composables/zoneComposable.ts index 3ee7b74..f1405ac 100644 --- a/src/composables/zoneComposable.ts +++ b/src/composables/zoneComposable.ts @@ -58,12 +58,14 @@ export const sortByIsometricDepth = => { +export const loadAssets = (scene: Phaser.Scene, test): Promise => { return new Promise((resolve) => { const gameStore = useGameStore() + let addedLoad = false; gameStore.assets.forEach((asset) => { if (scene.load.textureManager.exists(asset.key)) return + addedLoad = true; if (asset.group === 'sprite_animations') { scene.load.spritesheet(asset.key, config.server_endpoint + asset.url, { frameWidth: asset.frameWidth ?? 0, frameHeight: asset.frameHeight ?? 0 }) } else { @@ -71,9 +73,14 @@ export const loadAssets = (scene: Phaser.Scene): Promise => { } }) - scene.load.start() - scene.load.on(Phaser.Loader.Events.COMPLETE, () => { + if(addedLoad) { + scene.load.start() + scene.load.on(Phaser.Loader.Events.COMPLETE, () => { + console.log('resolved', gameStore.assets); + resolve() + }) + } else { resolve() - }) + } }) }