Exemplo n.º 1
0
    private void OnWebRequestSuccess(object sender, GameFramework.Event.GameEventArgs e)
    {
        WebRequestSuccessEventArgs evt = (WebRequestSuccessEventArgs)e;

        Log.Info("Web Request Success! ");
        m_LatestVersionInfo = Utility.Json.ToObject <VersionInfo>(evt.GetWebResponseBytes());

        //先检测游戏版本号
        Version curVersion = new Version(Application.version);
        Version latVersion = new Version(m_LatestVersionInfo.LatestGameVersion);

        if (curVersion.CompareTo(latVersion) < 0)
        {
            Log.Info("游戏有新版本更新。");
            //TODO:如果有需要整包更新,则先进行整包更新
            return;
        }

        //再检测资源版本号
        if (GameManager.Resource.CheckVersionList(m_LatestVersionInfo.LatestInternalResourceVersion) == GameFramework.Resource.CheckVersionListResult.Updated)
        {
            Log.Info("资源是最新的,无需更新。");
            m_IsUpdateVersionListComplete = true;

            Log.Info("最新当前资源适用游戏版本: ApplicableGameVersion : {0}.", GameManager.Resource.ApplicableGameVersion);
            Log.Info("最新内部资源版本号: {0}.", GameManager.Resource.InternalResourceVersion);
            return;
        }

        Log.Info("进行版本资源列表更新...");
        GameManager.Resource.UpdatePrefixUri = Utility.Path.GetCombinePath(m_LatestVersionInfo.ResourceUpdateUrl, GetResourceVersion(), GetOSName());
        GameManager.Resource.UpdateVersionList(m_LatestVersionInfo.ResourceLength, m_LatestVersionInfo.ResourceHashCode, m_LatestVersionInfo.ResourceZipLength, m_LatestVersionInfo.ResourceZipHashCode);
    }
        private void OnWebRequestSuccess(object sender, GameEventArgs e)
        {
            WebRequestSuccessEventArgs ne = (WebRequestSuccessEventArgs)e;

            if (ne.UserData != this)
            {
                return;
            }

            // 解析版本信息
            byte[] versionInfoBytes = ne.GetWebResponseBytes();
            m_VersionInfo = Utility.Json.ToObject <VersionInfo>(System.Text.Encoding.Default.GetString(versionInfoBytes));
            if (m_VersionInfo == null)
            {
                Log.Error("Parse VersionInfo failure.");
                return;
            }

            Log.Info("Latest game version is '{0} ({1})', local game version is '{2} ({3})'.", m_VersionInfo.LatestGameVersion, m_VersionInfo.InternalGameVersion.ToString(), Version.GameVersion, Version.InternalGameVersion.ToString());

            // 设置资源更新下载地址
            GameEntry.Resource.UpdatePrefixUri = Utility.Path.GetRegularPath(m_VersionInfo.UpdatePrefixUri);

            m_CheckVersionComplete = true;
            m_NeedUpdateVersion    = GameEntry.Resource.CheckVersionList(m_VersionInfo.InternalResourceVersion) == CheckVersionListResult.NeedUpdate;
        }
Exemplo n.º 3
0
        private void OnWebRequestSuccess(object sender, GameEventArgs e)
        {
            WebRequestSuccessEventArgs ne = (WebRequestSuccessEventArgs)e;

            if (ne.UserData != this)
            {
                return;
            }

            //解析服务器发来的版本信息
            m_VersionInfo = Utility.Json.ToObject <VersionInfo>(ne.GetWebResponseBytes());
            if (m_VersionInfo == null)
            {
                Log.Error("Parse VersionInfo failure.");
                return;
            }

            Log.Info("Latest game version is '{0}', local game version is '{1}'.", m_VersionInfo.LatestGameVersion, Version.GameVersion);

            //是否需要整包更新
            if (m_VersionInfo.ForceGameUpdate)
            {
                //TODO:进行整包更新的相关操作
                //GotoUpdateApp(null);
                return;
            }

            //设置资源更新URL
            GameEntry.Resource.UpdatePrefixUri = Utility.Path.GetCombinePath(m_VersionInfo.GameUpdateUrl, GetResourceVersionName(), GetPlatformPath());


            //更新版本资源列表
            UpdateVersion();
        }
Exemplo n.º 4
0
    void OnWebSuccessHander(object sender, GameEventArgs args)
    {
        WebRequestSuccessEventArgs ne = args as WebRequestSuccessEventArgs;
        string response = Utility.Converter.GetString(ne.GetWebResponseBytes());

        Debug.Log(ne.UserData + "  " + response);
    }
Exemplo n.º 5
0
        /// <summary>
        /// 接收服务端的返回消息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnWebRequestSuccess(object sender, GameEventArgs e)
        {
            WebRequestSuccessEventArgs ne = (WebRequestSuccessEventArgs)e;

            if (ne.UserData != this)
            {
                return;
            }
            m_TempJsonResponse = Utility.Converter.GetString(ne.GetWebResponseBytes());
            if (m_SuccessAction != null && !string.IsNullOrEmpty(m_TempJsonResponse))
            {
                m_HttpSendData.fromDict(m_TempJsonResponse);
                m_SuccessAction(m_TempJsonResponse, m_HttpSendData);
                if (m_SerialId != -1)
                {
                    GameEntry.UI.CloseUIForm(m_SerialId);
                }
            }
            else
            {
                if (string.IsNullOrEmpty(m_TempJsonResponse))
                {
                    Log.Warning("Return string json is null !");
                }
            }
            RemoveEvent();
        }
        private void OnWebRequestSuccess(object sender, GameEventArgs e)
        {
            WebRequestSuccessEventArgs ne = (WebRequestSuccessEventArgs)e;

            if (ne.UserData != this)
            {
                return;
            }

            string      responseJson = Utility.Converter.GetString(ne.GetWebResponseBytes());
            VersionInfo versionInfo  = Utility.Json.ToObject <VersionInfo>(responseJson);

            if (versionInfo == null)
            {
                Log.Error("Parse VersionInfo failure.");
                return;
            }

            Log.Info("Latest game version is '{0}', local game version is '{1}'.", versionInfo.LatestGameVersion, GameEntry.Base.GameVersion);

            if (versionInfo.GameUpdate)
            {
                // TODO:在这里处理更新

                return;
            }

            GameEntry.Resource.InitResources();
        }
Exemplo n.º 7
0
        private void OnWebRequestSuccess(object sender, GameEventArgs e)
        {
            WebRequestSuccessEventArgs ne = (WebRequestSuccessEventArgs)e;

            if (ne.UserData != this)
            {
                return;
            }

            string responseJson = Utility.Converter.GetString(ne.GetWebResponseBytes());

            m_VersionInfo = Utility.Json.ToObject <VersionInfo>(responseJson);
            if (m_VersionInfo == null)
            {
                Log.Error("Parse VersionInfo failure.");
                return;
            }

            Log.Info("<color=lime>最新版本号: '{0}', 本地版本号 '{1}'.</color>", m_VersionInfo.LatestGameVersion, GameFramework.Version.GameVersion);
            if (!m_VersionInfo.GameNeedUpdate)
            {
                return;
            }
            GameEntry.Resource.UpdatePrefixUri = Utility.Path.GetCombinePath(m_VersionInfo.GameUpdateUrl, GetResourceVersionName());
            Log.Info("<color=lime>更新的URL:  '{0}/{1}'.</color>", m_VersionInfo.GameUpdateUrl, GetResourceVersionName());
            Log.Info("<color=lime>检查版本列表:  '{0}'.</color>", GameEntry.Resource.CheckVersionList(m_VersionInfo.InternalResourceVersion));
            if (GameEntry.Resource.CheckVersionList(m_VersionInfo.InternalResourceVersion) == GameFramework.Resource.CheckVersionListResult.Updated)
            {
                m_VersionListUpdataComplete = true;
            }
            else
            {
                GameEntry.Resource.UpdateVersionList(m_VersionInfo.VersionListLength, m_VersionInfo.VersionListHashCode, m_VersionInfo.VersionListZipLength, m_VersionInfo.VersionListZipHashCode, m_UpdateVersionListCallbacks);
            }
        }
