small racing game im working on
Diffstat (limited to 'scenes/race_highlevel.gd')
| -rw-r--r-- | scenes/race_highlevel.gd | 35 |
1 files changed, 13 insertions, 22 deletions
diff --git a/scenes/race_highlevel.gd b/scenes/race_highlevel.gd index 4628cef..79ac020 100644 --- a/scenes/race_highlevel.gd +++ b/scenes/race_highlevel.gd @@ -10,53 +10,44 @@ extends Splitscreen @export var ghost_scene: PackedScene @export var track_loader_scene: PackedScene - var race: Race var huds: Array[HUD] func _ready() -> void: - super() scale = Globals.cfg.get_value(SettingsSaver.GRAPHIC, "viewport_scale") / 100 - await get_tree().physics_frame race = Race.new(Globals.playing, Globals.ghost, car_scene, ghost_scene, track_loader_scene) race.did_reset.connect(count_in) - race.cars_needed = Globals.players add_child(race) - for player in Globals.players: - add_player() + add_player() + super() # cant call it join because of overriding and stuff func add_player() -> void: - var car := len(players) - var v := join() - var c_cam := CarCamera.new(race.cars[car]) + await get_tree().physics_frame + 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.cars[car], race.timers[car], race.track) + hud.assigned.emit(race.car, race.timer, race.track) v.add_child(hud) - race.split.connect(func(t, p, n): if n == car: hud.splits.update(t, p)) + race.split.connect(hud.splits.update) race.next_lap.connect(hud.laps.increment) huds.append(hud) i_cam.finished.connect(count_in) race.did_reset.connect(c_cam.reset) race.did_reset.connect(hud.laps.reset) - race.finished.connect(func(t: float, p_t: float, n: int): - if n != car: - return + race.finished.connect(func(t: float, p_t: float): var finish: FinishUI = finish_scene.instantiate() hud.add_child(finish) finish.set_time(t, p_t) - finish.retry.disabled = players.size() > 1 - finish.quit.disabled = players.size() > 1 - race.all_finished.connect(func(): - finish.retry.disabled = false - finish.quit.disabled = false + finish.retry.connect(func(): + race.reset() + finish.queue_free() + get_tree().paused = false ) - finish.retry.pressed.connect(race.reset) - race.did_reset.connect(finish.queue_free) - finish.quit.pressed.connect(queue_free) + finish.quit.connect(queue_free) ) func count_in(): |