Beispiel #1
0
 private void CreateBetWindow(MakeBetWindow betInput)
 {
     betInput   = new MakeBetWindow(_player);
     Visibility = Visibility.Hidden;
     betInput.ShowDialog();
     Visibility = Visibility.Visible;
     _bet       = betInput.Bet;
 }
Beispiel #2
0
        private void ProcessMessage(string code, string message)
        {
            switch (code)
            {
            case MessageSigns.DisconnectMessage:
            {
                Disconnect();
                break;
            }

            case MessageSigns.QuestionSign:
            {
                if (_finalStarted)
                {
                    Dispatcher.Invoke(new Action <string>(CreateAnswerWindow), message);
                }
                else
                {
                    MessageTextbox.Dispatcher.Invoke(new Action <string>(ChangeMessageBox), message);
                }
                break;
            }

            case MessageSigns.RightAnswerSign:
            {
                int increment;
                if (int.TryParse(message, out increment))
                {
                    _player.Score += increment;
                    ScoreLabel.Dispatcher.Invoke(new Action <string>(ChangeScoreLabel), _player.Score.ToString());
                }

                MessageTextbox.Dispatcher.Invoke(new Action <string>(ChangeMessageBox), _questionPlaceholder);
                break;
            }

            case MessageSigns.WrongAnswerSign:
            {
                int decrement;
                if (int.TryParse(message, out decrement))
                {
                    _player.Score -= decrement;
                    ScoreLabel.Dispatcher.Invoke(new Action <string>(ChangeScoreLabel), _player.Score.ToString());
                }

                MessageTextbox.Dispatcher.Invoke(new Action <string>(ChangeMessageBox), _questionPlaceholder);
                break;
            }

            case MessageSigns.FinalRoundMessage:
            {
                if (_player.Score > 0)
                {
                    MakeBetWindow betInput = null;
                    Dispatcher.Invoke(new Action <MakeBetWindow>(CreateBetWindow), betInput);
                }

                string betMessage = MessageSigns.AnswerMessage + _bet.ToString();
                SendMessage(betMessage);
                _finalStarted = true;
                break;
            }

            case MessageSigns.TimesUpMessage:
            {
                MessageTextbox.Dispatcher.Invoke(new Action <string>(ChangeMessageBox), _questionPlaceholder);
                break;
            }

            default:
            {
                MessageTextbox.Dispatcher.Invoke(new Action <string>(ChangeMessageBox), _wrongMessageSign);
                break;
            }
            }
        }