using System.Text.Json; using PCC.Common.AssemblyInject.Interfaces; namespace PCC.App.Configuration; public abstract class PccConfigManagerBase : IAssemblyInjectSyncInitStarStop { private const string FileName = "PCC-Config.json"; public PccConfigFile Instance { get; private set; } = new(); public void Load() { if (File.Exists(FileName)) Instance = JsonSerializer.Deserialize(File.ReadAllText(FileName))!; } public void Save() => File.WriteAllText(FileName, JsonSerializer.Serialize(Instance)); public void Init() { Load(); } public void Start() { } public void Stop() { Save(); } }