Beispiel #1
0
 //添加一个下载记录
 public void AddDownloadRecord(SouceData data)
 {
     if (!LocalSouceData.ContainsKey(data.FileName))
     {
         LocalSouceData.Add(data.FileName, data);
     }
     else
     {
         LocalSouceData[data.FileName] = data;
     }
 }
Beispiel #2
0
 /// <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;
     }
 }
Beispiel #3
0
    public int getNewSourceError(string newSourceName)
    {
        SouceData tData = null;

        if (LocalSouceData.TryGetValue(newSourceName, out tData))
        {
            if (tData != null)
            {
                return(tData.isError);
            }
        }
        return(0);
    }
Beispiel #4
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();
    }
Beispiel #5
0
    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);
    }
Beispiel #6
0
//	//用于记录下载错误模型的配表		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);
    }
Beispiel #9
0
 //添加一个下载记录,并立刻保存到本地磁盘
 public void AddDownloadRecordAndSaveToLocaldisk(SouceData data)
 {
     AddDownloadRecord(data);
     SaveToLocaldisk();
 }