private async void StartButton_Click(object sender, RoutedEventArgs e) { StartButton.IsEnabled = false; Tabs.IsEnabled = false; //QuestButton.IsEnabled = false; //GuildBattleButton.IsEnabled = false; if (client.ViewModel.IsRunning == false) { SaveUserList(); StartButton.Content = "Stop"; StartButton.IsEnabled = true; client.ViewModel.IsRunning = true; client.ViewModel.IsStaminaEmpty = false; bool result = await Task.Run(() => { try { while (client.ViewModel.IsRunning) { Console.WriteLine("Start Loop"); if (client.ViewModel.IsQuestEnable) { client.StartQuest(); client.Gift(); client.EventStatus(); if (client.ViewModel.IsBreedingEnable) { client.Breeding(); } else { if (client.ViewModel.IsSpecialAreaEnable) { client.CheckExtraMap(); } if (client.ViewModel.IsSpecialAreaEnable) { client.SpecialArea(); } else { client.Quest(); } } if (client.ViewModel.IsStaminaEmpty) { client.CountDown(AstrumClient.SECOND * 30); } } else if (client.ViewModel.IsGuildBattleEnable) { client.GuildBattle(); } } } catch (Exception ex) { Console.WriteLine(ex.Message); return(false); } return(true); }); StartButton.Content = "Start"; StartButton.IsEnabled = true; Tabs.IsEnabled = true; if (!result) { client.ViewModel.IsRunning = false; client.ViewModel.IsReady = false; initLoginPanel(); this.Show(); notifyIcon.Visible = false; this.WindowState = WindowState.Normal; } } else { client.ViewModel.IsRunning = false; StartButton.IsEnabled = false; } }