small racing game im working on
Diffstat (limited to 'scenes/race_highlevel.gd')
| -rw-r--r-- | scenes/race_highlevel.gd | 18 |
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() |