Beispiel #1
0
 /// <summary>
 /// 4.应用更新
 /// </summary>
 /// <param name="_information">更新信息对象</param>
 /// <param name="_url">远程服务器地址</param>
 /// <param name="_tempPath">可选:临时的下载目录,整个模块下载完成后,才会应用到持久化目录</param>
 /// <param name="_progressCallback">可选:进度信息回调函数</param>
 /// <param name="_completed">可选:在完成时回调<bool:是否完成,string:错误信息></param>
 /// <returns></returns>
 static public UAsyncOperation Apply(UUpdateInformation _information, string _url, string _tempPath = null, Action <UUpdateProgress> _progressCallback = null, Action <bool, string> _completed = null)
 {
     if (string.IsNullOrEmpty(_tempPath))
     {
         _tempPath = _information.AssetPath;
     }
     return(new DownloadFileList(_information.FinalFiles, _url, _information.AssetPath, _tempPath, _progressCallback, _completed));;
 }
Beispiel #2
0
        internal static UUpdateInformation GetInstance(string _assetPath, List <UFileVersionRemote> _versionList)
        {
            UUpdateInformation instance = new UUpdateInformation();

            instance.AssetPath  = _assetPath;
            instance.FinalFiles = _versionList;
            instance.Count      = _versionList.Count;
            instance.IsUpdate   = _versionList.Count > 0;
            ulong allBytes = 0;

            foreach (var v in _versionList)
            {
                allBytes += (ulong)v.Size;
            }
            instance.Bytes = allBytes;
            return(instance);
        }
Beispiel #3
0
        /// <summary>
        /// 3.获取的更新信息
        /// </summary>
        /// <param name="_assetPath">本地持久化目录</param>
        /// <param name="_versionList">需要参与更新的模块列表</param>
        /// <returns></returns>
        static public UUpdateInformation GetUpdateInformation(string _assetPath, List <UFileVersionRemote> _versionList)
        {
            var result = UFile.CompareFileVersion(_assetPath, _versionList);

            return(UUpdateInformation.GetInstance(_assetPath, result));
        }