public void Inicia(Transform T, Sprite foto = null)
    {
        casinhaDoArmagedom = T;
        fotoDoNPC          = foto;
        gameObject.SetActive(true);
        ApagarMenu();
        fase    = fasesDoArmagedom.mensInicial;
        dispara = GameController.g.HudM.DisparaT;

        dispara.IniciarDisparadorDeTextos();
    }
    public void IniciarShop(nomeIDitem[] itensAVenda, Sprite fotoDoNPC)
    {
        this.fotoDoNPC = fotoDoNPC;

        this.itensAVenda = itensAVenda;

        GameController.g.HudM.Botaozao.IniciarBotao(SairDoShop);

        fase = FasesDoShop.iniciouConversaNoShop;

        dispara    = GameController.g.HudM.DisparaT;
        menuBasico = GameController.g.HudM.Menu_Basico;
        dispara.IniciarDisparadorDeTextos();
    }
Esempio n. 3
0
        public void BotaoArmagedom()
        {
            FluxoDeBotao();
            AplicadorDeCamera.cam.InicializaCameraExibicionista(transform, 1);
            GameController.g.HudM.ModoLimpo();
            if (!GameController.g.MyKeys.LocalArmag.Contains(indiceDesseArmagedom))
            {
                GameController.g.MyKeys.LocalArmag.Add(indiceDesseArmagedom);
            }

            dispara.IniciarDisparadorDeTextos();
            GameController.g.Manager.Dados.UltimoArmagedom = indiceDesseArmagedom;
            fase = fasesDoArmagedom.mensInicial;
        }
    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);
    }
Esempio n. 5
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);
    }