// Update is called once per frame
    void FixedUpdate()
    {
        Debug.Log(currentState);

        if (!waitActive) //Só lê o próximo estado estado, ou seja, só avança o game state se não tiver que esperar por algo, seja la o que for
        {
            switch (currentState)
            {
            case (BattleStates.START):
                //Apresentar os inimigos, ativa o hud e tals

                battleStartscript.PrepareBattle();
                //A CD aumenta para cada inimigo na lista. por enquanto sempre vai ser 3

                turnLogText = "Falsas memórias foram encontradas!";
                cd          = cd * inimigosList.Count;
                waitActive  = true;
                break;

            case (BattleStates.PLAYERCHOICE):
                CameraParaJogador();
                turnLogText  = "Sua vez!";
                currentActor = BattleStates.PLAYERCHOICE;   //armazenando que o ator é o jogador
                break;

            case (BattleStates.PLAYERANIM):

                break;

            case (BattleStates.ENEMYCHOICE):
                //colocar IA aqui
                currentActor = BattleStates.ENEMYCHOICE;

                //checa cada inimigo na lista para ver se ele já agiu
                int inimIndex = 0;     //sempre reseta para o primeiro, porém ...
                foreach (Inimigo inimstat in inimigosList)
                {
                    if (inimstat.Agiu)
                    {
                        inimIndex++;     //...sempre que encontra um inimigo que já agiu ele adiciona 1 no indexador
                        inimigoTerminouTurno = true;
                    }
                    else
                    {
                        //e quando encontra um que não agiu, significa que o turno dos inimigos ainda não acabou
                        inimigoTerminouTurno = false;
                    }
                }

                if (inimigoTerminouTurno == false)     //só entra aqui se cada inimigo na lista ainda não agiu
                {
                    battleStateEnemyChoicescript.EnemyCompleteTurn(inimIndex);
                    enemyActionCamera.transform.position = inimigodavez.cameraPos.transform.position;
                    CameraParaInimigo();
                }
                else
                {
                    DecidirProximoAtor();
                }

                break;

            case (BattleStates.ENEMYANIM):
                //faz os paranaue de animar la
                break;

            case (BattleStates.CALCDAMAGE):
                Debug.Log("CALCULANDO DANO");
                if (currentActor == BattleStates.PLAYERCHOICE)     //se é o turno do jogador e ele escolheu alguma ação
                {
                    battleCalcScript.CalculateTotalPlayerDMG(playerUsedAction, inimAlvo);
                }

                if (currentActor == BattleStates.ENEMYCHOICE && inimigodavez != null)     //calcula o dano se o inimigo ainda não agiu
                {
                    battleCalcScript.CalculateTotalEnemyDMG(enemyUsedAction, inimigodavez);

                    inimigodavez.Agiu = true;
                }
                DecidirProximoAtor();   // Depois de calcular todo o dano, vai retornar para o turno dos inimigos se algum deles não terminou o turno;
                break;

            case (BattleStates.ADDSTATUSEFFECT):
                //Adicionar status no alvo, se houver algum
                battleAddEffectscript.CheckActionStatus(playerUsedAction);
                break;

            case (BattleStates.ENDROUND):
                totalRoundCounter += 1;

                jogadorTerminouTurno = false;
                inimigoTerminouTurno = false;
                DecidirProximoAtor();
                CameraParaJogador();
                turnLogText = "Fim da rodada";
                waitActive  = true;

                break;

            case (BattleStates.WIN):

                //Código que mostra resultados da batalha como XP e itens aqui

                if (!xprecebido)
                {
                    battleResultsPanel.SetActive(true);
                    int xpDado = IncreaseExperience.AddExperience(cd);
                    xprecebido          = true;
                    expPointsDados.text = " " + xpDado;

                    if (jogPassouNivel)
                    {
                        lvlupwarnTxt.SetActive(true);
                    }
                }

                break;

            case (BattleStates.LOSE):

                break;
            }
        }
        else
        {
            waitTime -= Time.deltaTime;

            if (waitTime <= 0)
            {
                waitActive = false;
                waitTime   = startWaitTime;
            }
        }

        turnLogBox.GetComponent <TextMeshProUGUI>().text = turnLogText;
    }