[+] Load AssetBundle without manifest

This commit is contained in:
Clansty
2024-04-23 18:51:49 +08:00
parent c8db3ec762
commit b4cbb1fd14
4 changed files with 36 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
using System.Collections.Generic;
using System.Linq;
using HarmonyLib;
using UnityEngine;
using Manager;
using Util;
namespace AquaMai.UX
{
public class LoadAssetBundleWithoutManifest
{
private static HashSet<string> abFiles = new HashSet<string>();
[HarmonyPostfix]
[HarmonyPatch(typeof(OptionDataManager), "CheckAssetBundle")]
public static void PostCheckAssetBundle(ref Safe.ReadonlySortedDictionary<string, string> abs)
{
foreach (var ab in abs)
{
abFiles.Add(ab.Key);
}
}
[HarmonyPrefix]
[HarmonyPatch(typeof(AssetBundleManifest), "GetAllAssetBundles")]
public static bool PreGetAllAssetBundles(AssetBundleManifest __instance, ref string[] __result)
{
__result = abFiles.ToArray();
return false;
}
}
}