void Update()
    {
        switch (fase)
        {
        case FasesDesseTrigger.movimentoDePersonagem:
            CaminheHeroi(transform.position);
            break;

        case FasesDesseTrigger.movimentoDeCamera:
            CameraAteFalas();
            break;

        case FasesDesseTrigger.falas:
            if (DisparaT.UpdateDeTextos(T, Fota))
            {
                movNPC = new MovimentoControladoParaNPC();
                movNPC.InsereElementosDeControle(Alvo.gameObject, alvoDaCaminhada);
                AplicadorDeCamera.cam.FocarBasica(Alvo, 10, 10);
                fase = FasesDesseTrigger.npcEmMovimento;
            }
            break;

        case FasesDesseTrigger.npcEmMovimento:
            if (movNPC.UpdatePosition())
            {
                AplicadorDeCamera.cam.FocarBasica(Manager.transform, 10, 10);
                Invoke("MudaPosDoNPC", 0.25f);
                Invoke("VoltaControleDoHeroi", 0.3f);
                Destroy(Destrutivel.gameObject);
                fase = FasesDesseTrigger.finalizar;
            }
            break;
        }
    }
    void EntrarNaFaseDoEmpurrao()
    {
        Manager.Estado = EstadoDePersonagem.parado;
        Manager.Mov.AplicadorDeMovimentos(Vector3.zero);
        Manager.Mov.Animador.AnimaEmpurra();
        Manager.transform.rotation = Quaternion.identity;
        AplicadorDeCamera.cam.FocarBasica(Manager.transform, 10, 7);
        fase = FasesDesseTrigger.empurrando;

        Alvo.rotation = Quaternion.identity;
        Vector3 V = Alvo.position;

        Alvo.position = new Vector3(V.x, V.y, Manager.transform.position.z);


        movNPC = new MovimentoControladoParaNPC();
        movNPC.InsereElementosDeControle(Alvo.gameObject, segundoPontoParaNPC);
        //movNPC.Mov.AplicadorDeMovimentos(Vector3.zero);
        movNPC.Mov.Animador.AnimaEmpurra();

        Manager.transform.SetParent(pedraRemovivel);
        Alvo.parent = pedraRemovivel;
    }