Exemplo n.º 8
0
        private void OnWebRequestSuccess(object sender, GameEventArgs e)
        {
            WebRequestSuccessEventArgs _ne = (WebRequestSuccessEventArgs)e;

            if (_ne.UserData != this)
            {
                return;
            }
            //解析xml
            string      _responseXml = Utility.Converter.GetString(_ne.GetWebResponseBytes());
            VersionInfo _versionInfo = GetVersionInfoFromXml(_responseXml);

            if (_versionInfo == null)
            {
                return;
            }
            //检查版本
            if (GameEntry.Resource.CheckVersionList(_versionInfo.LatestInternalResourceVersion)
                == GameFramework.Resource.CheckVersionListResult.NeedUpdate)
            {
                //不同版本 资源不同
                GameEntry.Resource.UpdatePrefixUri += "/" + _versionInfo.Path;
                GameEntry.Resource.UpdateVersionList(_versionInfo.VersionListLength, _versionInfo.VersionListHashCode, _versionInfo.VersionListZipLength, _versionInfo.VersionListZipHashCode);
            }
            else
            {
                Log.Debug("已是最新版本");
                GameEntry.Resource.CheckResources();
            }
        }
Exemplo n.º 9
0
    private void OnWebRequestSuccess(object sender, GameEventArgs e)
    {
        WebRequestSuccessEventArgs ne = (WebRequestSuccessEventArgs)e;
        // 获取回应的数据
        string responseJson = Utility.Converter.GetString(ne.GetWebResponseBytes());

        Log.Debug("responseJson:" + responseJson);
    }
Exemplo n.º 10
0
        private void OnWebRequestSuccess(object sender, GameEventArgs e)
        {
            WebRequestSuccessEventArgs ne = (WebRequestSuccessEventArgs)e;

            if (ne.UserData != this)
            {
                return;
            }

            string      responseJson = Utility.Converter.GetString(ne.GetWebResponseBytes());
            VersionInfo versionInfo  = Utility.Json.ToObject <VersionInfo>(responseJson);

            if (versionInfo == null)
            {
                Log.Error("Parse VersionInfo failure.");
                return;
            }

            Log.Info("Latest game version is '{0}', local game version is '{1}'.", versionInfo.LatestGameVersion,
                     Version.GameVersion);

            if (versionInfo.ForceGameUpdate)
            {
                /*****
                 * GameEntry.UI.OpenDialog(new DialogParams
                 * {
                 *  Mode = 2,
                 *  Title = GameEntry.Localization.GetString("ForceUpdate.Title"),
                 *  Message = GameEntry.Localization.GetString("ForceUpdate.Message"),
                 *  ConfirmText = GameEntry.Localization.GetString("ForceUpdate.UpdateButton"),
                 *  OnClickConfirm = delegate (object userData) { Application.OpenURL(versionInfo.GameUpdateUrl); },
                 *  CancelText = GameEntry.Localization.GetString("ForceUpdate.QuitButton"),
                 *  OnClickCancel = delegate (object userData) { UnityGameFramework.Runtime.GameEntry.Shutdown(ShutdownType.Quit); },
                 * });
                 ***/


                GameEntry.Resource.UpdatePrefixUri = versionInfo.GameUpdateUrl;
                GameEntry.Resource.UpdateVersionList(versionInfo.VersionListLength, versionInfo.VersionListHashCode,
                                                     versionInfo.VersionListZipLength, versionInfo.VersionListZipHashCode,
                                                     new UpdateVersionListCallbacks((path, uri) =>
                {
                    Log.Info("更新资源列表成功 path is '{0}',uri is '{1}'", path, uri);

                    GameEntry.Resource.CheckResources((resources, count, updateCount, length, zipLength) =>
                    {
                        Log.Info(
                            "检查资源成功的回调 resources is '{0}',count is '{1}',updateCount is '{2}',length is '{3}',zipLength is '{4}'");
                        OnInitResourcesComplete();
                    });
                }, (uri, message) => { Log.Error("更新资源成功 uri is '{0}',message is '{1}'", uri, message); }));

                return;
            }

            GameEntry.Resource.InitResources(OnInitResourcesComplete);
        }
Exemplo n.º 11
0
        private static void OnWebRequestSuccess(object sender, GameEventArgs e)
        {
            WebRequestSuccessEventArgs ne = (WebRequestSuccessEventArgs)e;

            if (ne.SerialId == s_WebRequestSerialId)
            {
                s_WebRequestTcs.SetResult(ne.GetWebResponseBytes());
                s_WebRequestTcs = null;
            }
        }
