1
0
forked from noxious/client

Minor improvements

This commit is contained in:
2024-09-20 20:34:16 +02:00
parent 1a7546ba4f
commit 32cc613333
8 changed files with 98 additions and 99 deletions

View File

@ -11,7 +11,7 @@ import { storeToRefs } from 'pinia'
import { placeTile, setAllTiles } from '@/composables/zoneComposable'
import Controls from '@/components/utilities/Controls.vue'
const emit = defineEmits(['tilemap:create'])
const emit = defineEmits(['tilemap:create', 'tilemap:destroy'])
const zoneStore = useZoneStore()
const scene = useScene()
@ -67,7 +67,8 @@ onBeforeMount(() => {
})
onBeforeUnmount(() => {
tiles?.destroy()
emit('tilemap:destroy')
zoneTilemap.destroyLayer('tiles')
zoneTilemap.removeAllLayers()
zoneTilemap.destroy()
})

View File

@ -1,5 +1,5 @@
<template>
<Tiles :key="zoneStore.zone?.id ?? 0" @tilemap:create="tileMap = $event" />
<Tiles :key="zoneStore.zone?.id ?? 0" @tilemap:create="tileMap = $event" @tilemap:destroy="tileMap = null" />
<Objects v-if="tileMap" :tilemap="tileMap as Phaser.Tilemaps.Tilemap" />
<Characters v-if="tileMap" :tilemap="tileMap as Phaser.Tilemaps.Tilemap" />
</template>
@ -38,8 +38,6 @@ gameStore.connection!.emit('zone:character:join', { zoneId: gameStore.character!
// Event listeners
gameStore.connection!.on('zone:teleport', async (data: zoneLoadData) => {
if (zoneStore.zone?.id === data.zone.id) return
// Fetch assets for new zone
await gameStore.fetchZoneAssets(data.zone.id)
await loadAssets(scene)