public IEnumerator DealCards() { System.Random random = new System.Random(); for (int i = 0; i < 10; i++) { int randomIndex = random.Next(0, _centerStackCardSlot.GetSize()); _centerStackCardSlot.AddCard(_centerStackCardSlot.GetCard(randomIndex)); GameObject.Find("PlayerHand").GetComponent <PlayerHand>().CardSlotList[i].AddCard(_centerStackCardSlot.TopCard()); yield return(new WaitForSeconds(.05f)); randomIndex = random.Next(0, _centerStackCardSlot.GetSize()); _centerStackCardSlot.AddCard(_centerStackCardSlot.GetCard(randomIndex)); GameObject.Find("AIHand").GetComponent <AIHand>().CardSlotList[i].AddCard(_centerStackCardSlot.TopCard()); yield return(new WaitForSeconds(.05f)); } MoveCardSlotToCardSlot(_centerStackCardSlot, _drawStackCardSlot); yield return(new WaitForSeconds(.3f)); //Do a card flip after shuffle and dealing cards Card _cardTopFlip = _drawStackCardSlot.TopCard(); _discardStackCardSlot.AddCard(_cardTopFlip); if (Match.instance.RoundCount == 0) { Match.instance.InitializeMatch(); } else { Round.instance.InitializeRound(); } DealInProgress--; }