Example #1
0
        /// <summary>
        /// Подтверждение при закрытия окна.
        /// Если есть какие-либо результаты, то выводит запрос отправки
        /// результата с возможностью отмены закрытия окна. Иначе закрывает
        /// окно без подтверждения.
        /// </summary>
        /// <returns>true - разрешено завершить приложение</returns>
        public bool OnCloseView()
        {
            if (ScoreManager.Current.ScoreValue <= 0)
            {
                return(true);
            }

            var result = ThreeButtonsMessageBox.Show("Отправить результат и выйти?",
                                                     "Выйти из игры", "Отправить", "Выйти", "Отмена");

            if (result == MessageBoxResult.Cancel)
            {
                // Пользователь отменил выход из приложения.
                return(false);
            }
            if (result == MessageBoxResult.No)
            {
                // Выход из приложения.
                _timer.Stop();
                return(true);
            }
            // Отправляем результат, после чего выходим.
            EnterNameComponent.Show((s, e) => {
                ScoreManager.EndGame(false);
                _timer.Stop();
                // Чтобы вновь не появился запрос на выход, сбрасываем текущий результат.
                ScoreManager.Current.ScoreValue = 0;
                Window.GetWindow(this).Close();
            });
            // Выход будет производится по окончанию ввода имени.
            return(false);
        }
Example #2
0
        private void RestartGame_Executed(object sender, ExecutedRoutedEventArgs eventArgs)
        {
            if (ScoreManager.Current.ScoreValue > 0)
            {
                var result = ThreeButtonsMessageBox.Show("Отправить результат и перезапустить игру?",
                                                         "Перезапуск", "Отправить", "Заново", "Отмена");

                if (result == MessageBoxResult.Cancel)
                {
                    return;
                }
                if (result == MessageBoxResult.Yes)
                {
                    // Отправка результата.
                    EnterNameComponent.Show((s, ee) => {
                        ScoreManager.EndGame(false);
                        ScoreManager.Load();
                        int place   = ScoreManager.GetPlace();
                        string text = (place > 0) ? "Вы на " + place + " месте в рейтинге" : "";
                        HiscoreComponent.Show(ScoreManager.HiScores, text);
                        RestartGame();
                    });
                    return;
                }
            }
            // Перезапуск игры
            RestartGame();
        }
Example #3
0
        public static MessageBoxResult Show(string caption, string title, string first, string second, string third)
        {
            var messageBox = new ThreeButtonsMessageBox();

            messageBox.ShowDialog(caption, title, first, second, third);
            return(messageBox._result);
        }