static protected bool LoadAssetBundleRequest(string assetBundleName, AssetRequestType type) { LoadedAssetBundle bundle = null; m_LoadedAssetBundles.TryGetValue(assetBundleName, out bundle); if (bundle != null) { bundle.m_ReferencedCount++; return(true); } if (m_DownloadingBundles.Contains(assetBundleName)) { return(true); } WWW www = null; string url = m_AssetBundleUrl + "/" + assetBundleName; if (type == AssetRequestType.MANIFEST) { www = new WWW(url); } else if (type == AssetRequestType.ASSET) { www = WWW.LoadFromCacheOrDownload(url, m_AssetBundleManifest.GetAssetBundleHash(assetBundleName), 0); } m_InProgressOperations.Add(new AssetBundleDownloadFromWebOperation(assetBundleName, www)); m_DownloadingBundles.Add(assetBundleName); return(false); }
static protected void LoadAssetBundle(string assetBundleName, AssetRequestType type) { if (type != AssetRequestType.MANIFEST && m_AssetBundleManifest == null) { Debug.Log("Manifest not initialized!"); return; } // use cache if the bundle has been loaded before bool isCached = LoadAssetBundleRequest(assetBundleName, type); if (!isCached && type != AssetRequestType.MANIFEST) { LoadDependencies(assetBundleName); } }