46 lines
1.3 KiB
GDScript
46 lines
1.3 KiB
GDScript
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
|