Пример #1
0
        private void OnDownFinish(Engine.HttpDownloadError eError, string strResName)
        {
            switch (eError)
            {
            case Engine.HttpDownloadError.HttpDownloadError_NetExp:
            {
                // 弹出提示,然后再转换状态
                Engine.ThreadHelper.RunOnMainThread(() =>
                    {
                        if (GameUpgrade.Instance.callback != null)
                        {
                            GameUpgrade.Instance.callback(GameUpgrade.UpgradeError.UpgradeError_DownloadFileError, 0, 0, UpgradeDesc.DownloadFileError);
                        }
                    });
                break;
            }

            case Engine.HttpDownloadError.HttpDownloadError_Completed:
            {
                // 进行文件校验
                // 下载文件出错,需要重新下载
                if (!CompareFileMD5(ref strResName, ref m_DownloadInfo.strMD5))
                {
                    // 下载文件
                    Engine.HttpDownload.Instance().DownLoadFile(m_DownloadInfo.strNewFileURL, m_DownloadInfo.strDestFile);
                }
                else
                {
                    Engine.ThreadHelper.RunOnMainThread(() =>
                        {
                            if (m_Statemachine != null)
                            {
                                // 更新下载的文件
                                // strResName 下载后的文件名称
                                Log.Trace("下载完毕 {0}", strResName);
                                m_Statemachine.ChangeState((int)GameState.Update, strResName);
                            }
                        });
                }

                break;
            }

            case Engine.HttpDownloadError.HttpDownloadError_Downloading:
            {
                break;
            }
            }
        }
Пример #2
0
        void OnHttpDownloadCallback(Engine.HttpDownloadError eErrorCode, object data)
        {
            switch (eErrorCode)
            {
            case Engine.HttpDownloadError.HttpDownloadError_NetExp:
            {
                //object[] arr = data as object[];
                if (m_DownFinishCallBack != null)
                {
                    m_DownFinishCallBack(eErrorCode, m_curDownloadFile.strDestFile);         // 返回错误
                }
                break;
            }

            case Engine.HttpDownloadError.HttpDownloadError_Downloading:
            {
                object[] arr = data as object[];
                if (m_DownProgressCallBack != null)
                {
                    m_DownProgressCallBack(m_curDownloadFile.strURL, (int)arr[0], (int)arr[1]);
                }
                break;
            }

            case Engine.HttpDownloadError.HttpDownloadError_Completed:
            {
                //m_strMsg = string.Format("下载完成");
                m_bDownload = false;
                if (m_DownFinishCallBack != null)
                {
                    m_DownFinishCallBack(eErrorCode, m_curDownloadFile.strDestFile);
                    m_DownProgressCallBack = null;
                    m_DownFinishCallBack   = null;
                }
                break;
            }
                //case Star.HttpDownloadError.HttpDownloadError_Connecting:
                //    {
                //        if (m_DownFinishCallBack != null)
                //        {
                //            m_DownFinishCallBack(0, m_curDownloadFile.strDestFile);
                //        }
                //        break;
                //    }
            }
        }