38 lines
600 B
GDScript
38 lines
600 B
GDScript
extends Node2D
|
|
|
|
signal race_started
|
|
|
|
export (int) var delay = 3
|
|
var timer
|
|
var time_left = delay
|
|
|
|
|
|
func _ready():
|
|
# Set up a timer
|
|
timer = Timer.new()
|
|
add_child(timer)
|
|
timer.wait_time = 1.0
|
|
timer.connect("timeout", self, "_timeout")
|
|
|
|
|
|
|
|
func start():
|
|
set_visible(true)
|
|
time_left = delay
|
|
$Number.set_text("%d" % time_left)
|
|
timer.start()
|
|
return self
|
|
|
|
func _timeout():
|
|
#print("Timeout !")
|
|
time_left -= 1
|
|
if time_left < 0:
|
|
timer.stop()
|
|
set_visible(false)
|
|
elif time_left == 0:
|
|
# Go !
|
|
$Number.set_text("GO")
|
|
emit_signal("race_started")
|
|
else:
|
|
$Number.set_text("%d" % time_left)
|
|
|