class_name Pliers extends Sprite2D signal pliers_used(top_area: Area2D) @onready var pickup_area: PickupArea = $PickupArea @onready var grab_area: Area2D = $GrabArea func disable_dropoff(): pickup_area.is_dropping_enabled = false func enable_dropoff(): pickup_area.is_dropping_enabled = true func _unhandled_input(event): if event is InputEventMouseButton and pickup_area.is_picked_up and event.is_pressed(): var areas = grab_area.get_overlapping_areas() if not areas.is_empty(): areas.sort_custom(func(a: Area2D, b: Area2D): return a.priority > b.priority) pliers_used.emit(areas[0])