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);
    }