protected IEnumerator DownloadPatches() { m_VersionCheckState = VersionCheckState.DownloadingPatch; for (int i = m_HasDownloadDoneCount; i < m_PatchKeyList.Count; ++i) { var result = 0; var downloadProgress = 0f; var url = m_PatchesMap[m_PatchKeyList[i]].PatchPath; var downloadDir = UGCoreConfig.GetExternalDownloadFolder() + "/Patches"; var localPath = Path.Combine(downloadDir, m_PatchKeyList[i]); if (!Directory.Exists(downloadDir)) { Directory.CreateDirectory(downloadDir); } LoadingUI.Instance.ShowLoadingTip(string.Format(LoadingLanguageData.Instance.GetString(14), (i + 1), m_PatchKeyList.Count, 0)); LoadingUI.Instance.PushLoadTaskProgressDelta(1); LoadingUI.Instance.SetLoadingBarProgress(0); HttpDownloadUtility.DownloadFileAsync(url, localPath, (progress) => { downloadProgress = progress; }, () => { ++m_HasDownloadDoneCount; result = 1; }, () => { result = 2; }); while (result == 0) { LoadingUI.Instance.ShowLoadingTip(string.Format(LoadingLanguageData.Instance.GetString(14), (i + 1), m_PatchKeyList.Count, (int)downloadProgress)); LoadingUI.Instance.SetLoadingBarProgress(downloadProgress * 0.01f); yield return(null); } if (result == 1) { LoadingUI.Instance.ShowLoadingTip(string.Format(LoadingLanguageData.Instance.GetString(14), (i + 1), m_PatchKeyList.Count, 100)); LoadingUI.Instance.SetLoadingBarProgress(1); LoadingUI.Instance.PopLoadTaskProgressDelta(); } else if (result == 2) { m_CoroutineWorkflow.AddFirst("ShowDownlaodPatchesError", ShowDownlaodPatchesError); yield break; } yield return(null); } m_HasDownloadDoneCount = 0; m_CoroutineWorkflow.AddFirst("UncompressPatches", UncompressPatches); }
protected IEnumerator DownloadApk() { var result = 0; var downloadProgress = 0f; var apkDir = UGCoreConfig.GetExternalDownloadFolder() + "/Apk/"; var apkPath = apkDir + Path.GetFileName(GameRuntimeInfo.RemoteControlConfig.ApkInfo.ApkPath); if (!Directory.Exists(apkDir)) { Directory.CreateDirectory(apkDir); } LoadingUI.Instance.ShowLoadingTip(string.Format(LoadingLanguageData.Instance.GetString(23), 0)); LoadingUI.Instance.PushLoadTaskProgressDelta(1); LoadingUI.Instance.SetLoadingBarProgress(0); HttpDownloadUtility.DownloadFileAsync(GameRuntimeInfo.RemoteControlConfig.ApkInfo.ApkPath, apkPath, (progress) => { downloadProgress = progress; }, () => { result = 1; }, () => { result = 2; }); while (result == 0) { LoadingUI.Instance.ShowLoadingTip(string.Format(LoadingLanguageData.Instance.GetString(23), (int)downloadProgress)); LoadingUI.Instance.SetLoadingBarProgress(downloadProgress * 0.01f); yield return(null); } if (result == 1) { LoadingUI.Instance.ShowLoadingTip(string.Format(LoadingLanguageData.Instance.GetString(23), 100)); LoadingUI.Instance.SetLoadingBarProgress(1); LoadingUI.Instance.PopLoadTaskProgressDelta(); AndroidUtility.InstallApk(apkPath, true); } else if (result == 2) { m_CoroutineWorkflow.AddFirst("DownloadApkError", DownloadApkError); yield break; } yield return(null); }