Minor changes

This commit is contained in:
Dennis Postma 2024-12-29 02:36:04 +01:00
parent d0c08c25fd
commit e9dfcf7870
2 changed files with 10 additions and 20 deletions

View File

@ -21,6 +21,14 @@ const zoneStore = useZoneStore()
const tileMap = ref(null as Phaser.Tilemaps.Tilemap | null)
onUnmounted(() => {
zoneStore.reset()
gameStore.connection!.off('zone:character:teleport')
gameStore.connection!.off('zone:character:join')
gameStore.connection!.off('zone:character:leave')
gameStore.connection!.off('zone:character:move')
})
// Event listeners
gameStore.connection!.on('zone:character:teleport', async (data: zoneLoadData) => {
/**
@ -37,9 +45,6 @@ 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)
})
@ -47,22 +52,7 @@ gameStore.connection!.on('zone:character:leave', (characterId: number) => {
zoneStore.removeCharacter(characterId)
})
gameStore.connection!.on('character:move', (data: { id: number; positionX: number; positionY: number; rotation: number; isMoving: boolean }) => {
gameStore.connection!.on('zone:character:move', (data: { id: number; positionX: number; positionY: number; rotation: number; isMoving: boolean }) => {
zoneStore.updateCharacterPosition(data)
})
onBeforeMount(async () => {
console.log(gameStore.character!.zone!.id)
await loadZoneTilesIntoScene(gameStore.character!.zone!.id, scene)
zoneStore.setZone(gameStore.character!.zone!)
// zoneStore.setCharacters(response.characters)
})
onUnmounted(() => {
zoneStore.reset()
gameStore.connection!.off('zone:character:teleport')
gameStore.connection!.off('zone:character:join')
gameStore.connection!.off('zone:character:leave')
gameStore.connection!.off('character:move')
})
</script>

View File

@ -48,7 +48,7 @@ export function useGamePointerHandlers(scene: Phaser.Scene, layer: Phaser.Tilema
if (distance <= dragThreshold) {
const pointerTile = getTile(layer, pointer.worldX, pointer.worldY)
if (pointerTile) {
gameStore.connection?.emit('character:move', {
gameStore.connection?.emit('zone:character:move', {
positionX: pointerTile.x,
positionY: pointerTile.y
})