extends Node3D

var last_mouse_pos: Vector2 = Vector2.ZERO
	
func rotate_camera():
	var pos = get_viewport().get_mouse_position()
	var change = pos - last_mouse_pos
	
	var rotate_amt = Vector3(-change.y, -change.x, 0) * 0.01
	var new_rotation = rotation + rotate_amt
	if new_rotation.y > PI*2:
		new_rotation.y -= PI*2
	elif new_rotation.y < 0:
		new_rotation.y += PI*2
		
	rotation = new_rotation.clamp(Vector3(deg_to_rad(-80), -1, 0), Vector3(deg_to_rad(1), PI*2+1, 0))
	
func _process(delta: float) -> void:
	if Input.is_action_pressed("move_camera"):
		rotate_camera()
	last_mouse_pos = get_viewport().get_mouse_position()
