This commit is contained in:
Sinai 2021-10-01 17:21:54 +10:00
parent 28b6db80f9
commit 9fe998aa22

View File

@ -497,30 +497,24 @@ namespace UnityExplorer.UI
// AssetBundle patch // AssetBundle patch
static bool donePatch; private static Type TypeofAssetBundle => ReflectionUtility.GetTypeByName("UnityEngine.AssetBundle");
private static Type T_AssetBundle => ReflectionUtility.GetTypeByName("UnityEngine.AssetBundle");
private static void SetupAssetBundlePatches() private static void SetupAssetBundlePatches()
{ {
if (!donePatch) try
{ {
try if (TypeofAssetBundle.GetMethod("UnloadAllAssetBundles", AccessTools.all) is MethodInfo unloadAllBundles)
{ {
if (T_AssetBundle.GetMethod("UnloadAllAssetBundles", AccessTools.all) is MethodInfo unloadAllBundles) var processor = ExplorerCore.Harmony.CreateProcessor(unloadAllBundles);
{ var prefix = new HarmonyMethod(typeof(UIManager).GetMethod(nameof(Prefix_UnloadAllAssetBundles), AccessTools.all));
var processor = ExplorerCore.Harmony.CreateProcessor(unloadAllBundles); processor.AddPrefix(prefix);
var prefix = new HarmonyMethod(typeof(UIManager).GetMethod(nameof(Prefix_UnloadAllAssetBundles), AccessTools.all)); processor.Patch();
processor.AddPrefix(prefix);
processor.Patch();
donePatch = true;
}
}
catch (Exception ex)
{
ExplorerCore.LogWarning($"Exception setting up AssetBundle.UnloadAllAssetBundles patch: {ex}");
} }
} }
catch (Exception ex)
{
ExplorerCore.LogWarning($"Exception setting up AssetBundle.UnloadAllAssetBundles patch: {ex}");
}
} }