small racing game im working on
Diffstat (limited to 'ui/tracks.gd')
-rw-r--r--ui/tracks.gd15
1 files changed, 12 insertions, 3 deletions
diff --git a/ui/tracks.gd b/ui/tracks.gd
index f2ea755..89463b6 100644
--- a/ui/tracks.gd
+++ b/ui/tracks.gd
@@ -2,17 +2,26 @@ extends GridContainer
@export var tracks: Array[TrackResource]
@export var race: PackedScene
+@export var ghost_watch: PackedScene
@export var trackbutton: PackedScene
func _ready() -> void:
for track in tracks:
- var button := trackbutton.instantiate()
+ var button: TrackButton = trackbutton.instantiate()
add_child(button)
var ghost := GhostData._load(Globals.SAVES % track.name)
await button.init(track, ghost)
- button.pressed.connect(track_selected.bind(track))
+ button.play.connect(play.bind(track, ghost))
+ button.watch.connect(watch.bind(track, ghost))
-func track_selected(track: TrackResource) -> void:
+func play(track: TrackResource, ghost: GhostData) -> void:
print("play %s" % track.name)
Globals.playing = track
+ Globals.ghost = ghost
get_tree().change_scene_to_packed(race)
+
+func watch(track: TrackResource, ghost: GhostData) -> void:
+ print("watch %s" % track.name)
+ Globals.playing = track
+ Globals.ghost = ghost
+ get_tree().change_scene_to_packed(ghost_watch)