コード例 #1
0
        protected override void Thread_Starting()
        {
            base.Thread_Starting();
            resourceURLList = null;
            string resourceListLocalPath = Global.Instance.DownloadFile(resourceList);

            if (!string.IsNullOrEmpty(resourceListLocalPath))
            {
                resourceURLList = Global.Instance.ParseLocalResourceListToURL(resourceListLocalPath, commonResPath, independentResPath, cdnVersion, out relativePathList);
            }
            urlSucceedNumber = 0;
            urlFailedNumber  = 0;
            urlSumNumber     = 0;
            connection       = null;
            if (resourceURLList == null || resourceURLList.Count == 0)
            {
                EndMissionThread();
            }
            if (resourceURLList != null && relativePathList != null)
            {
                urlSumNumber = resourceURLList.Count;
                resourceURLListEnumerator  = resourceURLList.GetEnumerator();
                relativePathListEnumerator = relativePathList.GetEnumerator();
            }
        }
コード例 #2
0
 protected override void Thread_Looping()
 {
     base.Thread_Looping();
     if (resourceURLListEnumerator.MoveNext() && relativePathListEnumerator.MoveNext())
     {
         URLWithCDN urlTemp      = resourceURLListEnumerator.Current;
         string     relativePath = relativePathListEnumerator.Current;
         if (urlTemp == null)
         {
             return;
         }
         if (urlTemp.IsLocal)
         {
             connection = new LocalConnect(urlTemp.ToString(), Global.Instance.CombineFullPath(downloadPath.URL, relativePath));
         }
         else
         {
             connection = new HttpConnect(urlTemp.ToString(), Global.Instance.CombineFullPath(downloadPath.URL, relativePath), string.Empty);
         }
         connection.DownloadResource(delegate(bool result, object log)
         {
             AppendMissionLog(log);
             if (result)
             {
                 urlSucceedNumber++;
             }
             else
             {
                 urlFailedNumber++;
             }
             SetMissionProgress((urlSumNumber == 0) ? (0) : ((urlFailedNumber + urlSucceedNumber) / ((float)urlSumNumber)));
         });
     }
     else
     {
         EndMissionThread();
     }
 }
コード例 #3
0
 protected override void Thread_Looping()
 {
     base.Thread_Looping();
     if (resourceURLListEnumerator.MoveNext())
     {
         URLWithCDN urlTemp = resourceURLListEnumerator.Current;
         if (urlTemp == null)
         {
             return;
         }
         if (urlTemp.IsLocal)
         {
             connection = new LocalConnect(urlTemp.ToString());
         }
         else
         {
             connection = new HttpConnect(urlTemp.ToString());
         }
         connection.CheckResource(delegate(bool result, object log)
         {
             AppendMissionLog(log);
             if (result)
             {
                 urlSucceedNumber++;
             }
             else
             {
                 urlFailedNumber++;
             }
             SetMissionProgress((urlSumNumber == 0) ? (0) : ((urlFailedNumber + urlSucceedNumber) / ((float)urlSumNumber)));
         });
     }
     else
     {
         EndMissionThread();
     }
 }