Fixed _on_shield_changed logic to smoothly tween shield bar. Added a
function call to trigger shader to flash shield bar.
This commit is contained in:
parent
9f2569a73c
commit
afc5c68569
1 changed files with 14 additions and 10 deletions
24
ui.gd
24
ui.gd
|
|
@ -3,7 +3,7 @@ extends MarginContainer
|
||||||
@onready var shield_bar = $HBoxContainer/ShieldBar
|
@onready var shield_bar = $HBoxContainer/ShieldBar
|
||||||
@onready var score_counter = $HBoxContainer/ScoreCounter
|
@onready var score_counter = $HBoxContainer/ScoreCounter
|
||||||
|
|
||||||
# var shader_active = false
|
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")
|
||||||
|
|
@ -18,22 +18,26 @@ 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 = new_value
|
shield_bar.value = new_value
|
||||||
|
|
||||||
print("update_shield"," ","Current ",(new_value), " ", "(Max ",(max_value),")"," ","Old Value:"," ",old_value)
|
print("update_shield"," ","Current ",(new_value), " ", "(Max ",(max_value),")"," ","Old Value:"," ",(old_value))
|
||||||
|
|
||||||
if new_value >= max_value:
|
if new_value >= max_value:
|
||||||
print("No need to tween!")
|
print("No need to tween!")
|
||||||
|
|
||||||
else:
|
else:
|
||||||
print("I should be tweening!")
|
print("I should be tweening!")
|
||||||
|
var shield_depletion = int(old_value - new_value)
|
||||||
|
print("Shield Depletion:", old_value, "-", new_value, " = ", shield_depletion)
|
||||||
var tween = create_tween()
|
var tween = create_tween()
|
||||||
tween.tween_property(shield_bar, "value", (old_value/max_value)*100, .25).set_trans(Tween.TRANS_LINEAR)
|
tween.tween_property(shield_bar, "value", new_value - shield_depletion, .20).set_trans(Tween.TRANS_LINEAR)
|
||||||
|
_on_shield_ui()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# func _on_shield_ui():
|
|
||||||
# print("SHIELD FX!")
|
func _on_shield_ui():
|
||||||
# shader_active = true
|
print("SHIELD FX!")
|
||||||
# shield_bar.material.set_shader_parameter("toggle", 1.0)
|
shader_active = true
|
||||||
# await get_tree().create_timer(1).timeout
|
shield_bar.material.set_shader_parameter("toggle", 1.0)
|
||||||
# shader_active = false
|
await get_tree().create_timer(1).timeout
|
||||||
# shield_bar.material.set_shader_parameter("toggle", 0.0)
|
shader_active = false
|
||||||
|
shield_bar.material.set_shader_parameter("toggle", 0.0)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue