示例#1
0
        /// <summary>
        /// 删除沙盒总目录
        /// </summary>
        public static void DeleteSandbox()
        {
            string directoryPath = PathHelper.MakePersistentLoadPath(string.Empty);

            if (Directory.Exists(directoryPath))
            {
                Directory.Delete(directoryPath, true);
            }
        }
示例#2
0
        /// <summary>
        /// 加载沙盒内的补丁清单
        /// 注意:在加载本地补丁清单之前,已经验证过文件的哈希值
        /// </summary>
        private void LoadSandboxPatchManifest(int updateResourceVersion)
        {
            YooLogger.Log("Load sandbox patch manifest file.");
            string filePath             = PathHelper.MakePersistentLoadPath(YooAssetSettingsData.GetPatchManifestFileName(updateResourceVersion));
            string jsonData             = File.ReadAllText(filePath);
            var    sandboxPatchManifest = PatchManifest.Deserialize(jsonData);

            _impl.SetLocalPatchManifest(sandboxPatchManifest);
        }
示例#3
0
        /// <summary>
        /// 获取沙盒内补丁清单文件的哈希值
        /// 注意:如果沙盒内补丁清单文件不存在,返回空字符串
        /// </summary>
        private string GetSandboxPatchManifestFileHash(int updateResourceVersion)
        {
            string filePath = PathHelper.MakePersistentLoadPath(YooAssetSettingsData.GetPatchManifestFileName(updateResourceVersion));

            if (File.Exists(filePath))
            {
                return(HashUtility.FileMD5(filePath));
            }
            else
            {
                return(string.Empty);
            }
        }
示例#4
0
        /// <summary>
        /// 解析并保存远端请求的补丁清单
        /// </summary>
        private bool ParseAndSaveRemotePatchManifest(int updateResourceVersion, string content)
        {
            try
            {
                var remotePatchManifest = PatchManifest.Deserialize(content);
                _impl.SetLocalPatchManifest(remotePatchManifest);

                YooLogger.Log("Save remote patch manifest file.");
                string savePath = PathHelper.MakePersistentLoadPath(YooAssetSettingsData.GetPatchManifestFileName(updateResourceVersion));
                PatchManifest.Serialize(savePath, remotePatchManifest);
                return(true);
            }
            catch (Exception e)
            {
                YooLogger.Error(e.ToString());
                return(false);
            }
        }
示例#5
0
 private static string GetCacheDataFilePath()
 {
     return(PathHelper.MakePersistentLoadPath("CacheData.bytes"));
 }
示例#6
0
 /// <summary>
 /// 获取缓存文件的存储路径
 /// </summary>
 public static string MakeCacheFilePath(string fileName)
 {
     return(PathHelper.MakePersistentLoadPath($"{CacheFolderName}/{fileName}"));
 }
示例#7
0
 /// <summary>
 /// 获取缓存文件夹路径
 /// </summary>
 public static string GetCacheFolderPath()
 {
     return(PathHelper.MakePersistentLoadPath(CacheFolderName));
 }