Configs.cs 1019 B

1234567891011121314151617181920
  1. namespace PCLCS;
  2. public static class Configs {
  3. /// <summary>当前 Java 相关配置的版本。0 代表尚未从老的 Settings 系统中迁移。</summary>
  4. public static readonly ConfigEntry<int> JavaConfigVersion = new("JavaConfigVersion", 0);
  5. public static readonly ConfigEntry<ConcurrentList<Java>> JavaList = new("JavaList", []);
  6. public static readonly ConfigEntry<List<string>> JavaRemovedList = new("JavaRemovedList", []);
  7. public static readonly DynamicConfigEntry<bool> JavaMigrated = new("InstanceMigratedJava", false);
  8. public static readonly DynamicConfigEntry<Java> JavaForced = new("InstanceForcedJava", null);
  9. static Configs() {
  10. /// 当 JavaForced 获取到一个不在 JavaList 中的值时,将其重置为 null。
  11. JavaForced.PreviewGet += (args, provider) => {
  12. if (args.Value is not null && !JavaList.Get()!.Contains(args.Value)) {
  13. args.Value = null;
  14. JavaForced.Reset(provider);
  15. }
  16. };
  17. }
  18. }