newlon/scripts/autoloads/game_registry.gd
2025-08-02 23:32:32 +05:00

23 lines
686 B
GDScript

extends Node
class_name GameRegistry
static func load_resources(directory : String, recursion : bool) -> Array[Resource]:
var result : Array[Resource] = []
var dir = DirAccess.open(directory)
if dir == null:
return result
# Used to ignore last slash if it was provided in _path
var path = dir.get_current_dir()
if recursion:
for subdir in dir.get_directories():
var subdir_path = "%s/%s" % [ path, subdir ]
result.append_array(load_resources(subdir_path,true))
for filename in dir.get_files():
if !filename.ends_with('.tres'):
continue
var filepath = "%s/%s" % [ path, filename ]
var res = ResourceLoader.load(filepath)
result.append(res)
return result