Beispiel #1
0
        private void FinishDownload()
        {
            if (m_webrequest == null)
            {
                error = string.Format("webrequest is null ,key={0},url={1} ", cRequest.key, cRequest.url);
                return;
            }
            cRequest.responseHeaders = m_webrequest.GetResponseHeaders();
#if UNITY_2017
            if (m_webrequest.isNetworkError)
#else
            if (m_webrequest.isError)
#endif
            {
                error = string.Format("url:{0},erro:{1}", cRequest.url, m_webrequest.error);
                Debug.LogWarning(error);
                return;
            }

            if (!(m_webrequest.responseCode == 200 || m_webrequest.responseCode == 0))
            {
                error = string.Format("response error code = {0},url={1}", m_webrequest.responseCode, cRequest.url);  // m_webrequest.error;
                Debug.LogWarning(error);
                return;
            }

            var type = cRequest.assetType;
            if (CacheManager.Typeof_AudioClip.Equals(type))
            {
                m_Data = DownloadHandlerAudioClip.GetContent(m_webrequest);
            }
            else if (CacheManager.Typeof_Texture2D.Equals(type))
            {
                m_Data = DownloadHandlerTexture.GetContent(m_webrequest);
            }
            else if (CacheManager.Typeof_Bytes.Equals(type))
            {
                m_Data = m_webrequest.downloadHandler.data;
            }
            else if (CacheManager.Typeof_AssetBundle.Equals(type))
            {
                m_Data = DownloadHandlerAssetBundle.GetContent(m_webrequest);
            }
            else
            {
                m_Data = DownloadHandlerBuffer.GetContent(m_webrequest);
            }

            if (!CacheManager.Typeof_AssetBundle.Equals(type))
            {
                UriGroup.CheckWWWComplete(cRequest, m_webrequest);
            }

            cRequest.data = m_Data;
            m_webrequest.Dispose();
            m_webrequest     = null;
            m_asyncOperation = null;
        }
        private void FinishDownload()
        {
            if (m_webrequest == null)
            {
                error = string.Format("webrequest is null , {0} ", cRequest.key);
                Debug.LogErrorFormat("url:{0},erro:{1}", cRequest.url, error);
                return;
            }

            error = m_webrequest.error;

            if (!string.IsNullOrEmpty(error))
            {
                Debug.LogErrorFormat("url:{0},erro:{1}", cRequest.url, error);
                return;
            }

            var type = cRequest.assetType;

            if (CacheManager.Typeof_AudioClip.Equals(type))
            {
#if UNITY_2017
                m_Data = WWWAudioExtensions.GetAudioClip(m_webrequest);
#else
                m_Data = m_webrequest.GetAudioClip();
#endif
            }
            else if (CacheManager.Typeof_Texture2D.Equals(type))
            {
                if (!string.IsNullOrEmpty(cRequest.assetName) && cRequest.assetName.Equals("textureNonReadable"))
                {
                    m_Data = m_webrequest.textureNonReadable;
                }
                else
                {
                    m_Data = m_webrequest.texture;
                }
            }
            else if (CacheManager.Typeof_AssetBundle.Equals(type))
            {
                m_Data = m_webrequest.assetBundle;
            }
            else if (CacheManager.Typeof_Bytes.Equals(type))
            {
                m_Data = m_webrequest.bytes;
            }
            else
            {
                m_Data = m_webrequest.text;
            }

            UriGroup.CheckWWWComplete(cRequest, m_webrequest);

            cRequest.data = m_Data;
            m_webrequest.Dispose();
            m_webrequest = null;
        }
        private void FinishDownload()
        {
            if (m_webrequest == null)
            {
                error = string.Format("webrequest is null , {0} ", cRequest.key);;
                return;
            }

            if (m_webrequest.isError)
            {
                error = m_webrequest.error;
                Debug.LogError(error);
                return;
            }

            if (m_webrequest.responseCode != 200)
            {
                error = string.Format("response error code = {0}", m_webrequest.responseCode); // m_webrequest.error;
                Debug.LogError(error);
                return;
            }

            var type = cRequest.assetType;

            if (CacheManager.Typeof_AudioClip.Equals(type))
            {
                m_Data = DownloadHandlerAudioClip.GetContent(m_webrequest);
            }
            else if (CacheManager.Typeof_Texture2D.Equals(type))
            {
                m_Data = DownloadHandlerTexture.GetContent(m_webrequest);
            }
            else if (CacheManager.Typeof_Bytes.Equals(type))
            {
                m_Data = m_webrequest.downloadHandler.data;
            }
            else
            {
                m_Data = DownloadHandlerBuffer.GetContent(m_webrequest);
            }

            UriGroup.CheckWWWComplete(cRequest, m_webrequest);

            cRequest.data = m_Data;
            m_webrequest.Dispose();
            m_webrequest     = null;
            m_asyncOperation = null;
        }
Beispiel #4
0
        /// <summary>
        /// Adds the source cache data from WW.
        /// </summary>
        /// <param name="www">Www.</param>
        /// <param name="req">Req.</param>
        internal static bool AddSourceCacheDataFromWWW(WWW www, CRequest req)
        {
            var ab = www.assetBundle;

            req.isAssetBundle = false;

            if (ab != null)
            {
                AddSourceCacheDataFromWWW(ab, req);
            }
            else if (Typeof_String.Equals(req.assetType))
            {
                req.data = www.text;
            }
            else if (Typeof_AudioClip.Equals(req.assetType))
            {
                req.data = www.audioClip;
            }
            else if (Typeof_Texture2D.Equals(req.assetType))
            {
                if (req.assetName.Equals("textureNonReadable"))
                {
                    req.data = www.textureNonReadable;
                }
                else
                {
                    req.data = www.texture;
                }
            }

            if (Typeof_Bytes.Equals(req.assetType))
            {
                req.data          = www.bytes;
                req.isAssetBundle = false;
            }

            UriGroup.CheckWWWComplete(req, www);
            www.Dispose();

            return(req.isAssetBundle);
        }