Exemplo n.º 12
0
        /// <summary>
        /// 创建 Web 请求成功事件。
        /// </summary>
        /// <param name="serialId">Web 请求任务的序列编号。</param>
        /// <param name="webRequestUri">Web 请求地址。</param>
        /// <param name="webResponseBytes">Web 响应的数据流。</param>
        /// <param name="userData">用户自定义数据。</param>
        /// <returns>创建的 Web 请求成功事件。</returns>
        public static WebRequestSuccessEventArgs Create(int serialId, string webRequestUri, byte[] webResponseBytes, object userData)
        {
            WebRequestSuccessEventArgs webRequestSuccessEventArgs = ReferencePool.Acquire <WebRequestSuccessEventArgs>();

            webRequestSuccessEventArgs.SerialId           = serialId;
            webRequestSuccessEventArgs.WebRequestUri      = webRequestUri;
            webRequestSuccessEventArgs.m_WebResponseBytes = webResponseBytes;
            webRequestSuccessEventArgs.UserData           = userData;
            return(webRequestSuccessEventArgs);
        }
Exemplo n.º 13
0
        private void OnWebRequestSuccess(object sender, GameEventArgs e)
        {
            WebRequestSuccessEventArgs ne = (WebRequestSuccessEventArgs)e;

            if (ne.UserData != this)
            {
                return;
            }

            //解析服务器发来的版本信息
            m_VersionInfo = Utility.Json.ToObject <VersionInfo>(ne.GetWebResponseBytes());
            if (m_VersionInfo == null)
            {
                Log.Error("Parse VersionInfo failure.");
                return;
            }

            Log.Info("Latest game version is '{0}', local game version is '{1}'.", m_VersionInfo.LatestGameVersion, Version.GameVersion);

            //是否需要整包更新
            if (m_VersionInfo.ForceGameUpdate)
            {
                //TODO:进行整包更新的相关操作
                //GotoUpdateApp(null);
                return;
            }

            //设置资源更新URL
            GameEntry.Resource.UpdatePrefixUri = Utility.Path.GetCombinePath(m_VersionInfo.GameUpdateUrl, GetResourceVersionName(), GetPlatformPath());


            //更新版本资源礼包
            UpdateVersion();

            //if (m_VersionInfo.ForceGameUpdate)
            //{
            //    //是否需要更新版本资源列表
            //    CheckVersionListResult result = GameEntry.Resource.CheckVersionList(m_VersionInfo.InternalResourceVersion);
            //    if (result == CheckVersionListResult.NeedUpdate)
            //    {
            //        Log.Info("最新内部资源版本号为{0},需要更新版本资源列表", m_VersionInfo.InternalResourceVersion);

            //        //更新版本资源列表
            //        GameEntry.Resource.UpdatePrefixUri = m_VersionInfo.GameUpdateUrl;
            //        GameEntry.Resource.UpdateVersionList(m_VersionInfo.VersionListLength, m_VersionInfo.VersionListHashCode, m_VersionInfo.VersionListZipLength, m_VersionInfo.VersionListZipHashCode, m_UpdateVersionListCallbacks);
            //    }
            //    else
            //    {
            //        //检查资源
            //        Log.Info("最新内部资源版本号为{0},不需要更新版本资源列表,开始检查需要更新的资源", m_VersionInfo.InternalResourceVersion);
            //        GameEntry.Resource.CheckResources(OnCheckResourcesComplete);
            //    }

            //}
        }
        /// <summary>
        /// 接收服务端的返回消息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnWebRequestSuccess(object sender, GameEventArgs e)
        {
            WebRequestSuccessEventArgs ne = (WebRequestSuccessEventArgs)e;
            M2SInfo msgBase = ne.UserData as M2SInfo;

            if (msgBase == null)
            {
                return;
            }
            //if (!msgBase.ignoreConnectStatue)
            //{
            //    if (connectForm != null)
            //    {
            //        if (connectForm.isActiveAndEnabled)
            //        {
            //            connectForm.CloseConnectForm(true);
            //        }
            //        closeConnectFormFailure = false;
            //    }
            //    else
            //    {
            //        closeConnectFormFailure = true;
            //    }
            //}


            string responseJson = Utility.Converter.GetString(ne.GetWebResponseBytes());

            Debug.Log("服务器返回消息:\n" + responseJson);
            //JsonData data = JsonMapper.ToObject(responseJson);
            if (ne.UserData != null)
            {
                JsonData res = JsonMapper.ToObject(responseJson);
                //string resultCode = "0";
                //if (res.Inst_Object.Keys.Contains("respVo"))
                //    resultCode = res["respVo"]["resultCode"].ToString();
                //else if(res.Inst_Object.Keys.Contains("resultCode"))
                //    resultCode = res["resultCode"].ToString();
                //if (resultCode == "-8")
                //{
                //    Debug.Log("session error,please restart game!");
                //    gameOver = true;
                //    GameEntry.UI.OpenDialog(new DialogParams()
                //    {
                //        Mode = 1,
                //        Title = GameEntry.Localization.GetString("WebRequestToServer.SessionTip"),
                //        Message = GameEntry.Localization.GetString("WebRequestToServer.SessionError"),
                //        OnClickConfirm = delegate (object userData) { UnityGameFramework.Runtime.GameEntry.Shutdown(UnityGameFramework.Runtime.ShutdownType.Quit); },
                //    });
                //}
                msgBase.msg.MsgAnalysis(res, msgBase.SuccessAction);
                return;
            }
        }
