示例#1
0
        private void CancelButton_Click(object sender, RoutedEventArgs e)
        {
            if (optimizer.IsBusy)
            {
                if (lastOperation == Operation.Optimize)
                {
                    optimizer.PauseAsync();
                    var opt = optimizer.GetBestIndividual();
                    if (opt != null)
                    {
                        Character bestCharacter = opt.Character;
                        if (bestCharacter == null)
                        {
                            ControlsEnabled(true);
                            MessageBox.Show("Sorry, Rawr was unable to find a gearset to meet your requirements.", "Rawr Optimizer Results", MessageBoxButton.OK);
                        }

                        if (character != null)
                        {
                            OptimizerResults results = new OptimizerResults(character, bestCharacter, true);
                            results.Closed += new EventHandler(resultsCancel_Closed);
                            results.Show();
                        }
                        else
                        {
                            ControlsEnabled(true);
                        }
                    }
                }
                else
                {
                    optimizer.CancelAsync();
                    PauseButton.Content = "Pause";
                }
            }
        }