From 46d7e793031a4ac534aa50da43408f4330abe8dc Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Fri, 9 Feb 2024 00:05:05 -0500 Subject: Timer --- racing/load.gd | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'racing/load.gd') diff --git a/racing/load.gd b/racing/load.gd index cd60c65..1455171 100644 --- a/racing/load.gd +++ b/racing/load.gd @@ -29,14 +29,23 @@ func _load(): label.align = Label.ALIGN_RIGHT label.valign = Label.VALIGN_TOP + var timer_label = Label.new() + timer_label.set_name("timer_label") + timer_label.margin_left = 20.0 + timer_label.margin_top = 20.0 + timer_label.align = Label.ALIGN_LEFT + timer_label.valign = Label.VALIGN_TOP + var dynamic_font = DynamicFont.new() dynamic_font.font_data = load("res://fonts/Lingo.ttf") dynamic_font.size = 36 dynamic_font.outline_color = Color(0, 0, 0, 1) dynamic_font.outline_size = 2 label.add_font_override("font", dynamic_font) + timer_label.add_font_override("font", dynamic_font) add_child(label) + add_child(timer_label) var panel_script = load("res://nodes/panel_1.tscn") var victory_panel = panel_script.instance() @@ -56,6 +65,13 @@ func _load(): "MeshInstance5" ) + var timer = Timer.new() + timer.name = "Timer" + timer.set_wait_time(0.03) + timer.set_one_shot(false) + timer.connect("timeout", self, "bump_timer") + add_child(timer) + global._print("Hooked Load Stop") ._load() @@ -66,6 +82,7 @@ func _load(): func victory(): + get_node("Timer").stop() get_node("Multiplayer").player_victory() ingame_achieve("Victory!") @@ -76,3 +93,11 @@ func set_gridmap_tile(x, y, z, tile): var mapvec = gridmap.world_to_map(gridmap.to_local(Vector3(x, y, z))) gridmap.set_cell_item(mapvec.x, mapvec.y, mapvec.z, mesh_library.find_item_by_name(tile)) + + +func bump_timer(): + var race_manager = global.get_node("RaceManager") + var elapsed = float(Time.get_ticks_msec() - race_manager.started_time) / 1000.0 + get_node("timer_label").text = ( + "%d:%02d:%02.2f" % [int(elapsed) / 60 / 60, int(elapsed) / 60 % 60, fmod(elapsed, 60.0)] + ) -- cgit 1.4.1