| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 | 
							- using System;
 
- using System.Collections;
 
- using System.Collections.Generic;
 
- using ThirdParty.DownloadSystem;
 
- using UnityEngine;
 
- using UnityEngine.Networking;
 
- public class FileDownloadSystem
 
- {
 
-     public static FileDownloadSystem Instance
 
-     {
 
-         get
 
-         {
 
-             if (_instance == null)
 
-             {
 
-                 _instance = new FileDownloadSystem();
 
-             }
 
-             return _instance;
 
-         }
 
-     }
 
-     private static FileDownloadSystem _instance;
 
-     public List<HttpDownloadBasic> HttpDownloadBasics = new List<HttpDownloadBasic>();
 
-     private int _maxDownloadCount = 18;
 
-     private List<UnityWebHttpDownload> _awitDow = new List<UnityWebHttpDownload>();
 
-     private List<DownLoadHanderGroup> _handerGroups = new List<DownLoadHanderGroup>();
 
-     public List<ICheckUpdate> CheckUpdateList = new List<ICheckUpdate>();
 
-     public DownloadHander DownloadFile(DownloadFileData downloadFileData)
 
-     {
 
-         UnityWebHttpDownload httpDownload = new UnityWebHttpDownload();
 
-         DownloadHander downloadHander = new DownloadHander();
 
-         httpDownload.Init(downloadFileData, downloadHander);
 
-         downloadHander.HttpDownloadBasic = httpDownload;
 
-         if (HttpDownloadBasics.Count < _maxDownloadCount)
 
-         {
 
-             StartDownload(httpDownload);
 
-         }
 
-         else
 
-         {
 
-             _awitDow.Add(httpDownload);
 
-         }
 
-         return downloadHander;
 
-     }
 
-     public void AddHanderGroup(DownLoadHanderGroup downLoadHanderGroup)
 
-     {
 
-         _handerGroups.Add(downLoadHanderGroup);
 
-     }
 
-     public void RemoveHanderGroup(DownLoadHanderGroup downLoadHanderGroup)
 
-     {
 
-         _handerGroups.Remove(downLoadHanderGroup);
 
-     }
 
-     private void StartDownload(UnityWebHttpDownload httpDownload)
 
-     {
 
-         httpDownload.StartDown();
 
-         HttpDownloadBasics.Add(httpDownload);
 
-     }
 
-     public void Update()
 
-     {
 
-         try
 
-         {
 
-             for (int i = 0; i < HttpDownloadBasics.Count; i++)
 
-             {
 
-                 HttpDownloadBasics[i].Update();
 
-                 if (HttpDownloadBasics[i].AllFinish())
 
-                 {
 
-                     // if (HttpDownloadBasics[i].Result() != UnityWebRequest.Result.Success)
 
-                     // {
 
-                     //     Debug.Log("多次下载失败");
 
-                     //     HttpDownloadBasics[i].maxCount = 2;
 
-                     //     _awitDow.Add(HttpDownloadBasics[i] as UnityWebHttpDownload);
 
-                     // }
 
-                     HttpDownloadBasics.RemoveAt(i);
 
-                     i--;
 
-                 }
 
-             }
 
-             if (_awitDow.Count > 0 && HttpDownloadBasics.Count < _maxDownloadCount)
 
-             {
 
-                 for (int i = 0; i < _awitDow.Count; i++)
 
-                 {
 
-                     if (HttpDownloadBasics.Count < _maxDownloadCount)
 
-                     {
 
-                         UnityWebHttpDownload download = _awitDow[i];
 
-                         StartDownload(download);
 
-                         _awitDow.RemoveAt(i);
 
-                         i--;
 
-                     }
 
-                     else
 
-                     {
 
-                         break;
 
-                     }
 
-                 }
 
-             }
 
-             for (int i = 0; i < _handerGroups.Count; i++)
 
-             {
 
-                 _handerGroups[i].Update();
 
-             }
 
-             for (int i = 0; i < CheckUpdateList.Count; i++)
 
-             {
 
-                 CheckUpdateList[i].CheckUpdate();
 
-             }
 
-         }
 
-         catch (Exception e)
 
-         {
 
-             Debug.LogError(e);
 
-         }
 
-     }
 
-     public void AddCheckUpdate(ICheckUpdate checkUpdate)
 
-     {
 
-         lock (CheckUpdateList)
 
-         {
 
-             CheckUpdateList.Add(checkUpdate);
 
-         }
 
-     }
 
-     public void RemvoeCheckUpdate(ICheckUpdate checkUpdate)
 
-     {
 
-         lock (CheckUpdateList)
 
-         {
 
-             CheckUpdateList.Remove(checkUpdate);
 
-         }
 
-     }
 
- }
 
 
  |