Пример #1
0
        internal void FinishAsWinner()
        {
            PongServerApplication application = PongServerApplication.Get();
            AccountRepository     repository  = application.AccountRepository;

            repository.AddWin(Account);

            SendFinishMessage(PlayGameMessage.WinGameStatus);
        }
        private void ListenPlayerNameJoining()
        {
            TcpClient connectionClient = inputConnection.Client;

            bool isWainting = true;

            while (isWainting)
            {
                NetworkStream networkStream = connectionClient.GetStream();
                if (networkStream.DataAvailable)
                {
                    //Достаем имя игрока
                    TextMessage textMessage = networkStream.Read <TextMessage>();
                    string      playerName  = textMessage.ToString();

                    if (playerName.Length < 1)
                    {
                        JoinGameMessage joinPlayerMessage = new JoinGameMessage(
                            null,
                            null,
                            default(uint),
                            null,
                            default(uint)
                            );
                        inputConnection.Send(joinPlayerMessage);
                        return;
                    }

                    //Достаем аккаунт из репозитория аккаунтов
                    PongServerApplication application       = PongServerApplication.Get();
                    AccountRepository     accountRepository = application.AccountRepository;
                    Account account = accountRepository.Fetch(playerName);

                    //Подключение к игре
                    targetGameSession.AddPlayer(account, inputConnection);

                    isWainting = false;
                }
            }
            isCountDownCancelled = true;
            Finish();
        }
 public static void Main(string[] args)
 {
     PongServerApplication.Start();
 }
Пример #4
0
 internal AccountConnectionManager(PongServerApplication application)
 {
     this.application = application;
     tcpListener      = new TcpConnectionListener(IPAddress.Any, 8080);
     tcpListener.IncomingConnection += OnIncomingConnection;
 }