diff --git a/operation/grab_step.gd b/operation/grab_step.gd index 7977da8..567754e 100644 --- a/operation/grab_step.gd +++ b/operation/grab_step.gd @@ -35,10 +35,11 @@ func _on_pliers_used(top_area: Area2D): func _target_grabbed(): + pliers.disable_dropoff() grabbing_target.grab_bat() func _target_dropped(): - print("Test") + pliers.enable_dropoff() grabbing_target.drop_bat() step_succeeded.emit() diff --git a/operation/pickup_area.gd b/operation/pickup_area.gd index 051f66a..f8c1b48 100644 --- a/operation/pickup_area.gd +++ b/operation/pickup_area.gd @@ -11,6 +11,7 @@ signal dropped() var is_clickable = false var is_picked_up = false var is_dropable = false +var is_dropping_enabled = true var parent: Node2D @@ -21,7 +22,7 @@ func _ready(): func _input(event): if event is InputEventMouseButton and event.is_pressed(): - if is_picked_up and is_dropable: + if is_picked_up and is_dropable and is_dropping_enabled: _drop() elif not is_picked_up and is_clickable: _pickup() diff --git a/operation/pliers.gd b/operation/pliers.gd index 126e7e8..287a9db 100644 --- a/operation/pliers.gd +++ b/operation/pliers.gd @@ -6,7 +6,11 @@ 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():