detach from splat early by pressing 'grab'/'B' button

This commit is contained in:
Haze Weathers 2025-03-15 06:04:57 -04:00
parent 330ed25153
commit 1895b3b10b
4 changed files with 19 additions and 2 deletions

View file

@ -58,6 +58,10 @@ func _physics_process(delta: float) -> void:
func _unhandled_input(event: InputEvent) -> void:
if event.is_action_pressed(&"jump"):
state_chart.send_event(&"jump_pressed")
if event.is_action_pressed(&"grab"):
state_chart.send_event(&"grab_pressed")
if event.is_action_released(&"grab"):
state_chart.send_event(&"grab_released")
func kill() -> void:

View file

@ -440,6 +440,13 @@ to = NodePath("..")
event = &"jump_pressed"
delay_in_seconds = "0.0"
[node name="on GrabPressed" type="Node" parent="StateChart/Root/Floating/Splat"]
editor_description = "Detach from wall early if \"grab\" is pressed."
script = ExtResource("7_rgjdc")
to = NodePath("../../../Airborne/Falling")
event = &"grab_pressed"
delay_in_seconds = "0.0"
[node name="on TimeOut" type="Node" parent="StateChart/Root/Floating/Splat"]
script = ExtResource("7_rgjdc")
to = NodePath("../../UnSplat")
@ -484,5 +491,6 @@ delay_in_seconds = "0.25"
[connection signal="taken" from="StateChart/Root/Floating/ChompVault/on AnimationFinished" to="." method="_end_chomp_vault"]
[connection signal="state_entered" from="StateChart/Root/Floating/Splat" to="Graphics/Sprite/Splat" method="play"]
[connection signal="taken" from="StateChart/Root/Floating/Splat/on JumpPressed" to="." method="_do_splat_launch"]
[connection signal="taken" from="StateChart/Root/Floating/Splat/on GrabPressed" to="." method="_restore_graphics_rotation"]
[connection signal="state_entered" from="StateChart/Root/Floating/UnSplat" to="Graphics/Sprite/UnSplat" method="play"]
[connection signal="state_exited" from="StateChart/Root/Floating/UnSplat" to="." method="_restore_graphics_rotation"]