public static LoadedAssetBundle GetLoadedAssetBundle(string assetBundleName, out string error)
{
if (m_DownloadingErrors.TryGetValue(assetBundleName, out error) )
return null;
LoadedAssetBundle bundle = null;
m_LoadedAssetBundles.TryGetValue(assetBundleName, out bundle);
if (bundle == null)
return null;
// No dependencies are recorded, only the bundle itself is required.
string[] dependencies = null;
if (!m_Dependencies.TryGetValue(assetBundleName, out dependencies) )
return bundle;
// Make sure all dependencies are loaded
foreach(var dependency in dependencies)
{
if (m_DownloadingErrors.TryGetValue(assetBundleName, out error) )
return bundle;
// Wait all the dependent assetBundles being loaded.
LoadedAssetBundle dependentBundle;
m_LoadedAssetBundles.TryGetValue(dependency, out dependentBundle);
if (dependentBundle == null)
return null;
}
return bundle;
}