public byte[] LoadStreamAsset(string path) { var fullPath = Application.streamingAssetsPath + "/" + path; byte[] data = null; if (fullPath.Contains("://")) { #if UNITY_ANDROID && !UNITY_EDITOR data = DodLib.LoadStreamAssetFile(fullPath); #endif } else { data = AssetBundleUtil.ReadFile(fullPath); } return(data); }
/// <summary> /// 开始下载整包 /// </summary> /// <returns></returns> IEnumerator ContinueDownloadProg(AssetVerInfo svrVerInfo) { OnManualUpdate(); yield break; // yield return null; // //yield return null; // BLogger.Error("StartDownload prog: {0}", svrVerInfo.m_progUrl); // ReleaseUtil.StartDownLoadProg(svrVerInfo.m_progUrl); // yield return null; //如果是Ios的话,就可以直接返回了 #if !UNITY_ANDROID DodLib.DoQuit(); yield break; #endif SetProgress(0, 100); bool isDownRun = true; while (isDownRun) { ProgDownloadState stateData = ReleaseUtil.GetDownloadState(svrVerInfo.m_progUrl); if (stateData == null || stateData.status == ProgDownloadStatus.STATUS_NONE) { ShowText(StartupTextConfigMgr.Instance.GetText(StartupTextDefine.ID_STARTUP_UPDATE_FINISH)); isDownRun = false; ShowManualDownload(); break; } if (stateData.totalSize > 0) { SetProgress((uint)stateData.downloadedSize, (uint)stateData.totalSize); } switch (stateData.status) { case ProgDownloadStatus.STATUS_FAILED: { isDownRun = false; ShowText(StartupTextConfigMgr.Instance.GetText(StartupTextDefine.ID_STARTUP_DOWNLOAD_PROG_FAILED, stateData.statusReason)); ShowManualDownload(); } break; case ProgDownloadStatus.STATUS_PAUSED: { ShowText(StartupTextConfigMgr.Instance.GetText(StartupTextDefine.ID_STARTUP_DOWNLOAD_PROG_PAUSE, stateData.statusReason)); ShowManualDownload(); } break; case ProgDownloadStatus.STATUS_PENDING: { ShowText(StartupTextConfigMgr.Instance.GetText(StartupTextDefine.ID_STARTUP_DOWNLOAD_PROG_WAIT)); ShowManualDownload(); } break; case ProgDownloadStatus.STATUS_RUNNING: { if (stateData.totalSize > 0) { ShowText(StartupTextConfigMgr.Instance.GetText(StartupTextDefine.ID_STARTUP_DOWNLOAD_PROG_PROGRESS, GetDataSize(stateData.downloadedSize) + "/" + GetDataSize(stateData.totalSize))); } else { ShowText(StartupTextConfigMgr.Instance.GetText(StartupTextDefine.ID_STARTUP_DOWNLOAD_PROG_START)); } } break; case ProgDownloadStatus.STATUS_SUCCESSFUL: { isDownRun = false; ShowText(StartupTextConfigMgr.Instance.GetText(StartupTextDefine.ID_STARTUP_DOWNLOAD_PROG_SUCCESS)); #if UNITY_ANDROID //当前下载任务正在进行中 //直接调用安装 bool ret = DodLib.InstallApk(svrVerInfo.m_progUrl); BLogger.Assert(ret); #endif } break; default: break; } yield return(null); yield return(null); yield return(null); } }
public void OnUpdateConfirmCancel() { DodLib.DoQuit(); }