small racing game im working on
Diffstat (limited to 'classes/timer.gd')
-rw-r--r--classes/timer.gd26
1 files changed, 26 insertions, 0 deletions
diff --git a/classes/timer.gd b/classes/timer.gd
new file mode 100644
index 0000000..01684b5
--- /dev/null
+++ b/classes/timer.gd
@@ -0,0 +1,26 @@
+extends Node
+class_name GameTimer
+
+var elapsed_time: float = 0.0
+
+func _ready() -> void:
+ stop()
+
+func start() -> void:
+ set_process(true)
+
+func stop() -> void:
+ set_process(false)
+
+func now() -> float:
+ return elapsed_time
+
+## format a number of seconds into m:s.ms
+static func format(time: float) -> String:
+ return "%01d:%02d.%02d" % [time / 60, fmod(time, 60), fmod(time * 1000, 100)]
+
+func fmt_now() -> String:
+ return GameTimer.format(elapsed_time)
+
+func _process(delta: float) -> void:
+ elapsed_time += delta \ No newline at end of file