game: add elapsed time to ui
This commit is contained in:
@@ -2,11 +2,15 @@ extends Node2D
|
|||||||
@onready var main_ui: MainUI = $MainUI
|
@onready var main_ui: MainUI = $MainUI
|
||||||
@onready var main_camera: Camera2D = $MainCamera
|
@onready var main_camera: Camera2D = $MainCamera
|
||||||
|
|
||||||
|
var elapsed_time: float = 0.0
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
GlobalConst.sig_debug_camera_zoom.connect(debug_zoom)
|
GlobalConst.sig_debug_camera_zoom.connect(debug_zoom)
|
||||||
Engine.time_scale = 1.0
|
Engine.time_scale = 1.0
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
elapsed_time += delta
|
||||||
|
main_ui.player_ui.set_elapsed_time(elapsed_time)
|
||||||
|
|
||||||
func _unhandled_input(event: InputEvent) -> void:
|
func _unhandled_input(event: InputEvent) -> void:
|
||||||
if event.is_action_pressed("ui_cancel"):
|
if event.is_action_pressed("ui_cancel"):
|
||||||
|
@@ -80,10 +80,18 @@ layout_mode = 0
|
|||||||
offset_right = 1280.0
|
offset_right = 1280.0
|
||||||
offset_bottom = 100.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)
|
custom_minimum_size = Vector2(400, 0)
|
||||||
layout_mode = 2
|
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"]
|
[node name="DebugUI" type="Control" parent="CanvasLayer"]
|
||||||
layout_mode = 3
|
layout_mode = 3
|
||||||
anchors_preset = 15
|
anchors_preset = 15
|
||||||
|
@@ -1,8 +1,18 @@
|
|||||||
class_name PlayerUI
|
class_name PlayerUI
|
||||||
extends Control
|
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):
|
func set_hp(value: float):
|
||||||
hp_bar.value = value
|
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