public static void UnpatchAll()
        {
            if (!patched)
            {
                return;
            }

            var harmony = new Harmony(HarmonyId);

            WorkshopAssetUploadPanelPatch.Revert(harmony);

            PackageAssetPatch.Revert(harmony);

            if (lsmPatchApplied)
            {
                LsmAssetDeserializerPatch.Revert(harmony);
                lsmPatchApplied = false;
            }

            if (lsmTestPatchApplied)
            {
                LsmTestAssetDeserializerPatch.Revert(harmony);
                lsmTestPatchApplied = false;
            }

            if (lsmKlytePatchApplied)
            {
                LsmKlyteAssetDeserializerPatch.Revert(harmony);
                lsmKlytePatchApplied = false;
            }

            patched = false;
        }
        public static void PatchAll()
        {
            if (patched)
            {
                return;
            }

            patched = true;
            var harmony = new Harmony(HarmonyId);

            WorkshopAssetUploadPanelPatch.Apply(harmony);

            PackageAssetPatch.Apply(harmony);

            if (LsmAssetDeserializerPatch.OriginalMethod != null)
            {
                LsmAssetDeserializerPatch.Apply(harmony);
                lsmPatchApplied = true;
            }

            if (LsmTestAssetDeserializerPatch.OriginalMethod != null)
            {
                LsmTestAssetDeserializerPatch.Apply(harmony);
                lsmTestPatchApplied = true;
            }

            if (LsmKlyteAssetDeserializerPatch.OriginalMethod != null)
            {
                LsmKlyteAssetDeserializerPatch.Apply(harmony);
                lsmKlytePatchApplied = true;
            }
        }