extends Camera2D


@export_range(0.0, 100) var pan_speed: float = 1.0

var should_move_right = false
var should_move_left = false


# Called when the node enters the scene tree for the first time.
func _ready() -> void:
	pass # Replace with function body.


# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
	var limit_left_at_center = limit_left + get_viewport_rect().size.x/2
	var limit_right_at_center = limit_right - get_viewport_rect().size.x/2
	if position.x < limit_left_at_center:
		position.x = limit_left_at_center
	if position.x > limit_right_at_center:
		position.x = limit_right_at_center
		
	if should_move_right and position.x < limit_right_at_center:
		position.x += pan_speed
	if should_move_left and position.x > limit_left_at_center:
		position.x -= pan_speed


func _on_pan_right_mouse_entered() -> void:
	should_move_right = true


func _on_pan_right_mouse_exited() -> void:
	should_move_right = false


func _on_pan_left_mouse_entered() -> void:
	should_move_left = true


func _on_pan_left_mouse_exited() -> void:
	should_move_left = false
