// Update is called once per frame
 public override bool Update()
 {
     if (estadoInterno == EstadoDesseNpc.emEspera)
     {
         if (GameController.g.MyKeys.VerificaAutoShift(KeyShift.estouNoTuto))
         {
             return(base.Update());
         }
         else
         {
             if (estado == EstadoDoNPC.conversando &&
                 GameController.g.HudM.DisparaT.IndiceDaConversa == conversa.Length - 1
                 )
             {
                 //GameController.g.HudM.Botaozao.FinalizarBotao();
                 GameController.g.HudM.Painel.AtivarNovaMens(BancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.qualEscolher), 30);
                 pInicial.gameObject.SetActive(true);
                 estadoInterno = EstadoDesseNpc.escolha;
                 ActionManager.ModificarAcao(GameController.g.transform, AcaoDeEscolha);
                 return(UpdateInterno());
             }
             else
             {
                 return(base.Update());
             }
         }
     }
     else
     {
         return(UpdateInterno());
     }
 }
 public void AcaoDeEscolha()
 {
     if (pInicial.TemIndiceEscolhido && estadoInterno == EstadoDesseNpc.escolha)
     {
         pInicial.BtnEscolher(this);
         estadoInterno = EstadoDesseNpc.confirmarEscolha;
     }
 }
 public void EstadoFinalizado()
 {
     GameController.g.HudM.Painel.EsconderMensagem();
     FinalizaConversa();
     estadoInterno = EstadoDesseNpc.emEspera;
     GameController.g.Manager.AoHeroi();
     //return base.Update();
 }
        bool UpdateInterno()
        {
            switch (estadoInterno)
            {
            case EstadoDesseNpc.escolha:
                int val = GameController.g.CommandR.ValorDeGatilhos("EscolhaH");

                if (val == 0)
                {
                    val = GameController.g.CommandR.ValorDeGatilhosTeclado("HorizontalTeclado");
                }

                if (val != 0)
                {
                    escondePedra.Start();
                    pInicial.MudarSelecionado(val);
                }

                if (Input.GetButtonDown("Cancel"))
                {
                    pInicial.BtnVoltar();
                    ActionManager.useiCancel = true;
                    GameController.g.Manager.AoHeroi();
                    GameController.g.HudM.ModoLimpo();
                    GameController.g.HudM.Painel.EsconderMensagem();
                    estadoInterno = EstadoDesseNpc.emEspera;
                    estado        = EstadoDoNPC.finalizadoComBotao;
                }

                if (pInicial.TemIndiceEscolhido && Input.GetButtonDown("Submit"))
                {
                    pInicial.BtnEscolher(this);
                    estadoInterno = EstadoDesseNpc.confirmarEscolha;
                }

                if (!pInicial.gameObject.activeSelf)
                {
                }
                break;

            case EstadoDesseNpc.cameraParaFim:
                if (AplicadorDeCamera.cam.FocarPonto(7.5f, 12, 10, true))
                {
                    escondePedra.AtivarParticula();
                    estadoInterno = EstadoDesseNpc.pedraDescendo;
                }
                break;

            case EstadoDesseNpc.pedraDescendo:
                if (escondePedra.Update())
                {
                    for (int i = 0; i < infoLigavel.Length; i++)
                    {
                        infoLigavel[i].SetActive(true);
                    }
                    EstadoFinalizado();
                    return(base.Update());
                }
                break;
            }
            return(false);
        }
 public void EstadoDeMostrarCaminho()
 {
     estadoInterno = EstadoDesseNpc.cameraParaFim;
     AplicadorDeCamera.cam.InicializaCameraExibicionista(alvoDoFim, 10);
 }
 public void EstadoDeEscolha()
 {
     estadoInterno = EstadoDesseNpc.escolha;
 }