AdvancedLauncher.UI.Controls.GameControl.OnGameStartCompleted C# (CSharp) Method

OnGameStartCompleted() private method

private OnGameStartCompleted ( object sender, LoginCompleteEventArgs e ) : void
sender object
e AdvancedLauncher.SDK.Model.Events.LoginCompleteEventArgs
return void
        private void OnGameStartCompleted(object sender, LoginCompleteEventArgs e) {
            if (!this.Dispatcher.CheckAccess()) {
                this.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new LoginCompleteEventHandler((s, e2) => {
                    OnGameStartCompleted(sender, e2);
                }), sender, e);
                return;
            }
            //Если результат НЕУСПЕШЕН, возвращаем кнопку старта и возможность смены профиля
            if (e.Code != LoginCode.SUCCESS) {
                StartButton.IsEnabled = true;
                if (UpdateRequired) {
                    StartButton.SetBinding(Button.ContentProperty, UpdateButtonBinding);
                } else {
                    StartButton.SetBinding(Button.ContentProperty, StartButtonBinding);
                }
                ProfileManager.OnProfileLocked(false);
            }

            //Получаем результат логина
            switch (e.Code) {
                case LoginCode.SUCCESS:
                    {
                        //Если логин успешен, сохраняем аргументы текущей сессии вместе с настройками и запускаем игру
                        App.Kernel.Get<LoginManager>().UpdateLastSessionArgs(ProfileManager.CurrentProfile, e.Arguments);
                        EnvironmentManager.Save();
                        StartGame(e.Arguments);
                        break;
                    }
                case LoginCode.WRONG_PAGE:       //Если получены результаты ошибки на странице, отображаем сообщение с кодом ошибки
                case LoginCode.UNKNOWN_URL:
                    {
                        //И возвращаем в форму ввода
                        DialogManager.ShowMessageDialog(LanguageManager.Model.LoginLogIn,
                                    LanguageManager.Model.LoginWrongPage + string.Format(" [{0}]", e.Code));
                        break;
                    }
            }
        }