diff --git a/src/Actors/Blobby/Blobby.gd b/src/Actors/Blobby/Blobby.gd index a5b0425..adc49d2 100644 --- a/src/Actors/Blobby/Blobby.gd +++ b/src/Actors/Blobby/Blobby.gd @@ -358,3 +358,7 @@ func _on_Blobby_got_grounded() -> void: else: floor_friction = base_floor_friction air_strafe_charges = 1 + + +func _on_GameplaySignalManager_getback_timer_up() -> void: + die() \ No newline at end of file diff --git a/src/Actors/Blobby/BlobbyStateMachine.gd b/src/Actors/Blobby/BlobbyStateMachine.gd index b6fef01..6c590f4 100644 --- a/src/Actors/Blobby/BlobbyStateMachine.gd +++ b/src/Actors/Blobby/BlobbyStateMachine.gd @@ -181,7 +181,6 @@ func _get_transition(_delta): func _enter_state(new_state, old_state): - print(new_state) if old_state == "idle" && (new_state == "walk" || new_state == "run"): init_boost = true init_boost_type = old_state + "_" + new_state diff --git a/src/Contraptions/Triggers/ElevatorButton.gd b/src/Contraptions/Triggers/ElevatorButton.gd index e8b0c8a..b231e9f 100644 --- a/src/Contraptions/Triggers/ElevatorButton.gd +++ b/src/Contraptions/Triggers/ElevatorButton.gd @@ -4,7 +4,7 @@ onready var buttonPlayer = $"%ButtonPlayer" onready var activatorArea = $"%ActivatorArea" onready var indicatorPlayer = $"%IndicatorPlayer" onready var elevator = get_node("./Portal") -onready var ui = get_node("../UserInterface") +onready var signalManager = get_node("../GameplaySignalManager") func selfActivate(): @@ -18,7 +18,6 @@ func selfActivate(): func _on_ActivatorArea_area_entered(_area:Area2D) -> void: selfActivate() - if ui.has_signal("terminal_activated"): - ui.emit_signal("terminal_activated") + signalManager.emit_signal("terminal_activated") diff --git a/src/Levels/TLT Level.tscn b/src/Levels/TLT Level.tscn index 4f25355..a3f9661 100644 --- a/src/Levels/TLT Level.tscn +++ b/src/Levels/TLT Level.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=11 format=2] +[gd_scene load_steps=12 format=2] [ext_resource path="res://src/Environment/AlienShipTileSet.tres" type="TileSet" id=1] [ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=2] @@ -9,6 +9,7 @@ [ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=7] [ext_resource path="res://src/Contraptions/Triggers/ThreeWhyButtons.tscn" type="PackedScene" id=8] [ext_resource path="res://src/Levels/Enemy Test Level.tscn" type="PackedScene" id=9] +[ext_resource path="res://src/Utilities/GameplaySignalManager.gd" type="Script" id=10] [sub_resource type="AnimationNodeStateMachinePlayback" id=4] @@ -20,6 +21,9 @@ __meta__ = { [node name="UserInterface" parent="." instance=ExtResource( 7 )] +[node name="Timer" parent="UserInterface/HUD/HUDOverlay/GetBackTimer" index="0"] +wait_time = 20.0 + [node name="Blobby" parent="." instance=ExtResource( 2 )] position = Vector2( -60, -3.8147e-06 ) scale = Vector2( 0.878906, 0.936025 ) @@ -108,6 +112,15 @@ position = Vector2( -1464, 84 ) monitoring = false next_scene = ExtResource( 9 ) +[node name="GameplaySignalManager" type="Node2D" parent="."] +script = ExtResource( 10 ) + +[connection signal="timeout" from="UserInterface/HUD/HUDOverlay/GetBackTimer/Timer" to="GameplaySignalManager" method="_on_Timer_timeout"] +[connection signal="getback_timer_up" from="GameplaySignalManager" to="Blobby" method="_on_GameplaySignalManager_getback_timer_up"] +[connection signal="terminal_activated" from="GameplaySignalManager" to="UserInterface/HUD" method="_on_SignalManager_terminal_activated"] + +[editable path="UserInterface"] +[editable path="UserInterface/HUD"] [editable path="Blobby"] [editable path="TreeWhyButtons"] [editable path="TreeWhyButtons/WhyButton1"] diff --git a/src/UserInterface/Screens/HUD.gd b/src/UserInterface/Screens/HUD.gd index ef887b3..aa42f52 100644 --- a/src/UserInterface/Screens/HUD.gd +++ b/src/UserInterface/Screens/HUD.gd @@ -32,5 +32,5 @@ func update_interface() -> void: score.text = "Score: %s" % PlayerData.score -func _on_UserInterface_terminal_activated() -> void: +func _on_SignalManager_terminal_activated() -> void: start_timer() diff --git a/src/UserInterface/UserInterface.gd b/src/UserInterface/UserInterface.gd index 881b621..53bd78d 100644 --- a/src/UserInterface/UserInterface.gd +++ b/src/UserInterface/UserInterface.gd @@ -1,4 +1,3 @@ extends CanvasLayer -signal terminal_activated() diff --git a/src/UserInterface/UserInterface.tscn b/src/UserInterface/UserInterface.tscn index 4f2e4a5..ca07159 100644 --- a/src/UserInterface/UserInterface.tscn +++ b/src/UserInterface/UserInterface.tscn @@ -1,16 +1,12 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=3 format=2] [ext_resource path="res://src/UserInterface/Screens/PauseScreen.tscn" type="PackedScene" id=1] [ext_resource path="res://src/UserInterface/Screens/HUD.tscn" type="PackedScene" id=2] -[ext_resource path="res://src/UserInterface/UserInterface.gd" type="Script" id=3] [node name="UserInterface" type="CanvasLayer"] layer = 2 -script = ExtResource( 3 ) [node name="HUD" parent="." instance=ExtResource( 2 )] [node name="PauseScreen" parent="." instance=ExtResource( 1 )] mouse_filter = 1 - -[connection signal="terminal_activated" from="." to="HUD" method="_on_UserInterface_terminal_activated"] diff --git a/src/Utilities/GameplaySignalManager.gd b/src/Utilities/GameplaySignalManager.gd new file mode 100644 index 0000000..e4f3aa4 --- /dev/null +++ b/src/Utilities/GameplaySignalManager.gd @@ -0,0 +1,9 @@ +extends Node2D + +signal terminal_activated() +signal getback_timer_up() + + + +func _on_Timer_timeout() -> void: + emit_signal("getback_timer_up")