diff --git a/scripts/wardrobe.gd b/scripts/wardrobe.gd index 0e9ab73..54d8ed9 100644 --- a/scripts/wardrobe.gd +++ b/scripts/wardrobe.gd @@ -9,7 +9,24 @@ onready var shirts_grid = $Shirts/ShirtsScroll/ShirtsGrid onready var undies_grid = $Underwear/UndiesScroll/UndiesGrid onready var accs_grid = $Accessoires/AccsScroll/AccsGrid -func get_dlc(dlc_pack, scenes: Array): +func list_files_in_directory(path): + var files = [] + var dir = Directory.new() + dir.open(path) + dir.list_dir_begin() + + while true: + var file = dir.get_next() + if file == "": + break + elif not file.begins_with("."): + files.append(file) + + dir.list_dir_end() + + return files + +func check_for_dlc(dlc_pack): var usr_dir = "user://dlc/" var dlc_path = usr_dir + dlc_pack var load_pck = ProjectSettings.load_resource_pack(dlc_path, false) @@ -20,21 +37,38 @@ func get_dlc(dlc_pack, scenes: Array): # Load the DLC ProjectSettings.load_resource_pack(dlc_path, false) - # Initialize and add nodes from each tab - for scene in scenes: - var dlc_scene = "res://scenes/dlc/" + scene - var init = load(dlc_scene).instance() - - if "shirts" in scene: + # Locates + var dir = Directory.new() + dir.list_dir_begin() + var shirts_dir = "res://scenes/dlc/shirts/" + var pants_dir = "res://scenes/dlc/pants/" + var undies_dir = "res://scenes/dlc/undies/" + var dlc_shirts = list_files_in_directory(shirts_dir) + var dlc_pants = list_files_in_directory(pants_dir) + var dlc_undies = list_files_in_directory(undies_dir) + + # Initialize and add nodes from each tab + for shirt in dlc_shirts: + if dir.file_exists(shirts_dir + shirt): + var init = load(shirts_dir + shirt).instance() shirts_grid.add_child(init) - print_debug("Initialized: " + dlc_scene) + print_debug("Initialized: " + shirts_dir + shirt) - if "pants" in scene: - pants_grid.add_child(init) - print_debug("Initialized: " + dlc_scene) + for pants in dlc_pants: + if dir.file_exists(pants_dir + pants): + var init = load(pants_dir + pants).instance() + shirts_grid.add_child(init) + print_debug("Initialized: " + pants_dir + pants) + + for undies in dlc_undies: + if dir.file_exists(undies_dir + undies): + var init = load(undies_dir + undies).instance() + shirts_grid.add_child(init) + print_debug("Initialized: " + undies_dir + undies) func _ready(): - get_dlc("testdlc.pck", ["shirts/TestShirts.tscn"]) +# check_for_dlc("testdlc.pck") + pass func _on_removeAccessory_pressed(): character.accessory = blank_top