diff --git a/src/composables/pointerHandlers/useGamePointerHandlers.ts b/src/composables/pointerHandlers/useGamePointerHandlers.ts index aac16d5..0cd7945 100644 --- a/src/composables/pointerHandlers/useGamePointerHandlers.ts +++ b/src/composables/pointerHandlers/useGamePointerHandlers.ts @@ -11,9 +11,7 @@ export function useGamePointerHandlers(scene: Phaser.Scene, layer: Phaser.Tilema const pointerTile = getTile(px, py, layer) waypoint.value.visible = !!pointerTile - if (!pointerTile) { - return - } + if (!pointerTile) return const worldPoint = tileToWorldXY(layer, pointerTile.x, pointerTile.y) waypoint.value.x = worldPoint.positionX @@ -21,9 +19,7 @@ export function useGamePointerHandlers(scene: Phaser.Scene, layer: Phaser.Tilema } function dragZone(pointer: Phaser.Input.Pointer) { - if (!gameStore.isPlayerDraggingCamera) { - return - } + if (!gameStore.isPlayerDraggingCamera) return const { x, y, prevPosition } = pointer const { scrollX, scrollY, zoom } = camera @@ -39,9 +35,7 @@ export function useGamePointerHandlers(scene: Phaser.Scene, layer: Phaser.Tilema const { x: px, y: py } = camera.getWorldPoint(pointer.x, pointer.y) const pointerTile = getTile(px, py, layer) - if (!pointerTile) { - return - } + if (!pointerTile) return gameStore.connection?.emit('character:initMove', { positionX: pointerTile.x, @@ -49,13 +43,11 @@ export function useGamePointerHandlers(scene: Phaser.Scene, layer: Phaser.Tilema }) } - function handleZoom({ event, deltaY }: Phaser.Input.Pointer) { - if (event instanceof WheelEvent && event.shiftKey) { - return - } + function handleZoom(pointer: Phaser.Input.Pointer) { + if (!(pointer.event instanceof WheelEvent) || !pointer.event.shiftKey) return - scene.scale.setZoom(scene.scale.zoom - deltaY * 0.01) - camera = scene.cameras.main + const deltaY = pointer.event.deltaY + scene.scale.setZoom(scene.scale.zoom - deltaY * 0.005) } const setupPointerHandlers = () => { @@ -71,4 +63,4 @@ export function useGamePointerHandlers(scene: Phaser.Scene, layer: Phaser.Tilema } return { setupPointerHandlers, cleanupPointerHandlers } -} +} \ No newline at end of file diff --git a/src/composables/pointerHandlers/useZoneEditorPointerHandlers.ts b/src/composables/pointerHandlers/useZoneEditorPointerHandlers.ts index 2c8f52a..2a5f578 100644 --- a/src/composables/pointerHandlers/useZoneEditorPointerHandlers.ts +++ b/src/composables/pointerHandlers/useZoneEditorPointerHandlers.ts @@ -1,4 +1,4 @@ -import { computed, type Ref, ref } from 'vue' +import { computed, type Ref } from 'vue' import { getTile, tileToWorldXY } from '@/composables/zoneComposable' import { useZoneEditorStore } from '@/stores/zoneEditorStore' import config from '@/config' @@ -14,9 +14,7 @@ export function useZoneEditorPointerHandlers(scene: Phaser.Scene, layer: Phaser. const pointerTile = getTile(px, py, layer) waypoint.value.visible = !!pointerTile - if (!pointerTile) { - return - } + if (!pointerTile) return const worldPoint = tileToWorldXY(layer, pointerTile.x, pointerTile.y) waypoint.value.x = worldPoint.positionX @@ -24,11 +22,11 @@ export function useZoneEditorPointerHandlers(scene: Phaser.Scene, layer: Phaser. } function dragZone(pointer: Phaser.Input.Pointer) { - if (gameStore.isPlayerDraggingCamera) { - const { x, y, prevPosition } = pointer - const { scrollX, scrollY, zoom } = camera - camera.setScroll(scrollX - (x - prevPosition.x) / zoom, scrollY - (y - prevPosition.y) / zoom) - } + if (!gameStore.isPlayerDraggingCamera) return + + const { x, y, prevPosition } = pointer + const { scrollX, scrollY, zoom } = camera + camera.setScroll(scrollX - (x - prevPosition.x) / zoom, scrollY - (y - prevPosition.y) / zoom) } function handlePointerMove(pointer: Phaser.Input.Pointer) { @@ -38,13 +36,11 @@ export function useZoneEditorPointerHandlers(scene: Phaser.Scene, layer: Phaser. updateWaypoint(pointer) } - function handleZoom({ event, deltaY }: Phaser.Input.Pointer) { - if (event! instanceof WheelEvent && !event.shiftKey) { - return - } + function handleZoom(pointer: Phaser.Input.Pointer) { + if (!(pointer.event instanceof WheelEvent) || pointer.event.shiftKey) return - scene.scale.setZoom(scene.scale.zoom - deltaY * 0.01) - camera = scene.cameras.main + const deltaY = pointer.event.deltaY + scene.scale.setZoom(scene.scale.zoom - deltaY * 0.005) } const setupPointerHandlers = () => { @@ -58,4 +54,4 @@ export function useZoneEditorPointerHandlers(scene: Phaser.Scene, layer: Phaser. } return { setupPointerHandlers, cleanupPointerHandlers } -} +} \ No newline at end of file diff --git a/src/composables/useCameraControls.ts b/src/composables/useCameraControls.ts index 04995f6..83135ce 100644 --- a/src/composables/useCameraControls.ts +++ b/src/composables/useCameraControls.ts @@ -1,5 +1,4 @@ import { useGameStore } from '@/stores/gameStore' -import { useScene } from 'phavuer' import { watch } from 'vue' import { useZoneStore } from '@/stores/zoneStore' @@ -9,9 +8,7 @@ export function useCameraControls(scene: Phaser.Scene): any { const camera = scene.cameras.main function onPointerDown(pointer: Phaser.Input.Pointer) { - if (pointer.event instanceof MouseEvent || pointer.event.shiftKey) { - gameStore.setPlayerDraggingCamera(true) - } + gameStore.setPlayerDraggingCamera(true) } function onPointerUp() { @@ -21,9 +18,8 @@ export function useCameraControls(scene: Phaser.Scene): any { watch( () => zoneStore.characterLoaded, (characterLoaded) => { - if(characterLoaded) { - scene.cameras.main.startFollow(scene.children.getByName(gameStore.character!.name) as Phaser.GameObjects.Container); - } + if(!characterLoaded) return; + // scene.cameras.main.startFollow(scene.children.getByName(gameStore.character!.name) as Phaser.GameObjects.Container); } ) diff --git a/src/composables/usePointerHandlers.ts b/src/composables/usePointerHandlers.ts index 93d1056..acdbc7a 100644 --- a/src/composables/usePointerHandlers.ts +++ b/src/composables/usePointerHandlers.ts @@ -4,12 +4,11 @@ import { useGamePointerHandlers } from '@/composables/pointerHandlers/useGamePoi import { useZoneEditorPointerHandlers } from '@/composables/pointerHandlers/useZoneEditorPointerHandlers' import { useGameStore } from '@/stores/gameStore' -export function usePointerHandlers(scene: Phaser.Scene, layer: Phaser.Tilemaps.TilemapLayer, waypoint: Ref<{ visible: boolean; x: number; y: number }>, camera: Ref, isDragging: Ref) { - const gameStore = useGameStore() +export function usePointerHandlers(scene: Phaser.Scene, layer: Phaser.Tilemaps.TilemapLayer, waypoint: Ref<{ visible: boolean; x: number; y: number }>, camera: Phaser.Cameras.Scene2D.Camera) { const zoneEditorStore = useZoneEditorStore() - const gameHandlers = useGamePointerHandlers(scene, layer, waypoint, camera, isDragging) - const zoneEditorHandlers = useZoneEditorPointerHandlers(scene, layer, waypoint, camera, isDragging) + const gameHandlers = useGamePointerHandlers(scene, layer, waypoint, camera) + const zoneEditorHandlers = useZoneEditorPointerHandlers(scene, layer, waypoint, camera) const currentHandlers = computed(() => (zoneEditorStore.active ? zoneEditorHandlers : gameHandlers))