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); }
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); }
public void AddDownLoad(WWWFileDownloader.DownloadFileInfo download) { m_DownList.Add(download); }