39 lines
1.2 KiB
GDScript
39 lines
1.2 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
|
|
|
|
print("update_shield"," ","Current ",(new_value), " ", "(Max ",(max_value),")"," ","Old Value:"," ",old_value)
|
|
|
|
if new_value >= max_value:
|
|
print("No need to tween!")
|
|
|
|
else:
|
|
print("I should be tweening!")
|
|
var tween = create_tween()
|
|
tween.tween_property(shield_bar, "value", (old_value/max_value)*100, .25).set_trans(Tween.TRANS_LINEAR)
|
|
|
|
|
|
|
|
# func _on_shield_ui():
|
|
# print("SHIELD FX!")
|
|
# 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)
|