small racing game im working on
Diffstat (limited to 'scenes/race_highlevel.gd')
-rw-r--r--scenes/race_highlevel.gd18
1 files changed, 16 insertions, 2 deletions
diff --git a/scenes/race_highlevel.gd b/scenes/race_highlevel.gd
index ba14ac3..aefead5 100644
--- a/scenes/race_highlevel.gd
+++ b/scenes/race_highlevel.gd
@@ -2,8 +2,10 @@ extends Splitscreen
@export var hud_scene: PackedScene
@export var countdown_scene: PackedScene
+@export var finish_scene: PackedScene
## For lowlevel race
+@export_group("racing stuff")
@export var car_scene: PackedScene
@export var ghost_scene: PackedScene
@export var track_loader_scene: PackedScene
@@ -13,13 +15,14 @@ var huds: Array[HUD]
func _ready() -> void:
race = Race.new(Globals.playing, car_scene, ghost_scene, track_loader_scene)
- race.reset.connect(count_in)
+ race.did_reset.connect(count_in)
add_child(race)
add_player()
super()
# cant call it join because of overriding and stuff
func add_player() -> void:
+ await get_tree().physics_frame
var c_cam := CarCamera.new(race.car)
var i_cam := IntroCam.new(Globals.playing, c_cam)
var v := join()
@@ -32,7 +35,18 @@ func add_player() -> void:
race.next_lap.connect(hud.laps.increment)
huds.append(hud)
i_cam.finished.connect(count_in)
- race.reset.connect(c_cam.reset)
+ race.did_reset.connect(c_cam.reset)
+ race.did_reset.connect(hud.laps.reset)
+ race.finished.connect(func(t: float, p_t: float):
+# get_tree().paussed = true
+ var finish: FinishUI = finish_scene.instantiate()
+ hud.add_child(finish)
+ finish.set_time(t, p_t)
+ finish.retry.connect(func():
+ race.reset()
+ finish.queue_free()
+ )
+ )
func count_in():
var countdown := countdown_scene.instantiate()