20 lines
593 B
GDScript
20 lines
593 B
GDScript
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 _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])
|