示例#1
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)
            {
                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(Path.Combine(m_VersionInfo.GameUpdateUrl, GetResourceVersionName(), GetPlatformPath()));

            UpdateVersion();
        }
示例#2
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); },
                });

                return;
            }

            GameEntry.Resource.InitResources(OnInitResourcesComplete);
        }
        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)
                    {
                    }
                }
            }
        }
示例#4
0
        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>(Utility.Converter.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());

            if (m_VersionInfo.ForceUpdateGame)
            {
                // 需要强制更新游戏应用
                UpdateResourceForm.ShowFoceUpdate(GotoUpdateApp, ExitGame);
                return;
            }

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

            m_CheckVersionComplete = true;
            m_NeedUpdateVersion    = GameEntry.Resource.CheckVersionList(m_VersionInfo.InternalResourceVersion) ==
                                     CheckVersionListResult.NeedUpdate;
        }