Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setting refactor #125

Open
mccreery opened this issue Jun 3, 2021 · 0 comments
Open

Setting refactor #125

mccreery opened this issue Jun 3, 2021 · 0 comments

Comments

@mccreery
Copy link
Owner

mccreery commented Jun 3, 2021

  • There are 3 useless interfaces ISaveLoad, IGetSet and IBoolean associated with settings
  • get and set should be getValue and setValue to be consistent with other accessors
  • draw should be renderExtras
  • In no case is a variable with type Setting<T> other than Setting<?> ever used; removing the type parameter allows subclasses to use primitive value types and different signatures
  • HudElement stores a dubious RootSetting, which could easily be a natural list of settings
  • Global/mod settings are stored as a whole element, despite not showing up in the list; mod settings should be a list of settings just as element settings are
  • Nested settings are pointless and make the config file format messy; instead, complex settings should store a JSON object instead of a value directly
  • Setting categories are implemented incorrectly: categories are not used and should group and produce legends for setting screens
  • Legends should be replaced by proper setting category structure; this structure need not be reflected in config files
  • New Widgets remove the need for setting callbacks, though updating widgets is still necessary
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant