config_handler.gd 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. extends Node
  2. var config = ConfigFile.new()
  3. const SETTINGS_FILE_PATH = "user://settings.ini"
  4. func _ready():
  5. if !FileAccess.file_exists(SETTINGS_FILE_PATH):
  6. config.set_value("cdpprogs", "location", "no_location")
  7. config.set_value("interface_settings", "disable_pvoc_warning", false)
  8. config.set_value("interface_settings", "auto_close_console", false)
  9. config.save(SETTINGS_FILE_PATH)
  10. else:
  11. config.load(SETTINGS_FILE_PATH)
  12. func save_cdpprogs_settings(location: String):
  13. config.set_value("cdpprogs", "location", location)
  14. config.save(SETTINGS_FILE_PATH)
  15. func load_cdpprogs_settings():
  16. var cdpprogs_settings = {}
  17. for key in config.get_section_keys("cdpprogs"):
  18. cdpprogs_settings[key] = config.get_value("cdpprogs", key)
  19. return cdpprogs_settings
  20. func save_interface_settings(key: String, value):
  21. config.set_value("interface_settings", key, value)
  22. config.save(SETTINGS_FILE_PATH)
  23. func load_interface_settings():
  24. var interface_settings = {}
  25. for key in config.get_section_keys("interface_settings"):
  26. interface_settings[key] = config.get_value("interface_settings", key)
  27. return interface_settings