Beispiel #1
0
        /// <summary>
        /// finish assetbundle
        /// </summary>
        /// <param name="operation"></param>
        static void ProcessFinishedBundleOperation(AssetBundleDownloadOperation operation)
        {
#if HUGULA_PROFILER_DEBUG
            Profiler.BeginSample(string.Format("ResourcesLoader.ProcessFinishedBundleOperation CRequest({0},shared={1})", operation.cRequest.assetName, operation.cRequest.isShared));
#endif
            var  req     = operation.cRequest;
            bool isError = operation.assetBundle == null;
            var  ab      = operation.assetBundle;
            AssetBundleDownloadOperation download = operation;
            if (!isError)
            {
                CacheManager.AddSourceCacheDataFromWWW(ab, req);
            }
            else
            {
#if UNITY_EDITOR
                Debug.LogWarning(operation.error);
#endif
                CacheManager.AddErrorSourceCacheDataFromReq(req);
            }
#if HUGULA_LOADER_DEBUG
            HugulaDebug.FilterLogFormat(req.key, "<color=#10f010>1.9  ProcessFinishedBundleOperation AssetBundle Loaded Request(url={0},assetname={1},dependencies.count={3},keyHashCode{2}),isError={4} frameCount{5}</color>", req.url, req.assetName, req.keyHashCode, req.dependencies == null ? 0 : req.dependencies.Length, isError, Time.frameCount);
#endif

            //begin load asset
            InsertAssetBundleLoadAssetOperation(download);

            downloadingBundles.Remove(req.key);
            download.ReleaseToPool();

            if (isError)
            {
                CallOnAssetBundleErr(req);
            }
            else
            {
                CallOnAssetBundleComplete(req, ab);
            }

            if (req.isShared)
            {
                req.ReleaseToPool();
            }
#if HUGULA_PROFILER_DEBUG
            Profiler.EndSample();
#endif
        }
Beispiel #2
0
        protected void WWWLoadDone()
        {
#if HUGULA_PROFILE_DEBUG
            Profiler.BeginSample("CCar.LoadDone:" + this.req.assetName);
#endif
            isFree  = true;
            enabled = false;
            if (www.error != null)
            {
                Debug.LogWarningFormat(" ({0})url({1}) isNormal({2}) \n error:{3}", req.assetName, req.url, req.isNormal, www.error);
                if (req.isShared)
                {
                    CacheManager.AddErrorSourceCacheDataFromReq(this._req);
                }
                DispatchErrorEvent(req);
                www = null;
            }
            else
            {
                if (OnProcess != null)
                {
                    OnProcess(this, 1);
                }

#if HUGULA_LOADER_DEBUG
                Debug.LogFormat(" 1.1 <color=#15C1B2> will complete : url({0}),key:({1}) assetName({2})  len({3} frame{4})</color>", req.url, req.key, req.assetName, www.bytes.Length, Time.frameCount);
#endif
                if (req.isLoadFromCacheOrDownload) //load from cache no www.bytes
                {
                    CacheManager.AddSourceCacheDataFromWWW(www.assetBundle, this._req);
                }
                else
                {
                    CacheManager.AddSourceCacheDataFromWWW(www, this._req);
                }
                DispatchCompleteEvent(this._req);
                www = null;
            }
#if HUGULA_PROFILE_DEBUG
            Profiler.EndSample();
#endif
        }
Beispiel #3
0
        void m_Done()
        {
            if (m_abRequest == null && m_UnityWebRequest == null)
            {
                cRequest.error = string.Format("the asset bundle({0}) is wrong .    CRequest({1})", cRequest.key, cRequest.assetName);
                CacheManager.AddErrorSourceCacheDataFromReq(cRequest);
                Debug.LogError(cRequest.error);
            }

            // AssetBundle assetBundle = null;

            if (m_UnityWebRequest != null)
            {
                assetBundle = DownloadHandlerAssetBundle.GetContent(m_UnityWebRequest);
            }
            else if (m_abRequest is AssetBundleCreateRequest)
            {
                assetBundle = ((AssetBundleCreateRequest)m_abRequest).assetBundle;
            }

            if (assetBundle == null)
            {
                cRequest.error = string.Format("the asset bundle({0}) is not exist. CRequest({1})", cRequest.key, cRequest.assetName);
                CacheManager.AddErrorSourceCacheDataFromReq(cRequest);
                Debug.LogError(cRequest.error);
            }
            else
            {
                CacheManager.AddSourceCacheDataFromWWW(assetBundle, cRequest);
            }

#if HUGULA_LOADER_DEBUG
            HugulaDebug.FilterLogFormat(cRequest.key, " <color=#15A0A1> 1 AssetBundle is done Request(assetName={0}) key={1},frame={2} </color>", cRequest.assetName, cRequest.key, Time.frameCount);
#endif

            m_abRequest       = null;
            m_UnityWebRequest = null;
        }
Beispiel #4
0
        protected void AssetBundleFileLoadDone()
        {
#if HUGULA_PROFILE_DEBUG
            Profiler.BeginSample("CCar.AssetBundleFileLoadDone:" + this.req.assetName);
#endif
            isFree  = true;
            enabled = false;

            var ab = abRequest.assetBundle;
            if (ab == null)
            {
                Debug.LogWarningFormat(" ({0}) isNormal({2}) \n error:Unable to open archive file:{1}", req.assetName, req.url, req.isNormal);
                if (req.isShared)
                {
                    CacheManager.AddErrorSourceCacheDataFromReq(this._req);
                }
                DispatchErrorEvent(req);
                abRequest = null;
            }
            else
            {
                if (OnProcess != null)
                {
                    OnProcess(this, 1);
                }

#if HUGULA_LOADER_DEBUG
                Debug.LogFormat(" 1.2 <color=#15C1B2> will complete : url({0}),key:({1}) assetName({2}) frame{3})</color>", req.url, req.key, req.assetName, Time.frameCount);
#endif
                CacheManager.AddSourceCacheDataFromWWW(ab, this._req);
                DispatchCompleteEvent(this._req);
                abRequest = null;
            }
#if HUGULA_PROFILE_DEBUG
            Profiler.EndSample();
#endif
        }