From 1ebba28e5df5bfb3aceb5911f0c4de9342241518 Mon Sep 17 00:00:00 2001 From: Henry Date: Mon, 15 Dec 2025 10:20:23 +0000 Subject: [PATCH] Updated event_bus to have shield change single; attempted to update player's set shield but running into problems at runtime. --- event_bus.gd | 7 +++++++ events.gd.uid => event_bus.gd.uid | 0 events.gd | 2 -- main.tscn | 5 +++-- player.gd | 3 +-- project.godot | 2 +- ui.gd | 11 ++++++----- 7 files changed, 18 insertions(+), 12 deletions(-) create mode 100644 event_bus.gd rename events.gd.uid => event_bus.gd.uid (100%) delete mode 100644 events.gd diff --git a/event_bus.gd b/event_bus.gd new file mode 100644 index 0000000..d860734 --- /dev/null +++ b/event_bus.gd @@ -0,0 +1,7 @@ +extends Node + +@warning_ignore_start("unused_signal") # since otherwise Godot will throw a warning that the signal is unused in current scope + +signal shield_changed(max_value: int, old_value: int, new_value: int) + +@warning_ignore_restore("unused_signal") # put any future signals you add between the two ignore annotations diff --git a/events.gd.uid b/event_bus.gd.uid similarity index 100% rename from events.gd.uid rename to event_bus.gd.uid diff --git a/events.gd b/events.gd deleted file mode 100644 index 487b284..0000000 --- a/events.gd +++ /dev/null @@ -1,2 +0,0 @@ -extends Node - diff --git a/main.tscn b/main.tscn index c4f77db..3a9c041 100644 --- a/main.tscn +++ b/main.tscn @@ -61,6 +61,9 @@ region_rect = Rect2(0, 0, 240, 320) [node name="Player" parent="." instance=ExtResource("2_0xm2m")] position = Vector2(123, 270) +max_shield = null +speed = null +cooldown = null [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { @@ -89,6 +92,4 @@ texture_normal = ExtResource("5_lquwl") layout_mode = 2 texture = ExtResource("6_7mycd") -[connection signal="died" from="Player" to="." method="_on_player_died"] -[connection signal="shield_changed" from="Player" to="CanvasLayer/UI" method="update_shield"] [connection signal="pressed" from="CanvasLayer/CenterContainer/Start" to="." method="_on_start_pressed"] diff --git a/player.gd b/player.gd index 464581a..199b65b 100644 --- a/player.gd +++ b/player.gd @@ -1,7 +1,6 @@ extends Area2D signal died -signal shield_changed(max_value: int, old_value: int, new_value: int) signal damage_taken signal shield_damage signal shield_ui @@ -31,7 +30,7 @@ func start(): func set_shield(value: int): var old_value: int = shield shield = min(max_shield, value) - shield_changed.emit(max_shield, old_value, shield) + EventBus.shield_changed.emit(max_shield, old_value, shield) shield_damage.emit() if shield <= 0: set_process(false) diff --git a/project.godot b/project.godot index c9c0499..d690f5a 100644 --- a/project.godot +++ b/project.godot @@ -16,7 +16,7 @@ config/icon="res://icon.svg" [autoload] -Events="*res://events.gd" +EventBus="*res://event_bus.gd" [display] diff --git a/ui.gd b/ui.gd index 84b5ca4..8a47310 100644 --- a/ui.gd +++ b/ui.gd @@ -6,20 +6,21 @@ extends MarginContainer var shader_active = false func _ready(): - get_node("Player.Ship").node_ready.connect("shield_ui", self, "_on_shield_ui") + get_node("Player.Ship").node_ready.connect("shield_ui", self, "_on_shield_ui") + EventBus.shield_changed.connect(_on_shield_changed) func update_score(value): score_counter.display_digits(value) -func update_shield(max_value, value, old_value): +func _on_shield_changed(max_value: int, old_value: int, new_value: int) -> void: shield_bar.max_value = max_value - shield_bar.value = value + shield_bar.value = new_value - print("update_shield"," ","Current ",(value), " ", "(Max ",(max_value),")"," ","Old Value:"," ",old_value) + print("update_shield"," ","Current ",(new_value), " ", "(Max ",(max_value),")"," ","Old Value:"," ",old_value) - if value >= max_value: + if new_value >= max_value: print("No need to tween!") else: