IEnumerator FreezeEnemies(List <GameObject> targetObjects)
    {
        while (targetObjects.Count > 0)
        {
            //Freeze Animation
            towerParticles.GetComponent <ParticleSystem>().Play();

            foreach (var target in targetObjects)
            {
                EnemyAI enemy = target.GetComponent <EnemyAI>();
                if (enemy.isActiveAndEnabled)
                {
                    if (Random.Range(0, 100) <= stunChance * 100)
                    {
                        enemy.ApplyStunEffect(debuffParticles, stunTime);
                    }
                }
                enemy.TakeDamage(damage);
            }

            float deltaTime = 0;
            while (deltaTime < timePerShot)
            {
                while (paused)
                {
                    yield return(null);
                }

                deltaTime += Time.deltaTime;
                yield return(null);
            }
        }
    }