public static UnloadAssetBundle ( string assetBundleName ) : void | ||
assetBundleName | string | |
리턴 | void |
public static void UnloadAssetBundle(string assetBundleName)
{
#if UNITY_EDITOR
// If we're in Editor simulation mode, we don't have to load the manifest assetBundle.
if (SimulateAssetBundleInEditor)
return;
#endif
//Debug.Log(m_LoadedAssetBundles.Count + " assetbundle(s) in memory before unloading " + assetBundleName);
UnloadAssetBundleInternal(assetBundleName);
UnloadDependencies(assetBundleName);
//Debug.Log(m_LoadedAssetBundles.Count + " assetbundle(s) in memory after unloading " + assetBundleName);
}
private static IEnumerator LoadAssetAsyncCallbackRoutine<T>(string assetBundleName, AssetBundleLoadAssetOperation request, Func<T, bool> onAssetLoaded) where T : UnityEngine.Object { yield return AssetBundleManager.m_Instance.StartCoroutine(request); if (AssetBundleManager.m_LoadedAssetBundles.ContainsKey(assetBundleName)) { T asset = request.GetAsset<T>(); if (onAssetLoaded == null || !onAssetLoaded(asset)) { AssetBundleManager.UnloadAssetBundle(assetBundleName); } } else { onAssetLoaded((T)((object)null)); } if (AssetBundleManager.m_PendingRoutines.ContainsKey(onAssetLoaded)) { AssetBundleManager.m_PendingRoutines.Remove(onAssetLoaded); } yield break; }