Пример #1
0
 public void MakeBoardView()
 {
     _boardOutputView.SetUpdateContent(Board.CreateOutput());
     _turnInfoOutputView.SetUpdateContent(string.Format(_clientDataProvider.GetText("RollTheDice"),
                                                        _clientDataProvider.GetNumberLiteral(CurrentPlayerID)));
     _gameInfoOutputView.SetUpdateContent(_clientDataProvider.GetText("gameinfo"));
 }
Пример #2
0
        public void OnUpdateAction(DataPackage data, ICommunication communication)
        {
            var updatedData = MapProtocolToDto <UpdateDTO>(data);

            _lobbyInfoDisplayView.SetUpdateContent(updatedData._lobbyDisplay);
            _commandListOutputView.SetUpdateContent(updatedData._commandList);
            _infoOutputView.SetUpdateContent(updatedData._infoOutput);
        }
Пример #3
0
        public void UpdateGameOutput()
        {
            switch (Turnstate)
            {
            case "TurnFinished":
                UpdateLocations();

                _boardOutputView.SetUpdateContent(Board.CreateOutput());
                _turnInfoOutputView.SetUpdateContent(string.Format(_clientDataProvider.GetText("afterboardinfo"),
                                                                   _clientDataProvider.GetNumberLiteral(CurrentPlayerID)));
                if (_isNotFirstTurn)
                {
                    _afterTurnOutputView.SetUpdateContent(string.Format(
                                                              _clientDataProvider.GetText("diceresultinfo"),
                                                              Rules.DiceResult, _clientDataProvider.GetNumberLiteral(LastPlayer)));
                }
                _isNotFirstTurn = true;
                _gameInfoOutputView.SetUpdateContent(_clientDataProvider.GetText("gameinfo"));
                //Views mit DataProvider und Properties füllen
                break;

            case "PlayerExceedsBoard":
                _turnInfoOutputView.SetUpdateContent(string.Format(_clientDataProvider.GetText("afterboardinfo"),
                                                                   _clientDataProvider.GetNumberLiteral(CurrentPlayerID)));

                _afterTurnOutputView.SetUpdateContent(string.Format(
                                                          _clientDataProvider.GetText("diceresultinfo"),
                                                          Rules.DiceResult, _clientDataProvider.GetNumberLiteral(LastPlayer))
                                                      + "\n"
                                                      + string.Format(
                                                          _clientDataProvider.GetText("playerexceedsboardinfo"),
                                                          _clientDataProvider.GetNumberLiteral(LastPlayer)));

                //Views mit DataProvider und Properties füllen
                break;

            case "GameFinished":
                UpdateLocations();

                _boardOutputView.SetUpdateContent(Board.CreateOutput());
                _turnInfoOutputView.SetUpdateContent(string.Format(_clientDataProvider.GetText("afterboardinfo"),
                                                                   _clientDataProvider.GetNumberLiteral(CurrentPlayerID)));

                _afterTurnOutputView.SetUpdateContent(string.Format(
                                                          _clientDataProvider.GetText("diceresultinfo"),
                                                          Rules.DiceResult, _clientDataProvider.GetNumberLiteral(LastPlayer)));

                _gameInfoOutputView.SetUpdateContent(_clientDataProvider.GetText("gameinfo"));

                _finishOutputView.SetUpdateContent(string.Format(_clientDataProvider.GetText("playerwins"),
                                                                 _clientDataProvider.GetNumberLiteral(LastPlayer)));
                _finishskull1.SetUpdateContent(_clientDataProvider.GetText("finishskull1"));
                _finishskull2.SetUpdateContent(_clientDataProvider.GetText("finishskull1"));
                _finishskull3.SetUpdateContent(_clientDataProvider.GetText("finishskull2"));
                break;
            }
        }
Пример #4
0
        public void OnAcceptInfoAction(DataPackage data, ICommunication communication)
        {
            _serverTableView.ViewEnabled = false;
            var accept = MapProtocolToDto <AcceptDTO>(data);

            _mainMenuOutputView.SetUpdateContent("Set a Rule");
            _infoOutputView.SetUpdateContent(accept._smallUpdate);
        }
 public void OnLobbyCheckSuccessfulAction(DataPackage data, ICommunication communication)
 {
     _serverTableView.ViewEnabled    = false;
     _mainMenuOutputView.ViewEnabled = true;
     _mainMenuOutputView.SetUpdateContent("Set a Rule");
     Thread.Sleep(20);
     _client.SwitchState(StateEnum.ClientStates.Lobby);
 }
Пример #6
0
        public void OnBroadcastAction(DataPackage data, ICommunication communication)
        {
            var broadcast = MapProtocolToDto <BroadcastDTO>(data);

            var currentIPEndPoint = new IPEndPoint(IPAddress.Parse(broadcast._server_ip), broadcast._server_Port);

            if (_serverEndpoints.Contains(currentIPEndPoint))
            {
                var servernumber = _serverEndpoints.IndexOf(currentIPEndPoint);
                _servernames[servernumber]        = broadcast._server_name;
                _maxPlayerCount[servernumber]     = broadcast._maxPlayerCount;
                _currentPlayerCount[servernumber] = broadcast._currentPlayerCount;
            }
            else
            {
                _serverEndpoints.Add(currentIPEndPoint);

                _serverDictionary.Add(_keyIndex, broadcast);

                _servernames[_keyIndex]        = broadcast._server_name;
                _maxPlayerCount[_keyIndex]     = broadcast._maxPlayerCount;
                _currentPlayerCount[_keyIndex] = broadcast._currentPlayerCount;
                _keyIndex++;
            }

            var outputFormat = new StringBuilder();

            for (int index = 0; index < _serverDictionary.Count; index++)
            {
                outputFormat.Append(string.Format("{3,2}  [{0,1}/{1,1}]   {2,20}\n", _currentPlayerCount[index],
                                                  _maxPlayerCount[index], _servernames[index].PadRight(20), (index + 1)));
            }

            _serverTable = outputFormat.ToString();
            _serverTableView.SetUpdateContent(_serverTable);
            _serverTable = string.Empty;
            _serverTableView.ViewEnabled = true;
        }
 public void OnClassicAction(string input, ICommunication communication)
 {
     communication.Send(_clientDataPackageProvider.GetPackage("Classic"));
     _mainMenuOutputView.ViewEnabled = false;
     _infoOutputView.SetUpdateContent("You can now start the game");
 }