Files
Dunkanoid/LevelSelector.gd
Matt Jenkins 81d8e14746 Added pause and mute.
Improved fonts and font scaling
Added level editor
2024-05-05 22:36:32 +01:00

33 lines
976 B
GDScript

extends OptionButton
func _ready() -> void:
update_level_list()
func update_level_list() -> void:
clear()
var already : Array[String] = []
for file in DirAccess.get_files_at("res://Levels"):
if file.ends_with(".json"):
if already.has(file):
continue
already.push_back(file)
var data = JSON.parse_string(FileAccess.get_file_as_string("res://Levels/%s" % file))
add_item(data.name)
set_item_metadata(item_count - 1, "res://Levels/%s" % file)
for file in DirAccess.get_files_at("user://Levels"):
if file.ends_with(".json"):
if already.has(file):
continue
already.push_back(file)
var data = JSON.parse_string(FileAccess.get_file_as_string("user://Levels/%s" % file))
add_item(data.name)
set_item_metadata(item_count - 1, "user://Levels/%s" % file)
func select_by_name(name : String) -> void:
for i in item_count:
if get_item_text(i) == name:
selected = i
func get_selected_text() -> String:
return get_item_text(selected)