@@ -3,6 +3,7 @@ extends CharacterBody2D
33signal done
44signal picked_up
55signal push
6+ signal can_push
67
78var targetPos = Vector2 .ZERO
89var facing = Vector2 (0 , 1 ) # Default direction facing down
@@ -11,10 +12,14 @@ var waiting = true
1112var abort = false
1213var commands = []
1314var inventory = []
15+ var removal_distance = 32
16+ var can_push_result = false
17+ var result_received = false
1418
1519@onready var animation_tree = $ AnimationTree
1620@onready var state_machine = animation_tree .get ("parameters/playback" )
1721@onready var end = get_tree ().get_first_node_in_group ("end" )
22+ @onready var interaction_manager = get_tree ().get_first_node_in_group ("interaction_manager" ) # Ensure to point to the InteractionManager
1823
1924func _ready ():
2025 targetPos = self .position
@@ -25,6 +30,8 @@ func _ready():
2530 commands .append (line )
2631 print (line )
2732 file .close ()
33+
34+ interaction_manager .connect ("can_push_result" , Callable (self , "_on_can_push_result" ))
2835
2936func _process (_delta ):
3037 if abort :
@@ -49,6 +56,8 @@ func _process(_delta):
4956 _on_node_rotate_clockwise ()
5057 'rcc' :
5158 _on_node_rotate_c_clockwise ()
59+ 'cp' :
60+ _on_check_if_can_push ()
5261 animation_tree .set ("parameters/Walk/blend_position" , facing )
5362 else :
5463 state_machine .travel ("End" ) # Idle state if no commands are left
@@ -97,7 +106,10 @@ func _on_node_rotate_c_clockwise():
97106 print ("Rotated counter-clockwise. New facing:" , facing )
98107 animation_tree .set ("parameters/Walk/blend_position" , facing )
99108
100- var removal_distance = 32
109+ func _on_check_if_can_push () -> bool :
110+ var can_push_result = await interaction_manager .call ("check_can_push" )
111+ print ("Final push result: " , can_push_result )
112+ return can_push_result
101113
102114func _on_pick_up ():
103115 emit_signal ("picked_up" )
0 commit comments