teststrecke-game/scripts/configFileHandler.gd

70 lines
2.3 KiB
GDScript

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.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
'''