Example #1
0
    public void SetCards(List <Card> newCards, bool faceDown = false)
    {
        Cards = newCards;

        foreach (Transform child in transform)
        {
            Destroy(child.gameObject);
        }
        cardObjects.Clear();

        float cardSpacing     = 12.0f;
        float firstCardOffset = -1 * (Cards.Count - 1) / 2.0f * cardSpacing;

        for (int i = 0; i < Cards.Count; i++)
        {
            GameObject newCard = Instantiate(CardPrefab, transform);
            cardObjects.Add(newCard);

            CardBehavior             cardBehavior             = newCard.GetComponent <CardBehavior>();
            SelectableObjectBehavior selectableObjectBehavior = newCard.GetComponent <SelectableObjectBehavior>();
            //selectableObjectBehavior.ClickEnabled = CanChooseCard;
            cardBehavior.SetCard(Cards[i], faceDown);
            cardBehavior.CardSelectedEvent.AddListener(OnCardClick);

            newCard.transform.localPosition = new Vector3(firstCardOffset + i * cardSpacing, 0.0f, 0.0f);
        }
    }
Example #2
0
 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;
             }
         }
     }
 }