private bool hasCardOfSuit(CardSuit suit) { foreach (GameObject cardObj in cardObjects) { if (cardObj) //in case destroyed and didn't cleanup list { CardBehavior cardB = cardObj.GetComponent <CardBehavior>(); if (cardB.GetCard().Suit == suit) { return(true); } } } return(false); }
public void SetSelectableCards(bool canSelect, CardSuit?allowedSuit = null) { foreach (GameObject cardObj in cardObjects) { if (cardObj) //in case destroyed and didn't cleanup list { CardBehavior cardB = cardObj.GetComponent <CardBehavior>(); SelectableObjectBehavior selBehave = cardObj.GetComponent <SelectableObjectBehavior>(); if (canSelect && (allowedSuit == null || !hasCardOfSuit((CardSuit)allowedSuit) || (cardB.GetCard().Suit == allowedSuit))) { selBehave.ClickEnabled = true; } else { selBehave.ClickEnabled = false; } } } }