Files
AetherBags/AetherBags/Configuration/SystemConfiguration.cs
T
2026-01-09 17:53:07 -05:00

39 lines
938 B
C#

namespace AetherBags.Configuration;
public class SystemConfiguration
{
public const string FileName = "AetherBags.json";
private GeneralSettings _general = new();
private CategorySettings _categories = new();
private CurrencySettings _currency = new();
public GeneralSettings General
{
get => _general;
set => _general = value ?? new();
}
public CategorySettings Categories
{
get => _categories;
set => _categories = value ?? new();
}
public CurrencySettings Currency
{
get => _currency;
set => _currency = value ?? new();
}
/// <summary>
/// Ensures all nested config objects are initialized. Call after deserialization.
/// </summary>
public void EnsureInitialized()
{
_general ??= new();
_categories ??= new();
_currency ??= new();
_categories.UserCategories ??= new();
}
}