small racing game im working on
Diffstat (limited to 'race.gd')
-rw-r--r--race.gd14
1 files changed, 8 insertions, 6 deletions
diff --git a/race.gd b/race.gd
index d0af4dd..5729b2e 100644
--- a/race.gd
+++ b/race.gd
@@ -1,11 +1,10 @@
extends Node3D
class_name Race
-@export var car_scene: PackedScene
-@export var ghost_scene: PackedScene
-@export var track_loader_scene: PackedScene
-
# in order of initialization
+var car_scene: PackedScene
+var track_loader_scene: PackedScene
+var ghost_scene: PackedScene
var track_res: TrackResource
var track: TrackLoader
var data: TrackSaveableData
@@ -27,7 +26,10 @@ signal created_ghost(ghost: GhostCar)
signal finished
signal split(time: float, prev_time: float)
-func initialize(t: TrackResource) -> void:
+func _init(t: TrackResource, _car_scene, _ghost_scene, _track_loader_scene) -> void:
+ car_scene = _car_scene
+ ghost_scene = _ghost_scene
+ track_loader_scene = _track_loader_scene
track_res = t
func mkghost() -> void:
@@ -45,7 +47,6 @@ func mkcar() -> void:
car.visible = false
add_child(car)
car.rotation = track.start_rot + Vector3(0, PI, -PI/2)
- # car.set_deferred(&"rotation", track.start_rot + Vector3(0, PI, -PI/2))
car.global_position = track.start_pos + Vector3(0, 2, 0) - (car.ball.global_transform.basis.z * 2) # bump forward a teensy bit
car.visible = true
created_car.emit(car)
@@ -81,6 +82,7 @@ func passed_finish() -> void:
finished.emit()
playing = false
print("finished")
+ timer.stop()
if not best_time_data or data.time < best_time_data.time:
print("new pb!")
SaveLoad.save(saves % track_res.name, data.data())