Exemplo n.º 1
0
 public override bool Update()
 {
     if (estadoInterno == EstadoInterno.emEspera)
     {
         if (estado == EstadoDoNPC.conversando &&
             GameController.g.HudM.DisparaT.IndiceDaConversa == conversa.Length - 1 &&
             !GameController.g.MyKeys.VerificaAutoShift(chaveDaLuta)
             )
         {
             if (perguntaParaIniciar)
             {
                 GameController.g.HudM.DisparaT.DesligarPaineis();
                 GameController.g.HudM.DisparaT.IniciarDisparadorDeTextos();
                 GameController.g.HudM.DisparaT.Dispara(
                     "Você está preparado para me enfrentar?", fotoDoNPC);
                 estadoInterno = EstadoInterno.perguntaParaIniciar;
             }
             else
             {
                 IniciarLuta();
             }
             return(false);
         }
         else
         {
             return(base.Update());
         }
     }
     else
     {
         return(UpdateInterno());
     }
 }
Exemplo n.º 2
0
    void OpcaoEscolhida(int opcao)
    {
        switch (opcao)
        {
        case 0:
        case 1:
            indice1  = opcao == 0 ? false : true;
            conversa = BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.frasesDeVendaDeIan).ToArray();
            GameController.g.HudM.Menu_Basico.FinalizarHud();
            GameController.g.HudM.DisparaT.IniciarDisparadorDeTextos();
            GameController.g.HudM.DisparaT.Dispara(
                string.Format(conversa[0], RetornaArgumentosPreVenda()), fotoDoNPC);
            estadoInterno = EstadoInterno.frasePreVenda;

            break;

        case 2:
            conversa      = conversasDeIan[indice1 ? 1 : 0];
            indice1       = !indice1;
            estadoInterno = EstadoInterno.conversaInterna;
            GameController.g.HudM.DisparaT.IniciarDisparadorDeTextos(true);
            GameController.g.HudM.Menu_Basico.FinalizarHud();
            break;

        case 3:
            PreFinal();
            break;
        }
    }
Exemplo n.º 3
0
 void IniciarLuta()
 {
     tempoDecorrido = 0;
     AplicadorDeCamera.cam.InicializaCameraExibicionista(MeuTransform, 1, true);
     InsereElementosDoEncontro.EncontroDeTreinador(GameController.g.Manager, MeuTransform);
     estadoInterno = EstadoInterno.animacaoDeEncontro;
 }
Exemplo n.º 4
0
 void PreFinal()
 {
     estadoInterno = EstadoInterno.fraseDeFinalizacao;
     conversa      = BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.despedidabasicaDeIan).ToArray();
     GameController.g.HudM.DisparaT.IniciarDisparadorDeTextos();
     GameController.g.HudM.Menu_Basico.FinalizarHud();
 }
Exemplo n.º 5
0
 bool EntraNasEscolhas()
 {
     GameController.g.HudM.DisparaT.IniciarDisparadorDeTextos();
     GameController.g.HudM.Menu_Basico.IniciarHud(OpcaoEscolhida, textoDasOpcoes);
     //ActionManager.ModificarAcao(GameController.g.transform, OpcaoEscolhida);
     estadoInterno = EstadoInterno.escolhasAbertas;
     return(UpdateInterno());
 }
Exemplo n.º 6
0
        /*
         * void OpcaoEscolhida()
         * {
         *  OpcaoEscolhida(GameController.g.HudM.Menu_Basico.OpcaoEscolhida);
         * }*/

        void OpcaoEscolhida(int opcao)
        {
            if (opcao < textoDasOpcoes.Length)
            {
                conversa      = BancoDeTextos.RetornaListaDeTextoDoIdioma(chavesDasConversas[opcao]).ToArray();
                estadoInterno = EstadoInterno.conversaInterna;
            }
            else
            {
                estadoInterno = EstadoInterno.emEspera;
                FinalizaConversa();
            }

            GameController.g.HudM.Menu_Basico.FinalizarHud();
        }
Exemplo n.º 7
0
        bool EntraNasEscolhas()
        {
            GameController.g.HudM.DisparaT.IniciarDisparadorDeTextos(true);

            string[] s = new string[textoDasOpcoes.Length + 1];
            for (int i = 0; i < textoDasOpcoes.Length; i++)
            {
                s[i] = textoDasOpcoes[i];
            }

            s[textoDasOpcoes.Length] = BancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.Voltar);
            GameController.g.HudM.Menu_Basico.IniciarHud(OpcaoEscolhida, s);
            //ActionManager.ModificarAcao(GameController.g.transform, OpcaoEscolhida);
            estadoInterno = EstadoInterno.escolhasAbertas;
            return(UpdateInterno());
        }
Exemplo n.º 8
0
    void IniciarOuNao(int val)
    {
        switch (val)
        {
        case 0:
            IniciarLuta();
            break;

        case 1:
            estado        = EstadoDoNPC.finalizadoComBotao;
            estadoInterno = EstadoInterno.emEspera;
            break;
        }

        GameController.g.HudM.Menu_Basico.FinalizarHud();
        GameController.g.HudM.DisparaT.DesligarPaineis();
    }
Exemplo n.º 9
0
    void ComprarOuNaoComprar(int indice)
    {
        GameController.g.HudM.Menu_Basico.FinalizarHud();
        DisparaTexto      disparaT = GameController.g.HudM.DisparaT;
        KeyVar            keys     = GameController.g.MyKeys;
        DadosDoPersonagem dados    = GameController.g.Manager.Dados;

        disparaT.DesligarPaineis();


        int val = !indice1
            ? (int)Mathf.Pow(2, keys.VerificaAutoCont(KeyCont.pergSinaraComprados))
            : (int)Mathf.Pow(2, keys.VerificaAutoCont(KeyCont.pergAlanaComprados));

        switch (indice)
        {
        case 0:
            if (dados.TemItem(nomeIDitem.tinteiroSagradoDeLog) >= val && dados.Cristais >= 100 * val)
            {
                dados.Cristais -= 100 * val;
                GameController.g.HudM.AtualizeImagemDeAtivos();
                MbItens.RetirarUmItem(GameController.g.Manager, nomeIDitem.tinteiroSagradoDeLog, val);
                dados.AdicionaItem(indice1 ? nomeIDitem.pergAlana : nomeIDitem.pergSinara);
                disparaT.ReligarPaineis();
                disparaT.Dispara(conversa[2], fotoDoNPC);
                estadoInterno = EstadoInterno.fraseDeBoaCompra;
                keys.SomaCont(indice1 ? KeyCont.pergAlanaComprados : KeyCont.pergSinaraComprados, 1);
            }
            else
            {
                disparaT.ReligarPaineis();
                disparaT.Dispara(conversa[1], fotoDoNPC);
                estadoInterno = EstadoInterno.fraseInsuficiente;
            }
            break;

        case 1:
            EntraNasEscolhas();
            break;
        }
    }
Exemplo n.º 10
0
 protected override void FinalizaConversa()
 {
     estadoInterno = EstadoInterno.emEspera;
     SetarConversaOriginal();
     base.FinalizaConversa();
 }
