forked from noxious/client
Teleport fix 💩
This commit is contained in:
parent
777be0b4ae
commit
e01c367dce
@ -8,7 +8,7 @@
|
|||||||
import { useScene } from 'phavuer'
|
import { useScene } from 'phavuer'
|
||||||
import { useGameStore } from '@/stores/game'
|
import { useGameStore } from '@/stores/game'
|
||||||
import { useZoneStore } from '@/stores/zone'
|
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 type { Character as CharacterT, Zone as ZoneT, ExtendedCharacter as ExtendedCharacterT } from '@/types'
|
||||||
import Tiles from '@/components/zone/Tiles.vue'
|
import Tiles from '@/components/zone/Tiles.vue'
|
||||||
import Objects from '@/components/zone/Objects.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
|
// Set zone and characters
|
||||||
zoneStore.setZone(response.zone)
|
zoneStore.setZone(response.zone)
|
||||||
zoneStore.setCharacters(response.characters)
|
zoneStore.setCharacters(response.characters)
|
||||||
|
console.log('--- CHARACTER JOIN')
|
||||||
})
|
})
|
||||||
|
|
||||||
// Event listeners
|
// Event listeners
|
||||||
gameStore.connection!.on('zone:character:teleport', async (data: zoneLoadData) => {
|
gameStore.connection!.on('zone:character:teleport', async (data: zoneLoadData) => {
|
||||||
|
console.log('eeee');
|
||||||
/**
|
/**
|
||||||
* This is the cause of the bug
|
* 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.setZone(data.zone)
|
||||||
zoneStore.setCharacters(data.characters)
|
zoneStore.setCharacters(data.characters)
|
||||||
|
console.log('--- CHARACTER TELEPORT')
|
||||||
})
|
})
|
||||||
|
|
||||||
gameStore.connection!.on('zone:character:join', async (data: ExtendedCharacterT) => {
|
gameStore.connection!.on('zone:character:join', async (data: ExtendedCharacterT) => {
|
||||||
zoneStore.addCharacter(data)
|
zoneStore.addCharacter(data)
|
||||||
|
console.log('--- CHARACTER JOIN SHORT')
|
||||||
})
|
})
|
||||||
|
|
||||||
gameStore.connection!.on('zone:character:leave', (character_id: number) => {
|
gameStore.connection!.on('zone:character:leave', (character_id: number) => {
|
||||||
zoneStore.removeCharacter(character_id)
|
zoneStore.removeCharacter(character_id)
|
||||||
|
console.log('--- CHARACTER LEAVE')
|
||||||
})
|
})
|
||||||
|
|
||||||
gameStore.connection!.on('character:move', (data: ExtendedCharacterT) => {
|
gameStore.connection!.on('character:move', (data: ExtendedCharacterT) => {
|
||||||
|
@ -58,12 +58,14 @@ export const sortByIsometricDepth = <T extends { positionX: number; positionY: n
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const loadAssets = (scene: Phaser.Scene): Promise<void> => {
|
export const loadAssets = (scene: Phaser.Scene, test): Promise<void> => {
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
const gameStore = useGameStore()
|
const gameStore = useGameStore()
|
||||||
|
let addedLoad = false;
|
||||||
|
|
||||||
gameStore.assets.forEach((asset) => {
|
gameStore.assets.forEach((asset) => {
|
||||||
if (scene.load.textureManager.exists(asset.key)) return
|
if (scene.load.textureManager.exists(asset.key)) return
|
||||||
|
addedLoad = true;
|
||||||
if (asset.group === 'sprite_animations') {
|
if (asset.group === 'sprite_animations') {
|
||||||
scene.load.spritesheet(asset.key, config.server_endpoint + asset.url, { frameWidth: asset.frameWidth ?? 0, frameHeight: asset.frameHeight ?? 0 })
|
scene.load.spritesheet(asset.key, config.server_endpoint + asset.url, { frameWidth: asset.frameWidth ?? 0, frameHeight: asset.frameHeight ?? 0 })
|
||||||
} else {
|
} else {
|
||||||
@ -71,9 +73,14 @@ export const loadAssets = (scene: Phaser.Scene): Promise<void> => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if(addedLoad) {
|
||||||
scene.load.start()
|
scene.load.start()
|
||||||
scene.load.on(Phaser.Loader.Events.COMPLETE, () => {
|
scene.load.on(Phaser.Loader.Events.COMPLETE, () => {
|
||||||
|
console.log('resolved', gameStore.assets);
|
||||||
resolve()
|
resolve()
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
resolve()
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user