public Task CardPlayed(CardPlayedDto data) { var ctx = new GameEventContext(data.GameId, data.RoundIndex); var e = new CardPlayed(ctx, new PlayerIndex(data.PlayerIndex), _deck[data.CardIndex]); _gameEventCallback(e); return(Task.CompletedTask); }
public void TakeTurn() { if (GamePlayStrategy == null) { return; } var card = GamePlayStrategy.GetMove(GameService.PlayedCards, Hand.Cards); CardPlayed?.Invoke(this, new CardPlayedEventArgs(this, card)); }
public bool TryPlayCard(int player, Card card) { // TODO where to transform data var move = new CardPlayed(_gameEventContext, new PlayerIndex(player), card); if (State.IsValid(move)) { Dispatch(move); return(true); } return(false); }
public void CardPlayedIsMappedAndBack() { var ctx = new GameEventContext("g", 12); var aCard = new Card(Suit.Diamonds, Rank.King); var cardPlayed = new CardPlayed(ctx, new PlayerIndex(2), aCard); var persistable = GameEventSerializer.Convert(cardPlayed); var recreated = GameEventSerializer.Convert(persistable) as CardPlayed; Assert.Equal(2, recreated.Player.Value); Assert.Equal(aCard, recreated.Card); }
private void CardPlayedHandler(PacketHeader header, Connection connection, CardPlayed incomingObject) { lock (_user) { if (!_user.PlayerInfo.Id.Equals(incomingObject.Player.Id)) { Console.WriteLine(); Console.WriteLine("Player " + incomingObject.Player.Username + " played " + _user.CardsHandler.CardToReadableString(incomingObject.Card)); Prompt(); } _user.CardsHandler.AddCardToBoard(incomingObject); } }
public void OnNext(GameEvent e) { var task = e switch { HandReceived hand => _client.HandReceived(GetHandReceivedData(e.Context, hand)), CardPlayed move => _client.CardPlayed(new CardPlayedDto(e.Context.GameId, e.Context.RoundIndex, move.Player, GetIndex(move.Card))), GuessGiven guess => _client.GuessGiven(new GuessGivenDto(e.Context.GameId, e.Context.RoundIndex, guess.Player, guess.Count)), TrickWon trick => _client.TrickWon(new TrickWonDto(e.Context.GameId, e.Context.RoundIndex, trick.Player)), _ => Task.CompletedTask, }; task.GetAwaiter().GetResult(); }
public void OnNext(GameEvent e) { var player = _playerNames[e.Player]; var message = e switch { GuessGiven guess => $"{player} made guess of <{guess.Count}>", CardPlayed move => $"{player} played {move.Card} ({move.Card.Rank} of {move.Card.Suit})", HandReceived received => $"{player} got {received.Hand.NumberOfCards} cards", TrickWon trick => $"{player} won the trick", _ => e.ToString(), }; Render(message, ConsoleColor.DarkGreen); }
public void PlayCard(ClaimsPrincipal user, PlanningPokerCard card, string sessionId) { var session = _sessionsRepository.Find(sessionId); var play = new PlanningPokerPlay { Id = Guid.NewGuid().ToString(), Card = card, User = user, Story = session.CurrentTurn.Story, CreatedDateTime = DateTime.Now }; session.CurrentTurn.Plays.Add(play); CardPlayed?.Invoke(this, new CardPlayedEventArgs(sessionId, play)); }
private void CardPlayedHandler(ClientInfo client, Object request) { CardPlayed pckt = (CardPlayed)request; RoomDealer RoomOfClient = Rooms.FindRoomFromClientId(client.Id); RoomOfClient.GameInfo.PlayersInfo[client.Id].CardPlayedOnTable = pckt.Card; RoomOfClient.GameInfo.PlayersInfo[client.Id].RemoveCardPlayed(pckt.Card); RoomOfClient.SendMessageToRoom("CardPlayed", pckt); if (RoomOfClient.GameInfo.IsTurnOver()) { RoomOfClient.HandleTurnOver(); } else { if (RoomOfClient.GameInfo.IsFirstCardToPlayed()) { RoomOfClient.GameInfo.ColorPlayed = pckt.Card.Color; } Net.GetConnectionByClientId(RoomOfClient.GetNextPlayerIdTurnById(client.Id)).SendObject("YourTurnPlayCard", new YourTurnPlayCard()); } }
protected virtual void OnCardPlayed(ICard card) { CardPlayed?.Invoke(this, new CardEventArgs { Card = card }); }
public void OnCardAccepted(object sender, CardPlayedAcceptedEventArgs e) { CardPlayed?.Invoke(sender, e); }
public void SubscribeCardPlayed(CardPlayed del) { _cardPlayedEvent += del; }
public void UnsubscribeCardPlayed(CardPlayed del) { _cardPlayedEvent -= del; }
public CardPlayedPayload(CardPlayed cp) : base(cp) { Card = SerializableCard.From(cp.Card); }
public void OnCardPlayed(int playerId, Card card) { Console.WriteLine(Players[playerId] + " plays " + card); CardPlayed?.Invoke(playerId, card); }
public void AddCardToBoard(CardPlayed card) { _board.Add(card); }