public static void UnpatchAllCumInstances(CumBase cum) { if (instancelist.Count > 0) { for (int i = 0; i < instancelist.Count; i++) { instancelist[i].UnpatchAll(cum); } instancelist.Clear(); } }
public void UnpatchAll(CumBase cum) { bool IDCheck(Patch patchInfo) => (patchInfo.patch.Module.Assembly == cum.Assembly); var originals = GetPatchedMethods().ToList(); foreach (var original in originals) { var info = GetPatchInfo(original); info.Postfixes.DoIf(IDCheck, patchInfo => Unpatch(original, patchInfo.patch)); info.Prefixes.DoIf(IDCheck, patchInfo => Unpatch(original, patchInfo.patch)); info.Transpilers.DoIf(IDCheck, patchInfo => Unpatch(original, patchInfo.patch)); } }