protected static UnloadDependencies ( string assetBundleName ) : void | ||
assetBundleName | string | |
return | void |
protected static void UnloadDependencies(string assetBundleName)
{
string[] dependencies = null;
if (!m_Dependencies.TryGetValue(assetBundleName, out dependencies) )
return;
// Loop dependencies.
foreach(var dependency in dependencies)
{
UnloadAssetBundleInternal(dependency);
}
m_Dependencies.Remove(assetBundleName);
}
protected static void UnloadAssetBundleInternal(string assetBundleName) { string text; LoadedAssetBundle loadedAssetBundle = AssetBundleManager.GetLoadedAssetBundle(assetBundleName, out text); if (loadedAssetBundle == null) { return; } if (--loadedAssetBundle.m_ReferencedCount == 0) { AssetBundleManager.m_LoadedAssetBundles.Remove(assetBundleName); if (!AssetBundleManager.m_ToUnloadAssetBundles.ContainsKey(assetBundleName)) { AssetBundleManager.m_ToUnloadAssetBundles.Add(assetBundleName, loadedAssetBundle); } AssetBundleManager.UnloadDependencies(assetBundleName); } }