33 lines
976 B
GDScript
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)
|