Exemplo n.º 11
0
    bool UpdateInterno()
    {
        switch (estadoInterno)
        {
        case EstadoInterno.animacaoDeEncontro:
            tempoDecorrido += Time.deltaTime;
            if (tempoDecorrido > 0.5F)
            {
                estadoInterno = EstadoInterno.cameraNoTreinador;
            }
            break;

        case EstadoInterno.perguntaParaIniciar:
            if (!GameController.g.HudM.DisparaT.LendoMensagemAteOCheia())
            {
                GameController.g.HudM.Menu_Basico.IniciarHud(IniciarOuNao,
                                                             BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.simOuNao).ToArray());
                estadoInterno = EstadoInterno.esperandoResposta;
            }
            break;

        case EstadoInterno.esperandoResposta:
            GameController.g.HudM.Menu_Basico.MudarOpcao();

            if (GameController.g.CommandR.DisparaAcao())
            {
                estadoInterno = EstadoInterno.emEspera;
                IniciarOuNao(GameController.g.HudM.Menu_Basico.OpcaoEscolhida);
            }
            break;

        case EstadoInterno.cameraNoTreinador:
            if (AplicadorDeCamera.cam.FocarPonto(-2 * Vector3.up, 1, 6, 4, true))
            {
                disparaT = GameController.g.HudM.DisparaT;
                disparaT.IniciarDisparadorDeTextos();
                conversa = BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.frasesDaLutaContraTreinador).ToArray();
                conversa = new string[2] {
                    string.Format(conversa[0], criaturesDoTreinador.Length), conversa[1]
                };
                estadoInterno = EstadoInterno.frasePreInicio;
            }
            break;

        case EstadoInterno.frasePreInicio:
            if (disparaT.UpdateDeTextos(conversa))
            {
                animaB = new AnimaBraco(MeuTransform, GameController.g.Manager.transform, true);
                Transform aux = GameController.g.Manager.CriatureAtivo.transform;
                animaB.PosCriature = aux.position + 3 * aux.forward;

                estadoInterno = EstadoInterno.animandoBraco;
                AplicadorDeCamera.cam.DesligarMoveCamera();
            }
            break;

        case EstadoInterno.animandoBraco:
            if (!animaB.AnimaEnvia(criaturesDoTreinador[indiceDoEnviado].C, "criatureDeTreinador"))
            {
                GameController.g.EncontroAgoraCom(
                    criaturesDoTreinador[indiceDoEnviado].PrepararInicioDoCriature(
                        GameObject.Find("criatureDeTreinador").GetComponent <CreatureManager>()), true, nomeDoTreinador);
                estadoInterno = EstadoInterno.leituraDeLuta;
            }
            break;

        case EstadoInterno.leituraDeLuta:
            if (GameController.g.InimigoAtivo == null)
            {
                indiceDoEnviado++;
                if (indiceDoEnviado < criaturesDoTreinador.Length)
                {
                    conversa = BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.frasesDaLutaContraTreinador).ToArray();
                    conversa = new string[2] {
                        conversa[2], conversa[3]
                    };
                    disparaT.IniciarDisparadorDeTextos();
                    AplicadorDeCamera.cam.InicializaCameraExibicionista(MeuTransform, 1, true);
                    estadoInterno = EstadoInterno.novoJogoDeCamera;
                }
                else
                {
                    AplicadorDeCamera.cam.InicializaCameraExibicionista(MeuTransform, 1, true);
                    conversa = StringParaEnum.SetarConversaOriginal(chaveDaFinalizacaoString, ref chaveDaFinalizacao);
                    disparaT.IniciarDisparadorDeTextos();
                    estadoInterno = EstadoInterno.fraseDaFinalizacao;
                }
            }
            break;

        case EstadoInterno.novoJogoDeCamera:
            if (AplicadorDeCamera.cam.FocarPonto(1, 6, 4, true))
            {
                estadoInterno = EstadoInterno.frasePreInicio;
            }
            break;

        case EstadoInterno.fraseDaFinalizacao:
            if (AplicadorDeCamera.cam.FocarPonto(1, 6, 4, true))
            {
                if (disparaT.UpdateDeTextos(conversa))
                {
                    if (recompensas.Length <= 0)
                    {
                        estadoInterno = EstadoInterno.finalizacao;
                    }
                    else
                    {
                        conversa        = BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.bau).ToArray();
                        indiceDoEnviado = 0;
                        VerificaItem();
                        estadoInterno = EstadoInterno.verificandoMaisItens;
                    }
                }
            }
            break;

        case EstadoInterno.verificandoMaisItens:
            if (Input.GetButtonDown("Acao"))
            {
                if (indiceDoEnviado + 1 > recompensas.Length)
                {
                    GameController.g.HudM.Painel.EsconderMensagem();
                    GameController.g.HudM.MostrarItem.DesligarPainel();
                    estadoInterno = EstadoInterno.finalizacao;
                }
                else
                {
                    VerificaItem();
                }
                ActionManager.anularAcao = true;
            }
            break;

        case EstadoInterno.finalizacao:
            estado        = EstadoDoNPC.finalizadoComBotao;
            estadoInterno = EstadoInterno.emEspera;
            GameController.g.MyKeys.MudaShift(chaveDaLuta, true);
            GameController.g.RetornarParaFluxoDoHeroi(true);
            return(true);
            //break;
        }
        return(false);
    }
