extends Node var config = ConfigFile.new() const SETTINGS_FILE_PATH = "config.ini" func _ready() -> void: if !FileAccess.file_exists(SETTINGS_FILE_PATH): config.set_value("keywhitelist", "enabled", false) config.set_value("video", "fullscreen", false) config.set_value("general", "remove_cars_timeout", 15) config.set_value("general", "automatic_map_change_after", 2) config.set_value("general", "fast_mode_chance", 0.0) config.set_value("general", "rounds", 3) config.save(SETTINGS_FILE_PATH) else: config.load(SETTINGS_FILE_PATH) func save_video_setting(key: String, value): config.set_value("video", key,value) config.save(SETTINGS_FILE_PATH) func get_video_setting(key: String): return config.get_value("video", key) func save_general_setting(key: String, value): config.set_value("general", key,value) config.save(SETTINGS_FILE_PATH) func get_general_setting(key: String): return config.get_value("general", key) func get_keywhitelist_setting(): var keywhitelist=[] if config.get_value("keywhitelist", "enabled"): for key in config.get_section_keys("keywhitelist"): if key.is_valid_int(): #is a playernumber print("added "+str(key)+" to whitelist of keys") keywhitelist.append(int(config.get_value("keywhitelist",key))) return keywhitelist #returns empty list if enabled is false func save_keywhitelist_setting(whitelist): for key in config.get_section_keys("keywhitelist"): if key.is_valid_int(): #is a playernumber config.set_value("keywhitelist",key,"none") #set all existing keys to -1 = none var i=0 for k in whitelist: print("saving keywhitelist "+str(i)+" = "+str(k)) config.set_value("keywhitelist",str(i),str(k)) i+=1 config.save(SETTINGS_FILE_PATH) func get_playeroverridecolor_setting(i:int): if config.get_section_keys("keycolors").has(str(i)): return Color(config.get_value("keycolors",str(i))) else: return null ''' func get_playeroverridecolors_setting(): var playeroverridecolors=[] for key in config.get_section_keys("keycolors"): if key.is_valid_int(): #is a playernumber print("added "+str(key)+" to colors with value="+str(config.get_value("keycolors",key))) playeroverridecolors.append(Color(config.get_value("keycolors",key))) #TODO parse string to color return playeroverridecolors #returns empty list if enabled is false '''