small racing game im working on
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
extends TrackSelect
class_name BuiltinTrackSelect

func _ready() -> void:
	_load()
	mkbuttons(Globals.builtin_tracks)
	super()

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):
	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))