Fixed depth sorting inside zone and zoneEditor

This commit is contained in:
2024-09-15 18:22:54 +02:00
parent 4be606778c
commit e8a0b0f13d
4 changed files with 72 additions and 9 deletions

View File

@ -1,3 +1,31 @@
<template></template>
<template>
<Image
v-for="object in zoneStore.zone?.zoneObjects"
:depth="calculateIsometricDepth(object.positionX, object.positionY, 0)"
:key="object.id" v-bind="getObjectImageProps(object)"
/>
</template>
<script setup lang="ts"></script>
<script setup lang="ts">
import { calculateIsometricDepth, tileToWorldX, tileToWorldY } from '@/services/zone'
import { Image } from 'phavuer'
import { useZoneStore } from '@/stores/zone'
import type { ZoneObject } from '@/types'
import { storeToRefs } from 'pinia'
const zoneStore = useZoneStore()
const props = defineProps<{
tilemap: Phaser.Tilemaps.Tilemap
}>()
const getObjectImageProps = (object: ZoneObject) => {
return {
x: tileToWorldX(props.tilemap as any, object.positionX, object.positionY),
y: tileToWorldY(props.tilemap as any, object.positionX, object.positionY),
texture: object.object.id,
originY: Number(object.object.originX),
originX: Number(object.object.originY)
}
}
</script>