Shmup-01b/ui.gd
2025-12-16 23:19:03 +00:00

34 lines
1.1 KiB
GDScript

extends MarginContainer
@onready var shield_bar = $HBoxContainer/ShieldBar
@onready var score_counter = $HBoxContainer/ScoreCounter
var shader_active = false
func _ready():
# 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 _on_shield_changed(max_value: int, old_value: int, new_value: int) -> void:
shield_bar.max_value = max_value
shield_bar.value = new_value
var shield_depletion = int(old_value - new_value)
print("Shield Depletion:", old_value, "-", new_value, " = ", shield_depletion)
var tween = create_tween()
tween.tween_property(shield_bar, "value", new_value - shield_depletion, .20).set_trans(Tween.TRANS_LINEAR)
_on_shield_ui()
func _on_shield_ui():
shader_active = true
shield_bar.material.set_shader_parameter("toggle", 1.0)
await get_tree().create_timer(1).timeout
shader_active = false
shield_bar.material.set_shader_parameter("toggle", 0.0)