forked from noxious/client
Hierarchical pointer handling logic
This commit is contained in:
@ -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>
|
||||
|
Reference in New Issue
Block a user