Exemplo n.º 1
0
    protected void InicializacaoComum(GameObject dono, Transform alvoDoItem)
    {
        TempoDecorrido = 0;

        Manager.Estado = EstadoDePersonagem.parado;
        Manager.CriatureAtivo.PararCriatureNoLocal();
        Manager.Mov.Animador.PararAnimacao();

        if (GameController.g.estaEmLuta)
        {
            GameController.g.InimigoAtivo.PararCriatureNoLocal();
        }

        AnimaB = new AnimaBraco(Manager, alvoDoItem);
    }
Exemplo n.º 2
0
    public ReplaceManager(CharacterManager manager, Transform alvo, FluxoDeRetorno fluxo)
    {
        this.fluxo   = fluxo;
        this.manager = manager;
        List <CriatureBase> lista = manager.Dados.CriaturesAtivos;
        CriatureBase        temp  = lista[0];

        lista[0] = lista[manager.Dados.CriatureSai];
        lista[manager.Dados.CriatureSai] = temp;

        manager.Estado = EstadoDePersonagem.parado;
        manager.CriatureAtivo.PararCriatureNoLocal();
        manager.Mov.Animador.PararAnimacao();

        GameController.g.HudM.MenuDeI.FinalizarHud();
        PainelMensCriature.p.EsconderMensagem();

        estouTrocandoDeCriature = true;
        animaB = new AnimaBraco(manager, alvo);
    }
Exemplo n.º 3
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);
    }