game: add elapsed time to ui

This commit is contained in:
2025-08-19 14:56:22 +02:00
parent a9ad276846
commit c765368c03
3 changed files with 25 additions and 3 deletions

View File

@@ -80,10 +80,18 @@ layout_mode = 0
offset_right = 1280.0
offset_bottom = 100.0
[node name="ProgressBar" type="ProgressBar" parent="CanvasLayer/PlayerUI/CenterContainer"]
[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/PlayerUI/CenterContainer"]
layout_mode = 2
[node name="ProgressBar" type="ProgressBar" parent="CanvasLayer/PlayerUI/CenterContainer/VBoxContainer"]
custom_minimum_size = Vector2(400, 0)
layout_mode = 2
[node name="ElapsedLabel" type="Label" parent="CanvasLayer/PlayerUI/CenterContainer/VBoxContainer"]
layout_mode = 2
text = "10:00:00"
horizontal_alignment = 2
[node name="DebugUI" type="Control" parent="CanvasLayer"]
layout_mode = 3
anchors_preset = 15

View File

@@ -1,8 +1,18 @@
class_name PlayerUI
extends Control
@onready var hp_bar: ProgressBar = $CenterContainer/ProgressBar
@onready var hp_bar: ProgressBar = $CenterContainer/VBoxContainer/ProgressBar
@onready var elapsed_label: Label = $CenterContainer/VBoxContainer/ElapsedLabel
func set_hp(value: float):
hp_bar.value = value
func set_elapsed_time(value: float):
elapsed_label.text = format_time(value)
func format_time(seconds: float) -> String:
var total_ms = int(seconds * 1000.0)
var s = (total_ms / 1000) % 60
var m = (total_ms / 60000)
return "%02d:%02d" % [m, s]