![]() |
Attention | Topic was automatically imported from the old Question2Answer platform. |
![]() |
Asked By | JerryHayat |
I began to study conservation and ran into a problem. The code saves only what was originally set and ignores subsequent changes to the variable. I did it using different examples.
extends Control
var FPSview = false
var lang = 1
var Volume = 1
const SAVE_PATH = "res://config.cfg"
var _config_file = ConfigFile.new()
var _settings = {
"test" : {
"fps" : FPSview
},
"lang" : {
"langset" : lang
}
}
func save_settings():
for section in _settings.keys():
for key in _settings[section].keys():
_config_file.set_value(section, key, _settings[section][key])
_config_file.save(SAVE_PATH)
func load_settings():
var values = []
for section in _settings.keys():
for key in _settings[section].keys():
var val = _settings[section][key]
values.append(_config_file.get_value(section, key, val))
return values
func del_settings():
var dir = Directory.new()
dir.remove("res://config.cfg")
func get_config(section, key):
return _settings[section][key]
func set_settings(section, key, value):
_settings[section][key] = value
func _ready():
load_settings()
save_settings()
func _on_Save_pressed():
del_settings()
yield(get_tree().create_timer(1.0), "timeout")
save_settings()
func _on_fpsOn_pressed():
FPSview = true
I thought it was worth deleting the file before the new save, but that didn’t work.