diff --git a/src/application/types.ts b/src/application/types.ts index 17445e3..d61f50e 100644 --- a/src/application/types.ts +++ b/src/application/types.ts @@ -270,3 +270,8 @@ export type WeatherState = { isFogEnabled: boolean fogDensity: number } + +export type zoneLoadData = { + zone: ZoneT + characters: ZoneCharacter[] +} \ No newline at end of file diff --git a/src/components/game/zone/Zone.vue b/src/components/game/zone/Zone.vue index eac611e..d7c3e59 100644 --- a/src/components/game/zone/Zone.vue +++ b/src/components/game/zone/Zone.vue @@ -10,7 +10,7 @@ import { useScene } from 'phavuer' import { useGameStore } from '@/stores/gameStore' import { useZoneStore } from '@/stores/zoneStore' import { loadZoneTilesIntoScene } from '@/composables/zoneComposable' -import type { Zone as ZoneT, ZoneCharacter } from '@/application/types' +import type { Zone as ZoneT, ZoneCharacter, zoneLoadData } from '@/application/types' import ZoneTiles from '@/components/game/zone/ZoneTiles.vue' import ZoneObjects from '@/components/game/zone/ZoneObjects.vue' import Characters from '@/components/game/zone/Characters.vue' @@ -21,11 +21,6 @@ const zoneStore = useZoneStore() const tileMap = ref(null as Phaser.Tilemaps.Tilemap | null) -type zoneLoadData = { - zone: ZoneT - characters: ZoneCharacter[] -} - // Event listeners gameStore.connection!.on('zone:character:teleport', async (data: zoneLoadData) => { /** @@ -43,6 +38,7 @@ gameStore.connection!.on('zone:character:teleport', async (data: zoneLoadData) = gameStore.connection!.on('zone:character:join', async (data: ZoneCharacter) => { // If data is from the current user, don't add it to the store + // @TODO: Fix this if (data.character.id === gameStore.character?.id) return zoneStore.addCharacter(data) }) @@ -57,6 +53,7 @@ gameStore.connection!.on('character:move', (data: { id: number; positionX: numbe // Emit zone:character:join event to server and wait for response, then set zone and characters gameStore!.connection!.emit('zone:character:join', async (response: zoneLoadData) => { + console.log(response) await loadZoneTilesIntoScene(response.zone, scene) zoneStore.setZone(response.zone) zoneStore.setCharacters(response.characters) diff --git a/src/components/screens/Characters.vue b/src/components/screens/Characters.vue index 7ec391a..4b837ad 100644 --- a/src/components/screens/Characters.vue +++ b/src/components/screens/Characters.vue @@ -180,7 +180,10 @@ function loginWithCharacter() { characterId: selectedCharacterId.value, characterHairId: selectedHairId.value }) - gameStore.connection?.on('character:connect', (data: CharacterT) => gameStore.setCharacter(data)) + gameStore.connection?.on('character:connect', (data: CharacterT) => { + console.log(data) + gameStore.setCharacter(data) + }) } // Delete character logics diff --git a/vite.config.js b/vite.config.js index ab45710..468ff6f 100644 --- a/vite.config.js +++ b/vite.config.js @@ -8,7 +8,7 @@ import viteCompression from 'vite-plugin-compression' export default defineConfig({ plugins: [ vue(), - // VueDevTools(), + VueDevTools(), viteCompression() ], resolve: { diff --git a/vite.config.ts b/vite.config.ts index 52c1c9d..e52c1e4 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -8,7 +8,7 @@ import viteCompression from 'vite-plugin-compression'; export default defineConfig({ plugins: [ vue(), - // VueDevTools(), + VueDevTools(), viteCompression() ], resolve: {