Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
    /// <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);
        }
    }
Exemplo n.º 3
0
 public void OnUpdateConfirmCancel()
 {
     DodLib.DoQuit();
 }