Exemplo n.º 1
0
 public static void UnpatchAllCumInstances(CumBase cum)
 {
     if (instancelist.Count > 0)
     {
         for (int i = 0; i < instancelist.Count; i++)
         {
             instancelist[i].UnpatchAll(cum);
         }
         instancelist.Clear();
     }
 }
Exemplo n.º 2
0
        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));
            }
        }