/// <summary> /// The targeted player reveals a card /// </summary> /// <param name="revealer">The player revealing the card</param> /// <param name="card">The card being revealed</param> public void RevealCard(Player revealer, Card card) { _game.NotifyPlayers(p => p.OnRevealCard(revealer, card)); }
/// <summary> /// The targeted player puts a card on top of his deck /// </summary> /// <param name="target"></param> /// <param name="card"></param> public void PutCardOnDeck(Player target, Card card) { _game.NotifyPlayers( p => p.OnPutCardOnDeck(target, card), p => p.OnPutCardOnDeckNotVisible(target)); target.Deck.AddToTop(card); }
/// <summary> /// The current player reveals a card /// </summary> /// <param name="card">The card being revealed</param> public void RevealCard(Card card) { RevealCard(Owner, card); }
/// <summary> /// The current player puts a card on top of his deck /// </summary> /// <param name="card"></param> public void PutCardOnDeck(Card card) { PutCardOnDeck(Owner, card); }
private void MoveCardToInPlay(Card c) { CurrentTurn.CardsPlayed.Add(c); CurrentTurn.CardsInPlay.Add(c); }
/// <summary> /// Signals when a player puts a card on his/her deck /// </summary> /// <param name="player">The player moving the card to his deck</param> /// <param name="cardOnDeck">The card being moved</param> public abstract void OnPutCardOnDeck(Player player, Card cardOnDeck);
/// <summary> /// Signals when a card was played /// </summary> /// <param name="playedCard">The card played</param> public abstract void OnCardPlayed(Card playedCard);
/// <summary> /// Signals when a player reveals a card /// </summary> /// <param name="revealingPlayer">The revealing player</param> /// <param name="revealedCard">The card revealed</param> public abstract void OnRevealCard(Player revealingPlayer, Card revealedCard);