small racing game im working on
Diffstat (limited to 'scenes/race_highlevel.gd')
-rw-r--r--scenes/race_highlevel.gd29
1 files changed, 29 insertions, 0 deletions
diff --git a/scenes/race_highlevel.gd b/scenes/race_highlevel.gd
new file mode 100644
index 0000000..904a00b
--- /dev/null
+++ b/scenes/race_highlevel.gd
@@ -0,0 +1,29 @@
+extends Splitscreen
+
+@export var race_scene: PackedScene
+@export var hud_scene: PackedScene
+@export var countdown_scene: PackedScene
+
+var race: Race
+var huds: Array[HUD]
+
+func _ready() -> void:
+ race = race_scene.instantiate()
+ race.initialize(Globals.playing)
+ add_child(race)
+ add_player()
+ super()
+
+# cant call it join because of overriding and stuff
+func add_player() -> void:
+ var c_cam := CarCamera.new(race.car)
+ var i_cam := IntroCam.new(Globals.playing, c_cam)
+ var v := join()
+ v.viewport.add_child(c_cam)
+ v.viewport.add_child(i_cam)
+ var hud = hud_scene.instantiate()
+ hud.assigned.emit(race.car, race.ghost, race.timer, race.track)
+ v.add_child(hud)
+ race.split.connect(hud.splits.update)
+ race.next_lap.connect(hud.laps.increment)
+ i_cam.finished.connect(func(): var countdown := countdown_scene.instantiate(); v.add_child(countdown); countdown.finished.connect(func(): race.start()))