Setting refactor
mccreery opened this issue ยท 0 comments
- There are 3 useless interfaces
ISaveLoad
,IGetSet
andIBoolean
associated with settings get
andset
should begetValue
andsetValue
to be consistent with other accessorsdraw
should berenderExtras
- In no case is a variable with type
Setting<T>
other thanSetting<?>
ever used; removing the type parameter allows subclasses to use primitive value types and different signatures HudElement
stores a dubiousRootSetting
, 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
Legend
s should be replaced by proper setting category structure; this structure need not be reflected in config files- New
Widget
s remove the need for setting callbacks, though updating widgets is still necessary