20 lines
844 B
GDScript
20 lines
844 B
GDScript
extends Sprite3D
|
|
|
|
@onready var name_label: Label = $EnemyOverlay/Stats/Name
|
|
@onready var health_bar: TextureProgressBar = $EnemyOverlay/Stats/Bars/Health
|
|
@onready var stamina_bar: TextureProgressBar = $EnemyOverlay/Stats/Bars/Stamina
|
|
|
|
func _ready() -> void:
|
|
owner.health_changed.connect(update_health_bar)
|
|
owner.stamina_changed.connect(update_stamina_bar)
|
|
owner.name_changed.connect(update_name_text)
|
|
|
|
func update_health_bar(current_health: int, maximum_health: int) -> void:
|
|
health_bar.value = (100.0 / maximum_health) * current_health
|
|
|
|
func update_stamina_bar(current_stamina: int, maximum_stamina: int) -> void:
|
|
stamina_bar.value = (100.0 / maximum_stamina) * current_stamina
|
|
|
|
func update_name_text(enemy_name: String, current_state: String) -> void:
|
|
name_label.text = "%s (%s)" % [enemy_name, current_state]
|