Exemplo n.º 15
0
        private static void OnWebRequestSuccess(object sender, GameEventArgs e)
        {
            WebRequestSuccessEventArgs ne = (WebRequestSuccessEventArgs)e;

            if (ne.SerialId == m_WebRequestSerialId)
            {
                GameEntry.Event.Unsubscribe(WebRequestSuccessEventArgs.EventId, OnWebRequestSuccess);
                GameEntry.Event.Unsubscribe(WebRequestFailureEventArgs.EventId, OnWebRequestFailure);
                m_WebRequestTcs.SetResult(ne.GetWebResponseBytes());
            }
        }
Exemplo n.º 16
0
        private void OnWebRequestSuccess(object sender, GameEventArgs e)
        {
            WebRequestSuccessEventArgs ne = (WebRequestSuccessEventArgs)e;

            if (!m_responseActions.ContainsKey(ne.SerialId))
            {
                Log.Error("网络请求异常" + ne.WebRequestUri);
            }

            string responseJson = Utility.Converter.GetString(ne.GetWebResponseBytes());

            m_responseActions[ne.SerialId](responseJson);
            m_responseActions.Remove(ne.SerialId);
        }
Exemplo n.º 17
0
        private void OnWebrequestSuc(object sender, GameEventArgs e)
        {
            WebRequestSuccessEventArgs ne = e as WebRequestSuccessEventArgs;

            byte[] bytes = ne.GetWebResponseBytes();
            string text  = Encoding.UTF8.GetString(bytes);

            waitLoadFiles = GetFileList(text);
            //开始下载文件
            if (waitLoadFiles.Count > 0)
            {
                DownLoadFile(waitLoadFiles[0]);
            }
        }
Exemplo n.º 18
0
        private static void OnWebRequestSuccess(object sender, GameEventArgs e)
        {
            WebRequestSuccessEventArgs args = (WebRequestSuccessEventArgs)e;

            WebRequestEvent webRequestEvent = args.UserData as WebRequestEvent;

            if (webRequestEvent == null)
            {
                return;
            }

            if (webRequestEvent.OnSuccess != null)
            {
                webRequestEvent.OnSuccess(args.SerialId, args.GetWebResponseBytes());
            }
        }
