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(); }