70 lines
2.3 KiB
GDScript
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
|
|
'''
|