public static void DisableAllPatches(bool resetPersistence)
        {
            if (AllowDebugLogs)
            {
                Debug.Log("DISABLE ALL PATCHES");
            }
            foreach (var prov in patchProviders)
            {
                var instance = prov.Value.Instance;
                if (instance.GetIsActive())
                {
                    DisablePatch(instance, false);
                    if (resetPersistence)
                    {
                        continue;
                    }
                    // keep persistence state
                    PatchManagerSettings.SetPersistentActive(instance.ID(), true);
                }
            }

            foreach (var man in KnownPatches)
            {
                if (man.IsActive)
                {
                    man.DisablePatch();
                    if (resetPersistence)
                    {
                        continue;
                    }
                    // keep persistence state
                    PatchManagerSettings.SetPersistentActive(man.Id, true);
                }
            }
        }
 public void DisablePatch()
 {
     requestedActivation = false;
     if (!IsActive)
     {
         return;
     }
     if (OnDisablePatch())
     {
         requestedActivation = false;
         IsActive            = false;
         PatchManagerSettings.SetPersistentActive(this.Id, false);
         InternalEditorUtility.RepaintAllViews();
     }
 }
 private void HandleActivationRequestNow()
 {
     // while (!EditorApplication.isPlaying && requestedActivation && !Utils.GUISkinHasLoaded()) await Task.Delay(1);
     if (!requestedActivation || IsActive)
     {
         return;
     }
     if (PatchManager.IsActive(this.Id))
     {
         return;
     }
     requestedActivation = false;
     IsActive            = true;
     if (PatchManager.AllowDebugLogs)
     {
         Debug.Log("ENABLE " + Id);
     }
     if (OnEnablePatch())
     {
         PatchManagerSettings.SetPersistentActive(this.Id, true);
         InternalEditorUtility.RepaintAllViews();
     }
 }