public BaseCardComponent PopTopCard() { BaseCardComponent cardObject; SpriteRenderer spriteRenderer; if (cards.Count <= 0) { return(null); } BaseCard card = cards[0]; cards.RemoveAt(0); cardObject = new GameObject("card" + count).AddComponent <BaseCardComponent> (); spriteRenderer = cardObject.gameObject.AddComponent <SpriteRenderer> (); cardObject.SetBaseCard(card); cardObject.SetSpriteRenderer(spriteRenderer); cardObject.SetBackSprite(sprite.sprite); cardObject.SetFrontSprite(card.GetSprite()); cardObject.transform.position = new Vector3(transform.position.x, transform.position.y, 0); cardObject.transform.rotation = Quaternion.Euler(0, 180, 0); cardObject.gameObject.layer = 8; //Hand Layer if (cards.Count <= 0) { sprite.enabled = false; } count++; Debug.Log("Deck/PopTopCard : " + card.ToString()); return(cardObject); }