class_name DropoffArea extends Area2D func _on_area_entered(area): if area is not PickupArea: return (area as PickupArea).dropped.connect(_on_pickup_area_dropped.bind(area)) func _on_area_exited(area): if area is not PickupArea: return (area as PickupArea).dropped.disconnect(_on_pickup_area_dropped) func _on_pickup_area_dropped(pickup_area: PickupArea): pickup_area.parent.reparent(get_parent())