Files
SECAS_game/scripts/info_hud.gd
T

33 lines
741 B
GDScript

extends Control
@export var hp_animation_dur: float
var healthbar_full_size: Vector2
var hp_value: Panel
var hp_tween: Tween
func _ready():
healthbar_full_size = $HealthbarBase/HealthbarValue.size
hp_value = $HealthbarBase/HealthbarValue
## The amount is a value between 0..1
func set_health(a: float):
var f_pos: float = healthbar_full_size.y - (a * hp_value.size.y)
var user_favor: float = sin(a * PI) * 10
f_pos -= user_favor
f_pos = clamp(f_pos, 0, healthbar_full_size.y)
if hp_value.position.y == f_pos: return;
if hp_tween && hp_tween.is_running(): hp_tween.kill()
hp_tween = create_tween()
hp_tween.set_trans(Tween.TRANS_LINEAR)
hp_tween.tween_property(
hp_value,
"position:y",
f_pos,
hp_animation_dur
)