import { ref } from 'vue' import { useGameStore } from '@/stores/game' export function useCameraControls(scene: Phaser.Scene): any { const gameStore = useGameStore() const camera = ref(scene.cameras.main) const isDragging = ref(false) function onPointerDown(pointer: Phaser.Input.Pointer) { if (pointer.event instanceof MouseEvent || pointer.event.shiftKey) { isDragging.value = true gameStore.setMovingCamera(true) } } function onPointerUp() { isDragging.value = false gameStore.setMovingCamera(false) } scene.input.on(Phaser.Input.Events.POINTER_DOWN, onPointerDown) scene.input.on(Phaser.Input.Events.POINTER_UP, onPointerUp) return { camera, isDragging } }