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