Cleaner Settings all in One Place

Summary:

Clean up the settings currently spread across multiple classes, and locate them in one place.

What is the Feature Request in Detail?:

With the setting group we can create better names. "Saved" will be the settings saved to disk. "Session" will be the non-persistent settings like the ones used by LazerInterface and InGame. "Networked" can be networking settings, with setters and getters.

Have you thought of alternative implementations?:

Yes, but so far this is the best way forward that I see.

Will this impact other features?:

Yes, but once complete should make everything easier.

Mockups:

  • SettingsConf should be renamed to SetConf, the shorter name space will be good and this does not conflict with anything in Godot.
  • Some Settings may be duplicated, but since we are using getters and setters and it is all in once place, that will be easy to implement.
  • SetConf.Saved - All settings that get saved to disk, like the quick start settings.
  • SetConf.Session - All temporary settings that do not get saved to disk.
  • SetConf.Networked - All settings that need to be sent over the network for syncronization.

Do you plan to start a PR for this feature?:

Yes.

Edited by FeralBytes