Login complete event arguments
Inheritance: BaseEventArgs
        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;
                    }
            }
        }
Ejemplo n.º 2
0
 public async void OnLoginCompleted(object sender, LoginCompleteEventArgs e) {
     if (controller != null) {
         try {
             await controller.CloseAsync();
             if (controller.IsCanceled) {
                 if (LoginCompleted != null) {
                     LoginCompleted(sender, new LoginCompleteEventArgs(LoginCode.CANCELLED));
                 }
                 return;
             }
         } catch (InvalidOperationException) {
             // sometimes login dialog wrapper is already closed, check for this
         }
     }
     if (e.Code == LoginCode.WRONG_USER) {
         failedLogin.Add(e.UserName);
         ShowLoginDialog(LanguageManager.Model.LoginLogIn, LanguageManager.Model.LoginBadAccount, string.Empty);
         return;
     }
     if (LoginCompleted != null) {
         LoginCompleted(sender, e);
     }
 }
 protected virtual void OnCompleted(LoginCode code, string arguments, string UserId)
 {
     LoginCompleteEventArgs args = new LoginCompleteEventArgs(code, arguments, UserId);
     if (LogManager != null) {
         LogManager.InfoFormat("Logging in completed: code={0}, result=\"{1}\", user={2}", code, arguments, UserId);
     }
     if (LoginCompleted != null) {
         LoginCompleted(this, args);
     }
 }