PccConfigManagerBase.cs 705 B

1234567891011121314151617181920212223242526272829303132
  1. using System.Text.Json;
  2. using PCC.Common.AssemblyInject.Interfaces;
  3. namespace PCC.App.Configuration;
  4. public abstract class PccConfigManagerBase : IAssemblyInjectSyncInitStarStop
  5. {
  6. private const string FileName = "PCC-Config.json";
  7. public PccConfigFile Instance { get; private set; } = new();
  8. public void Load()
  9. {
  10. if (File.Exists(FileName))
  11. Instance = JsonSerializer.Deserialize<PccConfigFile>(File.ReadAllText(FileName))!;
  12. }
  13. public void Save() => File.WriteAllText(FileName, JsonSerializer.Serialize(Instance));
  14. public void Init()
  15. {
  16. Load();
  17. }
  18. public void Start()
  19. {
  20. }
  21. public void Stop()
  22. {
  23. Save();
  24. }
  25. }