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

Refactor SettingsManager to use an existing library #89

Open
AHeroicLlama opened this issue Apr 22, 2023 · 0 comments
Open

Refactor SettingsManager to use an existing library #89

AHeroicLlama opened this issue Apr 22, 2023 · 0 comments
Labels
refactor Target for refactoring

Comments

@AHeroicLlama
Copy link
Owner

AHeroicLlama commented Apr 22, 2023

SettingsManager class was written totally custom originally to support bespoke features such as versioning and custom warnings for malformed settings. It also mocked the .ini file format to be more familiar to technically-minded Fallout players.

However this custom setup causes overhead whenever a new setting is added to the config file.

We should consider refactoring this to use something more standard, eg system.text.json.
We must however still maintain a level of control, such that if a feature is removed but users have an "old" config file, there are no errors or confusion caused, for example we might want to control how settings are read in, should a feature change.
See fe7cb41 for previous example of a would-be breaking change being caught.

@AHeroicLlama AHeroicLlama added the refactor Target for refactoring label Apr 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refactor Target for refactoring
Projects
None yet
Development

No branches or pull requests

1 participant