Exemplo n.º 12
0
    bool UpdateInterno()
    {
        switch (estadoInterno)
        {
        case EstadoInterno.escolhasAbertas:

            GameController.g.HudM.Menu_Basico.MudarOpcao();

            if (GameController.g.CommandR.DisparaAcao())
            {
                OpcaoEscolhida(GameController.g.HudM.Menu_Basico.OpcaoEscolhida);
            }


            if (Input.GetButtonDown("Cancel") && !ActionManager.useiCancel)
            {
                PreFinal();
            }
            else
            {
                ActionManager.useiCancel = false;
            }
            break;

        case EstadoInterno.conversaInterna:
            if (disparaT.UpdateDeTextos(conversa, fotoDoNPC))
            {
                EntraNasEscolhas();
            }
            break;

        case EstadoInterno.fraseDeFinalizacao:
            if (disparaT.UpdateDeTextos(conversa, fotoDoNPC))
            {
                FinalizaConversa();
            }
            break;

        case EstadoInterno.frasePreVenda:
            if (!disparaT.LendoMensagemAteOCheia())
            {
                GameController.g.HudM.Menu_Basico.IniciarHud(ComprarOuNaoComprar,
                                                             BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.simOuNao).ToArray());
                estadoInterno = EstadoInterno.aguardandoSimOuNao;
            }
            break;

        case EstadoInterno.aguardandoSimOuNao:
            GameController.g.HudM.Menu_Basico.MudarOpcao();

            if (GameController.g.CommandR.DisparaAcao())
            {
                ComprarOuNaoComprar(GameController.g.HudM.Menu_Basico.OpcaoEscolhida);
            }
            break;

        case EstadoInterno.fraseInsuficiente:
            if (!disparaT.LendoMensagemAteOCheia())
            {
                if (GameController.g.CommandR.DisparaAcao())
                {
                    disparaT.DesligarPaineis();
                    EntraNasEscolhas();
                }
            }
            break;

        case EstadoInterno.fraseDeBoaCompra:
            if (!disparaT.LendoMensagemAteOCheia())
            {
                if (GameController.g.CommandR.DisparaAcao())
                {
                    MonoBehaviour.Destroy(
                        MonoBehaviour.Instantiate(
                            GameController.g.El.retorna(DoJogo.particulaDaDefesaPergaminhoFora), MeuTransform.position, Quaternion.identity
                            ), 5);

                    disparaT.DesligarPaineis();
                    contadorDeTempoX = 0;
                    estadoInterno    = EstadoInterno.particulaDeCoisasBoas;
                }
            }
            break;

        case EstadoInterno.particulaDeCoisasBoas:
            contadorDeTempoX += Time.deltaTime;
            if (contadorDeTempoX > TEMP_COISAS_BOAS)
            {
                disparaT.IniciarDisparadorDeTextos();
                disparaT.Dispara(conversa[3], fotoDoNPC);
                estadoInterno = EstadoInterno.fraseFinalDeCompra;
                GameController.g.HudM.MostrarItem.IniciarPainel(!indice1 ? nomeIDitem.pergSinara : nomeIDitem.pergAlana, 1);
            }
            break;

        case EstadoInterno.fraseFinalDeCompra:
            if (!disparaT.LendoMensagemAteOCheia())
            {
                if (GameController.g.CommandR.DisparaAcao())
                {
                    GameController.g.HudM.MostrarItem.DesligarPainel();
                    disparaT.DesligarPaineis();
                    EntraNasEscolhas();
                }
            }
            break;
        }
        return(false);
    }