Ejemplo n.º 1
0
    private bool PopDownFileInfo(WWWFileDownloader.DownloaderProgress progress,
                                 out WWWFileDownloader.DownloadFileInfo resInfo)
    {
        resInfo = null;
        if (stopAllDownload || progress.IsStop)
        {
            return(false);
        }
        lock (this)
        {
            if (m_nNextDownIndex < m_nDownCount)
            {
                resInfo = m_DownList[m_nNextDownIndex++];
            }
        }

        return(resInfo != null);
    }
Ejemplo n.º 2
0
        public static FileMapSystemTagFindResultHelper FindInfos(FileMapSystem sys, int[] tags)
        {
            var res = new FileMapSystemTagFindResultHelper();

            res.SearchTags = tags;
            var dictDowned = new Dictionary <string, int>();
            var dictMiss   = new Dictionary <string, int>();

            foreach (var info in sys.FileInfo.AllFileMapInfo)
            {
                if (res.ContainsTag(info.FileTag))
                {
                    res.AllInfos.Add(info);
                    var mappedName = info.GetMappedFileName();
                    UnityFileLoaderHelper.eFileLoaderPosType pos;
                    if (UnityFileLoaderHelper.IsFileExist(sys.Dir, mappedName, out pos))
                    {
                        if (!dictDowned.ContainsKey(mappedName))
                        {
                            dictDowned[mappedName] = info.Len;
                        }
                        else
                        {
                            dictDowned[mappedName] = dictDowned[mappedName] + info.Len;
                        }
                    }
                    else
                    {
                        if (!dictMiss.ContainsKey(mappedName))
                        {
                            dictMiss[mappedName] = info.Len;
                        }
                        else
                        {
                            dictMiss[mappedName] = dictMiss[mappedName] + info.Len;
                        }
                    }
                }
            }

            foreach (var info in dictDowned)
            {
                var wd = new WWWFileDownloader.DownloadFileInfo()
                {
                    FileName = info.Key,
                    FileSize = info.Value
                };
                res.Downloaded.Add(wd);
                res.DownloadedSize += info.Value;
            }

            foreach (var info in dictMiss)
            {
                var wd = new WWWFileDownloader.DownloadFileInfo()
                {
                    FileName = info.Key,
                    FileSize = info.Value
                };
                res.Missed.Add(wd);
                res.MissedSize += info.Value;
            }

            return(res);
        }
Ejemplo n.º 3
0
 public void AddDownLoad(WWWFileDownloader.DownloadFileInfo download)
 {
     m_DownList.Add(download);
 }