Пример #1
0
        private void Update()
        {
            if (m_UnityWebRequest == null || !m_UnityWebRequest.isDone)
            {
                return;
            }

            bool isError = false;

#if UNITY_2017_1_OR_NEWER
            isError = m_UnityWebRequest.isNetworkError || m_UnityWebRequest.isHttpError;
#else
            isError = m_UnityWebRequest.isError;
#endif
            if (isError)
            {
                WebRequestAgentHelperErrorEventArgs webRequestAgentHelperErrorEventArgs = WebRequestAgentHelperErrorEventArgs.Create(m_UnityWebRequest.error);
                m_WebRequestAgentHelperErrorEventHandler(this, webRequestAgentHelperErrorEventArgs);
                ReferencePool.Release(webRequestAgentHelperErrorEventArgs);
            }
            else if (m_UnityWebRequest.downloadHandler.isDone)
            {
                WebRequestAgentHelperCompleteEventArgs webRequestAgentHelperCompleteEventArgs = WebRequestAgentHelperCompleteEventArgs.Create(m_UnityWebRequest.downloadHandler.data);
                m_WebRequestAgentHelperCompleteEventHandler(this, webRequestAgentHelperCompleteEventArgs);
                ReferencePool.Release(webRequestAgentHelperCompleteEventArgs);
            }
        }
        /// <summary>
        /// 创建 Web 请求代理辅助器错误事件。
        /// </summary>
        /// <param name="errorMessage">错误信息。</param>
        /// <returns>创建的 Web 请求代理辅助器错误事件。</returns>
        public static WebRequestAgentHelperErrorEventArgs Create(string errorMessage)
        {
            WebRequestAgentHelperErrorEventArgs webRequestAgentHelperErrorEventArgs = ReferencePool.Acquire <WebRequestAgentHelperErrorEventArgs>();

            webRequestAgentHelperErrorEventArgs.ErrorMessage = errorMessage;
            return(webRequestAgentHelperErrorEventArgs);
        }
Пример #3
0
            private void OnWebRequestAgentHelperError(object sender, WebRequestAgentHelperErrorEventArgs e)
            {
                m_Helper.Reset();

                m_Task.Status = WebRequestTaskStatus.Error;

                WebRequestAgentFailure?.Invoke(this, e.ErrorMessage);

                m_Task.Done = true;
            }
 /// <summary>
 /// Web 请求代理轮询。
 /// </summary>
 /// <param name="elapseSeconds">逻辑流逝时间,以秒为单位。</param>
 /// <param name="realElapseSeconds">真实流逝时间,以秒为单位。</param>
 public void Update(float elapseSeconds, float realElapseSeconds)
 {
     if (m_Task.Status == WebRequestTaskStatus.Doing)
     {
         m_WaitTime += realElapseSeconds;
         if (m_WaitTime >= m_Task.Timeout)
         {
             WebRequestAgentHelperErrorEventArgs webRequestAgentHelperErrorEventArgs = WebRequestAgentHelperErrorEventArgs.Create("Timeout");
             OnWebRequestAgentHelperError(this, webRequestAgentHelperErrorEventArgs);
             ReferencePool.Release(webRequestAgentHelperErrorEventArgs);
         }
     }
 }
Пример #5
0
        private void Update()
        {
            if (m_WWW == null || !m_WWW.isDone)
            {
                return;
            }

            if (!string.IsNullOrEmpty(m_WWW.error))
            {
                WebRequestAgentHelperErrorEventArgs webRequestAgentHelperErrorEventArgs = WebRequestAgentHelperErrorEventArgs.Create(m_WWW.error);
                m_WebRequestAgentHelperErrorEventHandler(this, webRequestAgentHelperErrorEventArgs);
                ReferencePool.Release(webRequestAgentHelperErrorEventArgs);
            }
            else
            {
                WebRequestAgentHelperCompleteEventArgs webRequestAgentHelperCompleteEventArgs = WebRequestAgentHelperCompleteEventArgs.Create(m_WWW.bytes);
                m_WebRequestAgentHelperCompleteEventHandler(this, webRequestAgentHelperCompleteEventArgs);
                ReferencePool.Release(webRequestAgentHelperCompleteEventArgs);
            }
        }