Initial commit

This commit is contained in:
gamer147
2026-04-01 17:16:58 -04:00
commit 0233cb6f46
71 changed files with 2376 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
class_name CameraController extends Camera2D
const DRAG_THRESHOLD := 8.0
var _dragging := false
var _left_pending := false
var _drag_start := Vector2.ZERO
func _unhandled_input(event: InputEvent) -> void:
if event is InputEventMouseButton:
match event.button_index:
MOUSE_BUTTON_LEFT:
if event.pressed:
_left_pending = true
_drag_start = event.position
else:
_left_pending = false
if _dragging:
_dragging = false
Input.set_default_cursor_shape(Input.CURSOR_ARROW)
get_viewport().set_input_as_handled()
MOUSE_BUTTON_MIDDLE:
if event.pressed:
_dragging = true
_drag_start = event.position
Input.set_default_cursor_shape(Input.CURSOR_DRAG)
else:
_dragging = false
Input.set_default_cursor_shape(Input.CURSOR_ARROW)
get_viewport().set_input_as_handled()
elif event is InputEventMouseMotion:
if _left_pending and not _dragging:
if event.position.distance_to(_drag_start) >= DRAG_THRESHOLD:
_dragging = true
_left_pending = false
Input.set_default_cursor_shape(Input.CURSOR_DRAG)
if _dragging:
var delta: Vector2 = _drag_start - event.position
_drag_start = event.position
position += delta / zoom
get_viewport().set_input_as_handled()