game: add elapsed time to ui
This commit is contained in:
@@ -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
|
||||
|
@@ -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]
|
||||
|
Reference in New Issue
Block a user