AssetBundles.AssetBundleManager.GetLoadedAssetBundle C# (CSharp) Method

GetLoadedAssetBundle() public static method

public static GetLoadedAssetBundle ( string assetBundleName, string &error ) : LoadedAssetBundle
assetBundleName string
error string
return LoadedAssetBundle
        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;
        }

Usage Example

Ejemplo n.º 1
0
        public override bool Update()
        {
            if (m_Request != null)
            {
                return(false);
            }

            LoadedAssetBundle bundle = AssetBundleManager.GetLoadedAssetBundle(m_AssetBundleName, out m_DownloadingError);

            if (bundle != null)
            {
#if UNITY_5_3 || UNITY_5_4
                m_Request = SceneManager.LoadSceneAsync(m_LevelName, m_IsAdditive ? LoadSceneMode.Additive : LoadSceneMode.Single);
#else
                LoadSceneParameters loadparams = new LoadSceneParameters();
                if (m_IsAdditive)
                {
                    //m_Request = Application.LoadLevelAdditiveAsync(m_LevelName);
                    loadparams.loadSceneMode = LoadSceneMode.Additive;
                }
                else
                {
                    //m_Request = Application.LoadLevelAsync(m_LevelName);
                    loadparams.loadSceneMode = LoadSceneMode.Single;
                }
                m_Request = SceneManager.LoadSceneAsync(m_LevelName, loadparams);
#endif
                return(false);
            }
            else
            {
                return(true);
            }
        }
All Usage Examples Of AssetBundles.AssetBundleManager::GetLoadedAssetBundle