public override List <AssetDownInfo> TryGetDownLoadData() { if (downloadQueue.Count <= 0) { return(null); } List <AssetDownInfo> datas = new List <AssetDownInfo>(); for (int i = 0; i < downloadQueue.Count; i++) { int number = currentQueue.Count; while (downloadQueue[i].Count > 0) { if (number >= DownloaderConstant.MAX_DOWNLOAD_QUEUE_COUNT) { break; } AssetDownInfo info = downloadQueue[i].Dequeue(); datas.Add(info); currentQueue.Add(info); number++; } } if (datas.Count > 0) { for (int i = 0; i < datas.Count; i++) { UpdateStageResult.AddDownLoadFileResultInfo(datas[i]); } } return(datas); }
public override List <AssetDownInfo> TryGetDownLoadData() { if (currentQueue.Count <= 0) { int index = 0; while (downloadQueue.Count > 0 && currentQueue.Count < DownloaderConstant.MAX_DOWNLOAD_QUEUE_COUNT) { Queue <AssetDownInfo> downloadInfos = downloadQueue[index]; while (downloadInfos.Count > 0 && currentQueue.Count < DownloaderConstant.MAX_DOWNLOAD_QUEUE_COUNT) { currentQueue.Add(downloadInfos.Dequeue()); } if (downloadInfos.Count <= 0) { downloadQueue.Remove(downloadQueue[index]); } else { index++; } } for (int i = 0; i < currentQueue.Count; i++) { UpdateStageResult.AddDownLoadFileResultInfo(currentQueue[i]); } return(currentQueue); } return(null); }