//添加一个下载记录 public void AddDownloadRecord(SouceData data) { if (!LocalSouceData.ContainsKey(data.FileName)) { LocalSouceData.Add(data.FileName, data); } else { LocalSouceData[data.FileName] = data; } }
/// <summary> /// 添加一个,并且写入数据 /// </summary> /// <param name="data">Data.</param> public void AppendOne(SouceData data) { if (!LocalSouceData.ContainsKey(data.FileName)) { LocalSouceData.Add(data.FileName, data); SaveToLocalDiskAppend(JSON.Instance.ToJSON(data)); } else { LocalSouceData[data.FileName] = data; } }
public int getNewSourceError(string newSourceName) { SouceData tData = null; if (LocalSouceData.TryGetValue(newSourceName, out tData)) { if (tData != null) { return(tData.isError); } } return(0); }
private void LoadFinished(AssetTask aTask) { SouceData data = new SouceData(); data.FileName = aTask.AssetBundleName; data.Num = Core.Data.sourceManager.getNewNum(aTask.AssetBundleName); data.Size = Core.Data.sourceManager.getSouceSize(aTask.AssetBundleName); data.isError = 1; Core.Data.sourceManager.AddDownloadRecordAndSaveToLocaldisk(data); // Caching.CleanCache(); if (m_EventLoadFinished != null) { m_EventLoadFinished(aTask); } m_DownloadModelID = -1; m_DownloadModelName = string.Empty; CloesWin(); }
int isClientNeedDownload = -1; // -1 未初始化 0 :不需要下载 1:需要下载 //强制检测 public bool DoClientNeedUpdateModles(bool CheckMandatory = false) { // #region 假数据 // return false; // #endregion if (isClientNeedDownload == -1 || CheckMandatory) { isClientNeedDownload = 0; foreach (KeyValuePair <string, SouceData> pair in NewSouceData) { SouceData date = null; if (LocalSouceData.TryGetValue(pair.Key, out date)) { if (NewSouceData [pair.Key].Num != date.Num) { isClientNeedDownload = 1; break; } else { if (LocalSouceData [pair.Key].isError == 0) { // isClientNeedDownload = 1; } } } else { //老配表里都没有这个项目 Debug.Log(" null data ======= " + NewSouceData[pair.Key].FileName); isClientNeedDownload = 1; break; } } } bool result = isClientNeedDownload == 0 ? false:true; return(result); }
// //用于记录下载错误模型的配表 wxl // public void SaveToLocalErrorDisk(){ // // } /// <summary> /// 获取当前版本需要更新的模型 列表 /// </summary> /// <returns>The update mode.</returns> public List <SouceData> GetUpdateModes() { List <SouceData> curModes = new List <SouceData>(); foreach (KeyValuePair <string, SouceData> pair in NewSouceData) { SouceData date = null; if (LocalSouceData.TryGetValue(pair.Key, out date)) { if (NewSouceData[pair.Key].Num != date.Num) { curModes.Add(date); } } else { curModes.Add(pair.Value); } } return(curModes); }
public void ForceJumpEnd(AssetTask task) { m_Index++; curCount++; if (m_EventDownloadModel != null) { m_EventDownloadModel(m_Index); } else { m_SLiderTotal.value = curTotalRatio + (1 - curTotalRatio) * curCount * 1.0f / totalCount; } SouceData data = new SouceData(); data.FileName = task.AssetBundleName; data.Num = 1; data.Size = sourceMgr.getSouceSize(task.AssetBundleName); data.isError = 0; sourceMgr.AddDownloadRecordAndSaveToLocaldisk(data); }
private void FeatureRight(AssetTask task) { float size = float.Parse(sourceMgr.getSouceSize(task.AssetBundleName)) / 1024 / 1024; m_CurSouceSizes += size; UserConfigManager usr = Core.Data.usrManager; usr.UserConfig.downCurSize = m_CurSouceSizes; usr.save(); string color = "ffff02"; string str1 = SetLabelColor(color, (m_CurSouceSizes).ToString("F")); SetDownloadSizeLabel(str1 + "/" + m_SouceSizes.ToString("F") + "MB"); m_DownloadTime = (int)((m_SouceSizes - m_CurSouceSizes) * m_CurDownTime); SetDownloadTimeLabel(GetDownloadTime(m_DownloadTime)); m_Index++; curCount++; if (m_EventDownloadModel != null) { m_EventDownloadModel(m_Index); } else { m_SLiderTotal.value = curTotalRatio + (1 - curTotalRatio) * curCount * 1.0f / totalCount; } SouceData data = new SouceData(); data.FileName = task.AssetBundleName; data.Num = sourceMgr.getNewNum(task.AssetBundleName); data.Size = sourceMgr.getSouceSize(task.AssetBundleName); data.isError = 1; sourceMgr.AddDownloadRecordAndSaveToLocaldisk(data); }
//添加一个下载记录,并立刻保存到本地磁盘 public void AddDownloadRecordAndSaveToLocaldisk(SouceData data) { AddDownloadRecord(data); SaveToLocaldisk(); }