IEnumerator GiveOutCards() { for (int i = 0; i < enemyHandSlots.Count; i++) { if (enemyHandSlots[i].currCard == null && enemyCardDeck.Count > 0) { Card card = enemyCardDeck.Pop(); uIController.refreshCards(true, enemyCardDeck.Count); enemyHandSlots[i].currCard = card; card.currPosition = enemyHandSlots[i]; AudioManager.Instance.PlaySound("Hmm"); card.transform.DOMove(enemyHandSlots[i].transform.position, 0.3f).OnComplete(() => { card.startPos = card.transform.position; card.ActivateCard(); }); card.transform.DOScale(1.0f, 0.3f); yield return(new WaitForSeconds(0.3f)); } } for (int i = 0; i < playerHandSlots.Count; i++) { if (playerHandSlots[i].currCard == null && playerCardDeck.Count > 0) { Card card = playerCardDeck.Pop(); uIController.refreshCards(false, playerCardDeck.Count); playerHandSlots[i].currCard = card; card.currPosition = playerHandSlots[i]; AudioManager.Instance.PlaySound("Hmm"); card.transform.DOMove(playerHandSlots[i].transform.position, 0.3f).OnComplete(() => { card.startPos = card.transform.position; card.ActivateCard(); }); card.transform.DOScale(1.0f, 0.3f); yield return(new WaitForSeconds(0.3f)); } } gameController.ChangeTurn(); uIController.ActivateFieldButtons(true); }