Updated event_bus to have shield change single; attempted to update
player's set shield but running into problems at runtime.
This commit is contained in:
parent
d64504189a
commit
1ebba28e5d
7 changed files with 18 additions and 12 deletions
7
event_bus.gd
Normal file
7
event_bus.gd
Normal file
|
|
@ -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
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
extends Node
|
|
||||||
|
|
||||||
|
|
@ -61,6 +61,9 @@ region_rect = Rect2(0, 0, 240, 320)
|
||||||
|
|
||||||
[node name="Player" parent="." instance=ExtResource("2_0xm2m")]
|
[node name="Player" parent="." instance=ExtResource("2_0xm2m")]
|
||||||
position = Vector2(123, 270)
|
position = Vector2(123, 270)
|
||||||
|
max_shield = null
|
||||||
|
speed = null
|
||||||
|
cooldown = null
|
||||||
|
|
||||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
libraries = {
|
libraries = {
|
||||||
|
|
@ -89,6 +92,4 @@ texture_normal = ExtResource("5_lquwl")
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
texture = ExtResource("6_7mycd")
|
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"]
|
[connection signal="pressed" from="CanvasLayer/CenterContainer/Start" to="." method="_on_start_pressed"]
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
extends Area2D
|
extends Area2D
|
||||||
|
|
||||||
signal died
|
signal died
|
||||||
signal shield_changed(max_value: int, old_value: int, new_value: int)
|
|
||||||
signal damage_taken
|
signal damage_taken
|
||||||
signal shield_damage
|
signal shield_damage
|
||||||
signal shield_ui
|
signal shield_ui
|
||||||
|
|
@ -31,7 +30,7 @@ func start():
|
||||||
func set_shield(value: int):
|
func set_shield(value: int):
|
||||||
var old_value: int = shield
|
var old_value: int = shield
|
||||||
shield = min(max_shield, value)
|
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()
|
shield_damage.emit()
|
||||||
if shield <= 0:
|
if shield <= 0:
|
||||||
set_process(false)
|
set_process(false)
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ config/icon="res://icon.svg"
|
||||||
|
|
||||||
[autoload]
|
[autoload]
|
||||||
|
|
||||||
Events="*res://events.gd"
|
EventBus="*res://event_bus.gd"
|
||||||
|
|
||||||
[display]
|
[display]
|
||||||
|
|
||||||
|
|
|
||||||
9
ui.gd
9
ui.gd
|
|
@ -7,19 +7,20 @@ var shader_active = false
|
||||||
|
|
||||||
func _ready():
|
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):
|
func update_score(value):
|
||||||
score_counter.display_digits(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.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!")
|
print("No need to tween!")
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue