31 lines
562 B
GDScript
31 lines
562 B
GDScript
extends Node
|
|
|
|
@export var nb_checkpoints := 3
|
|
@export var max_lap := 3
|
|
|
|
signal new_lap(value)
|
|
signal end_track
|
|
|
|
var current_checkpoint := 0
|
|
var current_lap := 0
|
|
|
|
func checkPointEnter(check_point_id):
|
|
if check_point_id != current_checkpoint:
|
|
return
|
|
|
|
if check_point_id == 0:
|
|
current_lap += 1
|
|
current_checkpoint += 1
|
|
new_lap.emit(current_lap)
|
|
else:
|
|
current_checkpoint += 1
|
|
current_checkpoint %= nb_checkpoints
|
|
|
|
if (current_lap == max_lap+1):
|
|
endTrack()
|
|
|
|
func endTrack():
|
|
print("end")
|
|
current_lap = 0
|
|
current_checkpoint = 0
|
|
end_track.emit()
|