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 }); }
void RemoveCardFromHand(CardObject cardObject) { playerCardHand.Remove(cardObject); playerDiscardedCards.Add(cardObject.cardDefinition); if (OnCardDiscarded != null) { OnCardDiscarded.Invoke(cardObject.cardDefinition); } CalculateCardPositions(playerCardHand.Count); Destroy(cardObject.gameObject); }
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); }
protected virtual void CallOnCardDiscarded(Card CardToDiscard) { // Debug.Log("Hand Display modified event Called by "+name); OnCardDiscarded?.Invoke(CardToDiscard); }