/// <summary> /// 删除沙盒总目录 /// </summary> public static void DeleteSandbox() { string directoryPath = PathHelper.MakePersistentLoadPath(string.Empty); if (Directory.Exists(directoryPath)) { Directory.Delete(directoryPath, true); } }
/// <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); }
/// <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); } }
/// <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); } }
private static string GetCacheDataFilePath() { return(PathHelper.MakePersistentLoadPath("CacheData.bytes")); }
/// <summary> /// 获取缓存文件的存储路径 /// </summary> public static string MakeCacheFilePath(string fileName) { return(PathHelper.MakePersistentLoadPath($"{CacheFolderName}/{fileName}")); }
/// <summary> /// 获取缓存文件夹路径 /// </summary> public static string GetCacheFolderPath() { return(PathHelper.MakePersistentLoadPath(CacheFolderName)); }