private IEnumerator DownLoad() { // 解析APP里的补丁清单 string filePath = AssetPathHelper.MakeStreamingLoadPath(PatchDefine.PatchManifestFileName); string url = AssetPathHelper.ConvertToWWWPath(filePath); WebDataRequest downloader = new WebDataRequest(url); yield return(downloader.DownLoad()); if (downloader.States == EWebRequestStates.Success) { PatchHelper.Log(ELogLevel.Log, "Parse app patch manifest."); _patcher.ParseAppPatchManifest(downloader.GetText()); downloader.Dispose(); _patcher.SwitchNext(); } else { throw new System.Exception($"Fatal error : Failed download file : {url}"); } }
/// <summary> /// 异步初始化 /// </summary> public IEnumerator InitializeAync(PatchManagerImpl patcher) { // 处理沙盒被污染 ProcessSandboxDirty(); // 分析APP内的补丁清单 { string filePath = AssetPathHelper.MakeStreamingLoadPath(PatchDefine.PatchManifestBytesFileName); string url = AssetPathHelper.ConvertToWWWPath(filePath); WebDataRequest downloader = new WebDataRequest(url); yield return(downloader.DownLoad()); if (downloader.States == EWebRequestStates.Success) { MotionLog.Log("Parse app patch manifest."); patcher.ParseAppPatchManifest(downloader.GetData()); downloader.Dispose(); } else { throw new System.Exception($"Fatal error : Failed download file : {url}"); } } // 分析沙盒内的补丁清单 if (PatchHelper.CheckSandboxPatchManifestFileExist()) { string filePath = AssetPathHelper.MakePersistentLoadPath(PatchDefine.PatchManifestBytesFileName); byte[] fileData = File.ReadAllBytes(filePath); MotionLog.Log($"Parse sandbox patch file."); patcher.ParseSandboxPatchManifest(fileData); } else { patcher.ParseSandboxPatchManifest(patcher.AppPatchManifest); } }