public static T ManualLoadAsset <T>(AssetBundleAddress assetBundleAddress) where T : UnityEngine.Object { T result = default; if (!AssetBundleCheck.IsFile(assetBundleAddress.AssetBundle)) { Logger.LogWarning($"AssetLoader: No such asset bundle: {assetBundleAddress.AssetBundle}"); return(result); } var loaders = new Loader <T> .AssetBundleAddressLoader[] { #if AI || HS2 Loader <T> .AddressAsInfoLoader, #else Loader <T> .DefaultLoader #endif }; foreach (var forceUnload in new[] { false, true }) { foreach (var loader in loaders) { if (TryLoader <T>(() => loader(assetBundleAddress), loader.Method.Name, assetBundleAddress.AssetBundle, assetBundleAddress.Asset, forceUnload, out result)) { return(result); } } } return(result); }
public static T ManualLoadAsset <T>(AssetBundleAddress assetBundleAddress) where T : Object { return(IllusionMods.AssetLoader.ManualLoadAsset <T>(assetBundleAddress)); #if false #if AI LoadedBundles.Add(assetBundleAddress.AssetBundle); return(AssetUtility.LoadAsset <T>((AssetBundleInfo)assetBundleAddress)); #else return(ManualLoadAsset <T>(assetBundleAddress.AssetBundle, assetBundleAddress.Asset, assetBundleAddress.Manifest)); #endif #endif }
public static T ManualLoadAsset <T>(AssetBundleAddress assetBundleAddress) where T : UnityObject { return(TextDump.Helpers.ManualLoadAsset <T>(assetBundleAddress)); }
internal static T DefaultLoader(AssetBundleAddress assetBundleAddress) { return(ManualLoadAsset <T>(assetBundleAddress.AssetBundle, assetBundleAddress.Asset, assetBundleAddress.Manifest)); }
internal static T AddressAsInfoLoader(AssetBundleAddress assetBundleAddress) { return(ManualLoadAsset <T>(assetBundleAddress.AssetBundle, assetBundleAddress.Name, assetBundleAddress.Manifest)); }
internal static T AddressAsInfoLoader(AssetBundleAddress assetBundleAddress) { return(ManualLoadAsset <T>((AssetBundleInfo)assetBundleAddress)); }