27 lines
981 B
GDScript
27 lines
981 B
GDScript
extends Control
|
|
|
|
@export var health_bar: TextureProgressBar
|
|
@export var stamina_bar: TextureProgressBar
|
|
@export var gold_label: Label
|
|
@onready var player: Player = get_tree().get_first_node_in_group("player")
|
|
|
|
func _ready() -> void:
|
|
player.health_changed.connect(update_health_bar)
|
|
player.stamina_changed.connect(update_stamina_bar)
|
|
player.gold_changed.connect(update_gold_text)
|
|
player.player_loaded.connect(_on_player_loaded)
|
|
|
|
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_gold_text(gold: int) -> void:
|
|
gold_label.text = "Gold: " + str(gold)
|
|
|
|
func _on_player_loaded() -> void:
|
|
update_health_bar(player.health, player.maximum_health)
|
|
update_stamina_bar(player.stamina, player.maximum_stamina)
|
|
update_gold_text(player.gold)
|