Exemplo n.º 19
0
        private void OnWebRequestSuccess(object sender, GameEventArgs e)
        {
            WebRequestSuccessEventArgs ne = (WebRequestSuccessEventArgs)e;

            if (ne.UserData != this)
            {
                return;
            }

            // 解析版本信息
            byte[] versionInfoBytes  = ne.GetWebResponseBytes();
            string versionInfoString = Utility.Converter.GetString(versionInfoBytes);

            m_VersionInfo = Utility.Json.ToObject <VersionInfo>(versionInfoString);
            if (m_VersionInfo == null)
            {
                Log.Error("Parse VersionInfo failure.");
                return;
            }

            Log.Info("Latest game version is '{0} ({1})', local game version is '{2} ({3})'.", m_VersionInfo.LatestGameVersion, m_VersionInfo.InternalGameVersion.ToString(), Version.GameVersion, Version.InternalGameVersion.ToString());

            if (m_VersionInfo.ForceUpdateGame)
            {
                // 需要强制更新游戏应用
                GameEntry.UI.OpenDialog(new DialogParams
                {
                    Mode           = 2,
                    Title          = GameEntry.Localization.GetString("ForceUpdate.Title"),
                    Message        = GameEntry.Localization.GetString("ForceUpdate.Message"),
                    ConfirmText    = GameEntry.Localization.GetString("ForceUpdate.UpdateButton"),
                    OnClickConfirm = GotoUpdateApp,
                    CancelText     = GameEntry.Localization.GetString("ForceUpdate.QuitButton"),
                    OnClickCancel  = delegate(object userData) { UnityGameFramework.Runtime.GameEntry.Shutdown(ShutdownType.Quit); },
                });

                return;
            }

            // 设置资源更新下载地址
            // 设置资源更新下载地址
            GameEntry.Resource.UpdatePrefixUri = Utility.Path.GetRegularPath(m_VersionInfo.UpdatePrefixUri);

            m_CheckVersionComplete = true;
            m_NeedUpdateVersion    = GameEntry.Resource.CheckVersionList(m_VersionInfo.InternalResourceVersion) == CheckVersionListResult.NeedUpdate;
        }
Exemplo n.º 20
0
        private void OnWebRequestSuccess(object sender, GameEventArgs e)
        {
            WebRequestSuccessEventArgs ne = (WebRequestSuccessEventArgs)e;

            if (ne.UserData != this)
            {
                return;
            }

            string      responseJson = Utility.Converter.GetString(ne.GetWebResponseBytes());
            VersionInfo versionInfo  = Utility.Json.ToObject <VersionInfo>(responseJson);

            if (versionInfo == null)
            {
                Log.Error("Parse VersionInfo failure.");
                return;
            }

            Log.Info("Latest game version is '{0}', local game version is '{1}'.", versionInfo.LatestGameVersion, Version.GameVersion);

            if (versionInfo.ForceGameUpdate)
            {
                //TODO 提示更新版本
                //GameEntry.UI.OpenDialog(new DialogParams
                //{
                //    Mode = 2,
                //    Title = GameEntry.Localization.GetString("ForceUpdate.Title"),
                //    Message = GameEntry.Localization.GetString("ForceUpdate.Message"),
                //    ConfirmText = GameEntry.Localization.GetString("ForceUpdate.UpdateButton"),
                //    OnClickConfirm = delegate (object userData) { Application.OpenURL(versionInfo.GameUpdateUrl); },
                //    CancelText = GameEntry.Localization.GetString("ForceUpdate.QuitButton"),
                //    OnClickCancel = delegate (object userData) { UnityGameFramework.Runtime.GameEntry.Shutdown(ShutdownType.Quit); },
                //});
                var bb = GameObject.CreatePrimitive(PrimitiveType.Cube);
                bb.transform.position = Vector3.zero;
                bb.name = "T";
                Log.Error("提示更新版本信息?");
                return;
            }

            GameEntry.Resource.InitResources(OnInitResourcesComplete);
        }
