Ejemplo n.º 1
0
        private async void LoginButton_Click(object sender, RoutedEventArgs e)
        {
            Console.WriteLine("login start");
            //LoginButton.Content = "少女祈祷中";
            client.ViewModel.LoginButtonContent = "少女祈祷中";
            LoginButton.IsEnabled = false;
            //LoginUserComboBox.IsEnabled = false;
            UserSelector.IsEnabled = false;

            var username = UsernameBox.Text;
            var password = PasswordBox.Password;

            client.ViewModel.IsLogin = false;
            if (!"".Equals(username) && !"".Equals(password))
            {
                client.ViewModel.IsLogin = await Task.Run(() =>
                {
                    try
                    {
                        return(client.Login(username, password));
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                        return(false);
                    }
                });
            }

            if (client.ViewModel.IsLogin)
            {
                client.ViewModel.IsReady   = false;
                client.ViewModel.IsRunning = false;

                LoginPanel.Visibility  = Visibility.Hidden;
                StatusPanel.Visibility = Visibility.Visible;
                Tabs.IsEnabled         = false;

                try
                {
                    await Task.Run(() =>
                    {
                        client.Profile();
                    });
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }

                try
                {
                    await Task.Run(() =>
                    {
                        if (client.ViewModel.IsQuestEnable)
                        {
                            var result = client.StartQuest();
                            client.ViewModel.IsReady = result;
                            return(result);
                        }
                        else if (client.ViewModel.IsGuildBattleEnable)
                        {
                            var result = client.StartGuildBattle();
                            client.ViewModel.IsReady = result;
                            return(result);
                        }
                        else if (client.ViewModel.IsGachaEnable)
                        {
                            var result = client.StartGacha();
                            return(result);
                        }
                        return(false);
                    });

                    nowUser = new LoginUser {
                        username = username, password = password
                    };
                    //save user
                    SaveUserList();
                }
                catch (Exception ex)
                {
                    initLoginPanel();
                    Console.WriteLine(ex.Message);
                }
                finally
                {
                    Tabs.IsEnabled = true;
                }
            }
            else
            {
                initLoginPanel();
                MessageBoxResult result = System.Windows.MessageBox.Show("登入失败");
            }
        }