1
0
forked from noxious/client

Hierarchical pointer handling logic

This commit is contained in:
2025-01-26 21:21:24 -06:00
parent 9618e07bc6
commit 35f0dcca64
4 changed files with 37 additions and 41 deletions

View File

@ -9,9 +9,8 @@ import { getTile, tileToWorldX, tileToWorldY } from '@/composables/mapComposable
import { Image, useScene } from 'phavuer'
import { type Map as MapT } from "@/application/types"
import { useMapEditorComposable } from '@/composables/useMapEditorComposable'
import { onMounted, onUnmounted, shallowRef, watch } from 'vue'
import { shallowRef} from 'vue'
const scene = useScene()
const mapEditor = useMapEditorComposable()
defineExpose({handlePointer})
@ -93,20 +92,8 @@ function handlePointer(pointer: Phaser.Input.Pointer) {
if (mapEditor.drawMode.value !== 'blocking tile' && mapEditor.drawMode.value !== 'teleport') return
switch (mapEditor.tool.value) {
case 'pencil': pencil(pointer, map)
case 'eraser': erase(pointer, map)
case 'pencil': pencil(pointer, map) ; break
case 'eraser': erase(pointer, map) ; break
}
}
onMounted(() => {
scene.input.on(Phaser.Input.Events.POINTER_MOVE, handlePointer)
scene.input.on(Phaser.Input.Events.POINTER_DOWN, handlePointer)
})
onUnmounted(() => {
scene.input.off(Phaser.Input.Events.POINTER_MOVE, handlePointer)
scene.input.off(Phaser.Input.Events.POINTER_DOWN, handlePointer)
})
</script>