speedrun_timer.gd 646 B

123456789101112131415161718192021222324252627282930
  1. extends Control
  2. var time: float;
  3. var secs_previous: int;
  4. var dead: bool = false
  5. func _ready():
  6. reset()
  7. func _process(delta):
  8. if !dead:
  9. time += delta
  10. var secs_raw: int = int(time) % 60;
  11. if secs_raw != secs_previous:
  12. secs_previous = secs_raw
  13. var secs: String = str(int(time) % 60);
  14. var mins: String = str(int(time / 60.0));
  15. if mins.length() == 1:
  16. mins = "0" + mins;
  17. if secs.length() == 1:
  18. secs = "0" + secs;
  19. $Label.set_text("%s:%s" % [mins, secs]);
  20. func stop():
  21. dead = true
  22. func reset():
  23. time = 0.0
  24. secs_previous = -1
  25. dead = false