예제 #1
0
 public void DiscardCard(Card card)
 {
     Hand.Remove(card);
     if (HasWon)
     {
         OnPlayerHasWon?.Invoke(this, new PlayerEventArgs {
             Player = this, State = PlayerState.Winner
         });
     }
     OnCardDiscarded?.Invoke(this, new CardEventArgs {
         Card = card
     });
 }
예제 #2
0
    void RemoveCardFromHand(CardObject cardObject)
    {
        playerCardHand.Remove(cardObject);
        playerDiscardedCards.Add(cardObject.cardDefinition);

        if (OnCardDiscarded != null)
        {
            OnCardDiscarded.Invoke(cardObject.cardDefinition);
        }

        CalculateCardPositions(playerCardHand.Count);

        Destroy(cardObject.gameObject);
    }
예제 #3
0
    void RemoveRandomCardFromHand()
    {
        int index = Random.Range(0, playerCardHand.Count);

        CardObject cardObject = playerCardHand[index];

        playerCardHand.RemoveAt(index);

        playerDiscardedCards.Add(cardObject.cardDefinition);

        if (OnCardDiscarded != null)
        {
            OnCardDiscarded.Invoke(cardObject.cardDefinition);
        }

        CalculateCardPositions(playerCardHand.Count);

        Destroy(cardObject.gameObject);
    }
 public static void CardDiscarded(ICard card)
 {
     Debug.Log($"Card discarded {card}");
     OnCardDiscarded?.Invoke(card);
 }
예제 #5
0
 protected virtual void CallOnCardDiscarded(Card CardToDiscard)
 {
     // Debug.Log("Hand Display modified event Called by "+name);
     OnCardDiscarded?.Invoke(CardToDiscard);
 }