/// <summary> /// Deals a Card by returning it and removing it from the available Cards in the Deck. /// </summary> /// <returns>A Card from the beginning of the AvailableCards List.</returns> public Card DealCard() { // Deal a card from the top of the deck. Card c = AvailableCards[0]; AvailableCards.RemoveAt(0); return(c); }
public Card DealCard() { Card dealtCard = null; if (AvailableCards.Count > 0) { int topIndex = AvailableCards.Count - 1; dealtCard = AvailableCards[topIndex]; AvailableCards.RemoveAt(topIndex); } return(dealtCard); }
private static GameObject InstansiateCard(GameObject cardPrefab) { var card = UnityEngine.Object.Instantiate(cardPrefab); var cardInstance = card.GetComponent <CardInstance>(); var cardIndex = UnityEngine.Random.Range(0, AvailableCards.Count); cardInstance.Card = AvailableCards[cardIndex]; AvailableCards.RemoveAt(cardIndex); cardInstance.GetComponent <Image>().sprite = Resources.Load <Sprite>(Path.Combine(Constants.CardSprites, cardInstance.Card.SpriteName)); card.transform.SetParent(GameController.Instance.Hand.transform); card.transform.localScale = cardPrefab.transform.localScale; return(card); }