Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
            }
        }