public IEnumerator CycleNextTurn()
    {
        switch (currentAnimalTurn)
        {
        case CurrentAnimalTurn.PlayerSelection:
            yield return(new WaitForSeconds(0));

            playerAttacks.TurnOffButtons();
            currentAnimalTurn = CurrentAnimalTurn.PlayerAttack;
            break;

        case CurrentAnimalTurn.PlayerAttack:
            yield return(new WaitForSeconds(timeBtwStates));

            currentAnimalTurn = CurrentAnimalTurn.PlayerDamage;
            break;

        case CurrentAnimalTurn.PlayerDamage:
            playerAttacks.PlayerAttackDamage();
            yield return(new WaitForSeconds(timeBtwStates));

            currentAnimalTurn = CurrentAnimalTurn.EnemySelection;
            break;

        case CurrentAnimalTurn.EnemySelection:
            playerAttacks.ClearPlayerAttackText();
            yield return(new WaitForSeconds(timeBtwStates));

            currentAnimalTurn = CurrentAnimalTurn.EnemyAttack;
            break;

        case CurrentAnimalTurn.EnemyAttack:
            enemyAttacks.AttackPlayer();
            yield return(new WaitForSeconds(timeBtwStates));

            currentAnimalTurn = CurrentAnimalTurn.EnemyDamage;
            break;

        case CurrentAnimalTurn.EnemyDamage:
            enemyAttacks.EnemyAttackDamageStep();
            yield return(new WaitForSeconds(timeBtwStates));

            playerAttacks.TurnOnButtons();
            enemyAttacks.ClearEnemyAttackText();
            currentAnimalTurn = CurrentAnimalTurn.PlayerSelection;
            break;

        default:
            break;
        }
        StopCoroutine("CycleNextTurn");
        InvokeCycle();
    }