1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
extends TrackSelect class_name BuiltinTrackSelect func _ready() -> void: _load() Globals.track_select = self mkbuttons(Globals.builtin_tracks) super() func _exit_tree() -> void: Globals.track_select = null func _load(): var tracks: Array = str_to_var(FileAccess.get_file_as_string("res://tracks.cfg")) for track in tracks: var loaded := TrackResource.from_d(track) loaded.builtin = true Globals.builtin_tracks.append(loaded) func add(t: TrackResource): t.builtin = true mkbutton(t) Globals.builtin_tracks.append(t) BuiltinTrackSelect.store_all() static func delete(t: TrackResource): Globals.builtin_tracks.erase(t) BuiltinTrackSelect.store_all() static func store_all(): var arr: Array = Globals.builtin_tracks.map(func(t: TrackResource) -> Dictionary: return t.to_d()) var file := FileAccess.open("res://tracks.cfg", FileAccess.WRITE) file.store_string(var_to_str(arr))