当前位置: 首页>>代码示例>>C#>>正文


C# WWW.HasError方法代码示例

本文整理汇总了C#中UnityEngine.WWW.HasError方法的典型用法代码示例。如果您正苦于以下问题:C# WWW.HasError方法的具体用法?C# WWW.HasError怎么用?C# WWW.HasError使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在UnityEngine.WWW的用法示例。


在下文中一共展示了WWW.HasError方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: DownloadCore

 private IEnumerator DownloadCore()
 {
     yield return 0;
     float progress = 0f;
     float freezeTime = 0f;//用来记录进度没有变化的时长
     WWW www = new WWW(Url);
     while (true)
     {
         yield return 1;// 每一帧进行判定,这样可以合理的判定时间
         if (www.isDone)
         {
             if (www.HasError())
                 SetError(www.error);
             else if (www.size == 0)
                 SetError("Url不存在");
             else
                 SetSucess(www.bytes);
             break;
         }
         else
         {
             if (progress == www.progress)
             {
                 if (progress != 1f)
                 {
                     freezeTime += Time.deltaTime;
                     if (freezeTime > TIMEOUT_TIME)
                     {
                         SetTimeout();
                         break;
                     }
                 }
             }
             else
             {
                 freezeTime = 0f;
                 progress = www.progress;
                 if (OnProgress != null)
                     OnProgress(www.bytesDownloaded);
             }
         }
     }
     www = null;
 }
开发者ID:zeronely,项目名称:View,代码行数:44,代码来源:AssetDownloader.cs

示例2: ExecuteAndWaitResponse

 /// <summary>
 /// 执行并等待结果
 /// </summary>
 IEnumerator ExecuteAndWaitResponse()
 {
     yield return 0;
     float progress = 0f;
     float freezeTime = 0f;//用来记录进度没有变化的时长
     mWWW = new WWW(mUrl, mPostData, mHeaders);
     while (true)
     {
         yield return 1;// 每一帧进行判定,这样可以合理的判定时间
         if (mWWW.isDone)
         {
             // 出错 || mWWW.bytes.Length != mWWW.bytesDownloaded
             if (mWWW.HasError())
                 Notify(NetState.Error);
             // 成功
             else Notify(NetState.Succeed);
             break;
         }
         else
         {
             if (progress == mWWW.progress)
             {
                 // 即使WWW.progrss =1后还有一小段时间用于内部处理AssetBundle才会isDone=true,所以不用计入超时
                 if (progress != 1f)
                 {
                     freezeTime += Time.deltaTime;//由于是获取Time.deltaTime,所以必须要yield return 1;
                     if (freezeTime > mTimeoutTime)
                     {
                         Notify(NetState.Timeout);
                         // 由于是超时,所以需要进行中断处理
                         // mWWW.Dispose();
                         break;
                     }
                 }
             }
             else
             {
                 freezeTime = 0f;
                 progress = mWWW.progress;
                 // 汇报进度变化
                 Notify(NetState.Progress);
             }
         }
     }
     // WWW结束
     mWWW = null;
     mUrl = null;
     mPostData = null;
     mHeaders = null;
     mTag = null;
     mHandler = null;
 }
开发者ID:zeronely,项目名称:View,代码行数:55,代码来源:HttpClient.cs


注:本文中的UnityEngine.WWW.HasError方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。