Exemplo n.º 21
0
        private void OnWebRequestSuccess(object sender, GameEventArgs e)
        {
            WebRequestSuccessEventArgs ne = (WebRequestSuccessEventArgs)e;

            if (ne.UserData != this)
            {
                return;
            }

            //解析服务器发来的版本信息
            string      responseJson = Utility.Converter.GetString(ne.GetWebResponseBytes());
            VersionInfo versionInfo  = Utility.Json.ToObject <VersionInfo>(responseJson);

            if (versionInfo == null)
            {
                Log.Error("Parse VersionInfo failure.");
                return;
            }

            Log.Info("Latest game version is '{0}', local game version is '{1}'.", versionInfo.LatestGameVersion, Version.GameVersion);

            if (versionInfo.GameUpdate)
            {
                //是否需要更新版本资源列表
                CheckVersionListResult result = GameEntry.Resource.CheckVersionList(versionInfo.InternalResourceVersion);
                if (result == CheckVersionListResult.NeedUpdate)
                {
                    Log.Info("最新内部资源版本号为{0},需要更新版本资源列表", versionInfo.InternalResourceVersion);

                    //更新版本资源列表
                    GameEntry.Resource.UpdatePrefixUri = versionInfo.GameUpdateUrl;
                    GameEntry.Resource.UpdateVersionList(versionInfo.VersionListLength, versionInfo.VersionListHashCode, versionInfo.VersionListZipLength, versionInfo.VersionListZipHashCode, m_UpdateVersionListCallbacks);
                }
                else
                {
                    //检查资源
                    Log.Info("最新内部资源版本号为{0},不需要更新版本资源列表,开始检查需要更新的资源", versionInfo.InternalResourceVersion);
                    GameEntry.Resource.CheckResources(OnCheckResourcesComplete);
                }
            }
        }
Exemplo n.º 22
0
        private void OnWebRequestSuccess(object sender, GameEventArgs e)
        {
            WebRequestSuccessEventArgs ne = (WebRequestSuccessEventArgs)e;

            if (ne.UserData != this)
            {
                return;
            }

            m_VersionInfo = Utility.Json.ToObject <VersionInfo>(ne.GetWebResponseBytes());
            if (m_VersionInfo == null)
            {
                Log.Error("Parse VersionInfo failure.");
                return;
            }

            Log.Info("Latest game version is '{0}', local game version is '{1}'.", m_VersionInfo.LatestGameVersion, GameEntry.Base.GameVersion);

            if (m_VersionInfo.ForceGameUpdate)
            {
                GameEntry.UI.OpenDialog(new DialogParams
                {
                    Mode           = 2,
                    Title          = GameEntry.Localization.GetString("ForceUpdate.Title"),
                    Message        = GameEntry.Localization.GetString("ForceUpdate.Message"),
                    ConfirmText    = GameEntry.Localization.GetString("ForceUpdate.UpdateButton"),
                    OnClickConfirm = GotoUpdateApp,
                    CancelText     = GameEntry.Localization.GetString("ForceUpdate.QuitButton"),
                    OnClickCancel  = delegate(object userData) { UnityGameFramework.Runtime.GameEntry.Shutdown(ShutdownType.Quit); },
                });

                return;
            }


            GameEntry.Resource.UpdatePrefixUri = Utility.Path.GetCombinePath(m_VersionInfo.GameUpdateUrl, GetResourceVersionName(), GetPlatformPath());

            //GameEntry.Resource.InitResources();
            UpdateVersion();
        }
Exemplo n.º 23
0
        //网络请求成功的回调
        private void OnWebRequestSuccess(object sender, BaseEventArgs e)
        {
            WebRequestSuccessEventArgs args = e as WebRequestSuccessEventArgs;

            if (args.UserData != this)
            {
                return;
            }

            string      responseJson = Utility.Converter.GetString(args.WebResponseBytes);  //网络返回转为string
            VersionInfo versionInfo  = Utility.Json.ToObject <VersionInfo>(responseJson);

            if (versionInfo == null)
            {
                Log.Error("Parse VersionInfo failure.");
                return;
            }

            Log.Info("Latest game version is '{0}', local game version is '{1}'.", versionInfo.LatestGameVersion, Version.GameVersion);

            if (versionInfo.ForceGameUpdate)        //是否需要强制更新
            {
                GameEntry.UI.OpenDialog(new DialogParams
                {
                    Mode           = 2,
                    Title          = GameEntry.Localization.GetString("ForceUpdate.Title"),
                    Message        = GameEntry.Localization.GetString("ForceUpdate.Message"),
                    ConfirmText    = GameEntry.Localization.GetString("ForceUpdate.UpdateButton"),
                    OnClickConfirm = delegate(object userData) { Application.OpenURL(versionInfo.GameUpdateUrl); },
                    CancelText     = GameEntry.Localization.GetString("ForceUpdate.QuitButton"),
                    OnClickCancel  = delegate(object userData) { UnityGameFrame.Runtime.GameEntry.Shutdown(ShutdownType.Quit); },
                });

                return;
            }

            //初始化资源
            GameEntry.Resource.InitResources(OnInitResourcesComplete);
        }
