extends Node const PATH := "user://config.cfg" const SECTION := "settings" const JOYSTICK_LABELS := "joystick_labels" const TRACK_JOYSTICK_MOVEMENT := "track_joystick_movement" const TRACK_JOYSTICK_DRIFT := "track_joystick_drift" var _config: ConfigFile # Joystick var joystick_labels: bool = true: set(val): joystick_labels = val save_config() var track_joystick_movement: bool = true: set(val): track_joystick_movement = val save_config() var track_joystick_drift: bool = true: set(val): track_joystick_drift = val save_config() func _ready() -> void: self._config = ConfigFile.new() var err := self._config.load(PATH) if err != OK: self.save_config() print_debug("Auto generated config file") self.joystick_labels = self._config.get_value(SECTION, JOYSTICK_LABELS, true) self.track_joystick_movement = self._config.get_value(SECTION, TRACK_JOYSTICK_MOVEMENT, true) self.track_joystick_drift = self._config.get_value(SECTION, TRACK_JOYSTICK_DRIFT, true) func save_config() -> void: self._config.set_value(SECTION, JOYSTICK_LABELS, self.joystick_labels) self._config.set_value(SECTION, TRACK_JOYSTICK_MOVEMENT, self.track_joystick_movement) self._config.set_value(SECTION, TRACK_JOYSTICK_DRIFT, self.track_joystick_drift) var err := self._config.save(PATH) if err != OK: printerr("Failed to save config") return