extends Control var config = ConfigFile.new() var category = "" var item = "" var stats = [] var items = [] var module_scene func _enter_tree() -> void: config.load("res://02 - Configurations/" + category + ".ini") create_book() func create_book(): var conf_modules = ConfigFile.new() conf_modules.load("res://02 - Configurations/campaign/modules.ini") stats = conf_modules.get_section_keys(category) print(str(stats)) for i in stats: module_scene = load("res://01 - Menus/04 - Modules/module.tscn").instantiate() module_scene.size.x = %container.size.x %container.add_child(module_scene) module_scene.text = i module_scene.custom_minimum_size = Vector2(256,64) var module = conf_modules.get_value(category,i,"").split(":",true) create_module(module,i) func create_module(module,i): match module[0]: "Array": match module[1]: "int": var fixed_array = [0] fixed_array.resize(int(module[2])) fixed_array.fill(0) var value = config.get_value(item,i,fixed_array) for j in value: module_scene.module_type = LineEdit module_scene.value = j module_scene.init() "list": match module[2]: "rec": pass "multi": for j in config.get_value(item,i,[]): module_scene.module_type = LineEdit module_scene.value = j module_scene.init() var conf_category = ConfigFile.new() conf_category.load("res://02 - Configurations/" + i + ".ini") var add_stat = OptionButton.new() add_stat.add_separator("Add " + i) add_stat.set_item_disabled(0,true) for j in conf_category.get_sections(): if not config.get_value(item,i,[]).has(j): add_stat.add_item(j) add_stat.select(0) "single": var conf_category = ConfigFile.new() conf_category.load("res://02 - Configurations/" + i + ".ini") var add_stat = OptionButton.new() add_stat.add_separator("Select " + i) add_stat.set_item_disabled(0,true) for j in conf_category.get_sections(): add_stat.add_item(j) add_stat.select(1 + conf_category.get_sections().find(config.get_value(item,i,[""])[0])) "Text": match module[1]: "short": var stat = LineEdit.new() stat.text = str(config.get_value(item,i,"")) "long": var stat = TextEdit.new() stat.wrap_mode = 1 stat.clip_contents = false stat.text = config.get_value(item,i,"") module_scene.init() #func rec(i,conf,k): #var conff = "res://02 - Configurations/" + conf + ".ini" #config = ConfigFile.new() #config.load(conff) #print("modules_list:rec:1 conff = " + conff) #print("modules_list:rec:2 sections = " + str(config.get_section_keys(k))) #print("modules_list:rec:3 k = " + str(k)) #print("modules_list:rec:4 i = " + str(i)) #if config.get_section_keys(k).has(i): #var m = config.get_value(k,i) #print("modules_list:rec:5 " + (k) + " has " + str(m) + " as " + str(i)) #if module == i: #print("modules_list:rec:6 " + str(items)) #for b in config.get_value(k,i,[]): #print("modules_list:rec:10 " + str(b) + str(items)) #if not items.has(b) and b != "": #items = items + [b] #print("modules_list:rec:11 adding " + b + " to list") #if item_filter == "": #%list.add_item(str(b)) #%list.set_item_tooltip(%list.item_count - 1, k) #if conf != category: #%list.set_item_custom_bg_color(%list.item_count - 1,"black") #elif item_filter.to_lower() in b.to_lower(): #%list.add_item(str(b)) #else: #%list.item_count = %list.item_count -1 #print("modules_list:rec:12 " + i + " " + str(category)) #if i != category: #print("modules_list:rec:7 " + str(rec_helper.slice(rec_helper.find(i),-1))) #print("modules_list:rec:8 " + str(m)) #for o in rec_helper.slice(rec_helper.find(i),rec_helper.size()): #print(str(o)) #for j in m: #print("modules_list:rec:9 rec " + o + " - " + i + " - " + j) #rec(o,i,j) func _on_close_button_up() -> void: queue_free() func redraw(): for i in %container.get_children(): i.resize()