Exemplo n.º 24
0
    private void OnWebRequestSuccess(object sender, GameEventArgs e)
    {
        WebRequestSuccessEventArgs ne = (WebRequestSuccessEventArgs)e;

        if (ne.UserData != this)
        {
            return;
        }

        string      responseJson = Utility.Converter.GetString(ne.GetWebResponseBytes());
        VersionInfo versionInfo  = Utility.Json.ToObject <VersionInfo>(responseJson);

        if (versionInfo == null)
        {
            Log.Error("Parse VersionInfo failure.");
            return;
        }

        Log.Info("Latest game version is '{0}', local game version is '{1}'.", versionInfo.LatestGameVersion, GameEntry.Base.GameVersion);

        if (versionInfo.ForceGameUpdate)
        {
            ///////////////////////////////暂时注释,需要用的时候到时候再加上弹窗。
//             GameEntry.UI.OpenDialog(new DialogParams
//             {
//                 Mode = 2,
//                 Title = GameEntry.Localization.GetString("ForceUpdate.Title"),
//                 Message = GameEntry.Localization.GetString("ForceUpdate.Message"),
//                 ConfirmText = GameEntry.Localization.GetString("ForceUpdate.UpdateButton"),
//                 OnClickConfirm = delegate (object userData) { Application.OpenURL(versionInfo.GameUpdateUrl); },
//                 CancelText = GameEntry.Localization.GetString("ForceUpdate.QuitButton"),
//                 OnClickCancel = delegate (object userData) { UnityGameFramework.Runtime.GameEntry.Shutdown(ShutdownType.Quit); },
//             });

            return;
        }

        GameEntry.Resource.InitResources();
    }
Exemplo n.º 25
0
        private void OnWebRequestSuccess(object sender, GameEventArgs e)
        {
            WebRequestSuccessEventArgs ne = (WebRequestSuccessEventArgs)e;

            if (ne.UserData != this)
            {
                return;
            }

            string      responseJson = Utility.Converter.GetStringFromBytes(ne.GetWebResponseBytes());
            VersionInfo versionInfo  = Utility.Json.ToObject <VersionInfo>(responseJson);

            if (versionInfo == null)
            {
                OnError("Parse VersionInfo failure.");
                return;
            }

            Log.Info("Latest game version is '{0}', local game version is '{1}'.", versionInfo.LatestGameVersion, GameEntry.Base.GameVersion);

            if (versionInfo.ForceGameUpdate)
            {
                GameEntry.UI.OpenDialog(new UIDialogParams
                {
                    Mode           = 2,
                    Message        = GameEntry.Localization.GetString("UI_TEXT_FORCE_GAME_UPDATE"),
                    ConfirmText    = GameEntry.Localization.GetString("UI_TEXT_GOTO_UPDATE"),
                    CancelText     = GameEntry.Localization.GetString("UI_TEXT_QUIT_GAME"),
                    OnClickConfirm = GotoUpdateGame,
                    OnClickCancel  = QuitGame,
                    UserData       = versionInfo.GameUpdateUrl,
                });

                return;
            }

            GameEntry.Resource.InitResources();
        }
Exemplo n.º 26
0
        private void OnWebRequestSucceed(object sender, GameEventArgs e)
        {
            WebRequestSuccessEventArgs arg = (WebRequestSuccessEventArgs)e;

            if (arg.UserData != this)
            {
                return;
            }

            string data = System.Text.Encoding.UTF8.GetString(arg.GetWebResponseBytes());

            if (data != null)
            {
                Debug.Log(data);
                RequestProductModel requestProduct = Utility.Json.ToObject <RequestProductModel>(data);

                if (requestProduct != null)
                {
                    Debug.Log(requestProduct.msg);
                    if (requestProduct.code == 0)
                    {
                    }
                    else if (requestProduct.code == 1)
                    {
                        EntryInstance.Event.FireNow((int)EventId.ReceiveProductData, new ReceiveProductDataEventArgs()
                        {
                            ProductModels = requestProduct.data
                        });
                        Page++;
                    }
                    else if (requestProduct.code == 2)
                    {
                    }
                }
            }
        }