Exemple #1
0
 public List <Card> DealTo(IPlayer player, ref int count, Deck <Card> deck, Func <List <Card>, HandStatus> getStatus)
 {
     if (count == 0)
     {
         return(player.Hand);
     }
     else
     {
         var card = deck.OneFromTop();
         player.Hand.Add(card);
         player.Status = getStatus(player.Hand);
         CardDealt?.Invoke(this, new CardDealtEventArgs(player.Id, card, player.Hand.Count - 1));
         count -= 1;
         return(DealTo(player, ref count, deck, getStatus));
     }
 }
Exemple #2
0
 protected virtual void OnCardDealt(CardDealtEventArgs e)
 {
     CardDealt?.Invoke(this, e);
 }