Ejemplo n.º 1
0
        public void SetarDados(DadosDoPersonagem dados, int indice, TipoDeDado tipo, System.Action <int> ao)
        {
            Acao += ao;
            switch (tipo)
            {
            case TipoDeDado.item:
                imgDoDado.texture = GameController.g.El.RetornaMini(dados.Itens[indice].ID);
                txtDoDado.text    = MbItens.NomeEmLinguas(dados.Itens[indice].ID);
                quantidade.text   = dados.Itens[indice].Estoque.ToString();
                break;

            case TipoDeDado.golpe:
                nomesGolpes nomeG = dados.CriaturesAtivos[0].GerenteDeGolpes.meusGolpes[indice].Nome;
                SetarGolpe(nomeG);
                break;

            case TipoDeDado.criature:
                containerDaQuantidade.SetActive(false);
                imgDoDado.texture = GameController.g.El.RetornaMini(dados.CriaturesAtivos[indice + 1].NomeID);
                txtDoDado.text    = dados.CriaturesAtivos[indice + 1].NomeEmLinguas;
                break;
            }

            // if (indice < 5 /*&& !GameController.g.HudM.PauseM.gameObject.activeSelf*/)
            //  txtDoBtn.text = "n" + (indice + 1);
            //else
            //txtDoBtn.transform.parent.gameObject.SetActive(false);
        }
Ejemplo n.º 2
0
 public nivelGolpe(int _nv,nomesGolpes _nome,int _mod,float tax)
 {
     nivel = _nv;
     nome = _nome;
     mod = _mod;
     taxaDeUso = tax;
 }
Ejemplo n.º 3
0
 public static GameObject InstancieEDestrua(nomesGolpes nomeGolpe,
                                            Vector3 posInicial,
                                            Vector3 forwardInicial,
                                            float tempoDeGolpe)
 {
     return(InstancieEDestrua(nomeGolpe.ToString(), posInicial, forwardInicial, tempoDeGolpe));
 }
Ejemplo n.º 4
0
    private void descarteGolpe()
    {
        mens.entrando       = false;
        passoDaAnimaInicial = 0;

        Criature    X         = fim.vencedor;
        nomesGolpes nomeGolpe = golpeAprendido.nomeID;


        if (menu.escolha != 4)
        {
            mens.mensagem                    = X.Nome + textinhos[2] + X.Golpes[menu.escolha].Nome;
            X.Golpes[menu.escolha]           = new pegaUmGolpe(nomeGolpe).OGolpe();
            X.Golpes[menu.escolha].Basico   += (uint)X.verificaNovoGolpe().mod;
            X.Golpes[menu.escolha].Corrente += (uint)X.verificaNovoGolpe().mod;
            X.Golpes[menu.escolha].Maximo   += (uint)(2 * X.verificaNovoGolpe().mod);
            Invoke("volteMens", 0.15f);
        }
        else
        {
            mens.mensagem = X.Nome + textinhos[3] +
                            new pegaUmGolpe(nomeGolpe).OGolpe().Nome;
            Invoke("preparaVoltaPasseio", 0.15f);
        }

        menu.fechaJanela();
    }
Ejemplo n.º 5
0
 public override void disparaEvento(nomesGolpes nomeDoGolpe)
 {
     if ((nomeDoGolpe == nomesGolpes.sabreDeAsa
          ||
          nomeDoGolpe == nomesGolpes.sabreDeBastao
          ||
          nomeDoGolpe == nomesGolpes.sabreDeEspada
          ||
          nomeDoGolpe == nomesGolpes.sabreDeNadadeira
          )
         &&
         !variaveisChave.shift[chaveDoCano]
         &&
         !heroi.emLuta
         )
     {
         mBcri         = GameObject.Find("CriatureAtivo").GetComponent <movimentoBasico>();
         mBcri.enabled = false;
         alternancia.focandoHeroi();
         movimentoBasico.pararFluxoCriature();
         movimentoBasico.pararFluxoHeroi();
         tCamera = Camera.main.transform;
         p       = gameObject.AddComponent <pretoMorte>();
         iniciou = true;
     }
     else if (variaveisChave.shift[chaveDoCano])
     {
         Destroy(this);
     }
 }
Ejemplo n.º 6
0
        protected override void EntraNoModoFinalizacao(CriatureBase C)
        {
            Estado = EstadoDeUsoDeItem.emEspera;

            if (GameController.g.HudM.MenuDePause.EmPause)
            {
                Finaliza();
            }
            else if (!esqueceu)
            {
                nomesGolpes nomeDoGolpe = GolpePorAprender(C);
                GameController.g.HudM.Painel.AtivarNovaMens(
                    string.Format(BancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.aprendeuGolpe),
                                  C.NomeEmLinguas,
                                  GolpeBase.NomeEmLinguas(nomeDoGolpe))
                    , 30
                    );
                GameController.g.HudM.P_Golpe.Aciona(PegaUmGolpeG2.RetornaGolpe(nomeDoGolpe));
                estadoDoAprendeGolpe = EstadoDoAprendeGolpe.aprendiSemEsquecer;
            }
            else if (esqueceu)
            {
                GameController.g.StartCoroutine(TerminaDaquiAPouco());
            }
        }
Ejemplo n.º 7
0
    public Sabre(nomesGolpes nome) : base(new ContainerDeCaracteristicasDeGolpe()
    {
        nome              = nome,
        tipo              = NomeTipos.Normal,
        carac             = caracGolpe.colisao,
        custoPE           = 0,
        potenciaCorrente  = 5,
        potenciaMaxima    = 11,
        potenciaMinima    = 2,
        tempoDeReuso      = 5,
        tempoDeMoveMax    = 0.65f,
        tempoDeMoveMin    = 0.25f,
        tempoDeDestroy    = 1,
        TempoNoDano       = 0.75f,
        velocidadeDeGolpe = 5
    }
                                          )
    {
        carac = new CaracteristicasDeProjetil()
        {
            noImpacto = NoImpacto.impactoComum,
            tipo      = TipoDoProjetil.basico
        };

        AnimaEmissor = false;
    }
Ejemplo n.º 8
0
 public nivelGolpe(int _nv, nomesGolpes _nome, int _mod, float tax)
 {
     nivel     = _nv;
     nome      = _nome;
     mod       = _mod;
     taxaDeUso = tax;
 }
Ejemplo n.º 9
0
 public override void disparaEvento(nomesGolpes nomeDoGolpe)
 {
     if((nomeDoGolpe==nomesGolpes.sabreDeAsa
        ||
        nomeDoGolpe==nomesGolpes.sabreDeBastao
        ||
        nomeDoGolpe==nomesGolpes.sabreDeEspada
        ||
        nomeDoGolpe==nomesGolpes.sabreDeNadadeira
        )
        &&
        !variaveisChave.shift[chaveDoCano]
        &&
        !heroi.emLuta
        )
     {
         mBcri = GameObject.Find("CriatureAtivo").GetComponent<movimentoBasico>();
         mBcri.enabled = false;
         alternancia.focandoHeroi();
         movimentoBasico.pararFluxoCriature();
         movimentoBasico.pararFluxoHeroi();
         tCamera = Camera.main.transform;
         p = gameObject.AddComponent<pretoMorte>();
         iniciou = true;
     }else if(variaveisChave.shift[chaveDoCano])
         Destroy(this);
 }
Ejemplo n.º 10
0
    public static GolpePersonagem RetornaGolpePersonagem(GameObject G, nomesGolpes nomeDoGolpe)
    {
        CriatureBase        criatureBase = G.GetComponent <CreatureManager>().MeuCriatureBase;
        GerenciadorDeGolpes gg           = criatureBase.GerenteDeGolpes;
        GolpePersonagem     gP           = gg.ProcuraGolpeNaLista(criatureBase.NomeID, nomeDoGolpe);

        return(gP);
    }
Ejemplo n.º 11
0
 public override void DisparaEvento(nomesGolpes nomeDoGolpe)
 {
     if (EsseGolpeAtiva(nomeDoGolpe) && !GameController.g.MyKeys.VerificaAutoShift(Chave))
     {
         FluxoDeBotao();
         CalculaDirecaoDeMove();
     }
 }
 public static void adicionaOColisor(acaoDeGolpe aG, Transform T, float tempoDecorrido,
                                     nomesGolpes nomeColisor,
                                     string nomeTrail, float tempoDestroy,
                                     bool parentearNoOsso,
                                     Quaternion Q     = default(Quaternion),
                                     string noImpacto = "impactoComum")
 {
     adicionaOColisor(aG, T, tempoDecorrido, nomeColisor, nomeTrail, tempoDestroy, noImpacto, parentearNoOsso, Q);
 }
    public static float verifiqueAtrasoDeAnimacao(Criature Y, nomesGolpes nomeID)
    {
        float atraso = 0;

        if (Y.tempoDeInstancia.ContainsKey(nomeID))
        {
            atraso = Y.tempoDeInstancia[nomeID];
        }
        return(atraso);
    }
Ejemplo n.º 14
0
        Usara VerificaUso(CriatureBase C)
        {
            nomesGolpes golpePorAprender = GolpePorAprender(C);


            return(new Usara()
            {
                diferenteDeNulo = golpePorAprender != nomesGolpes.nulo,
                jaTem = C.GerenteDeGolpes.TemEsseGolpe(golpePorAprender)
            });
        }
Ejemplo n.º 15
0
    private bool VerificaGolpeNaLista(nomesGolpes nomeDoGolpe)
    {
        for (int i = 0; i < ativaveis.Length; i++)
        {
            if (ativaveis[i] == nomeDoGolpe)
            {
                return(true);
            }
        }

        return(false);
    }
Ejemplo n.º 16
0
    public bool TemEsseGolpe(nomesGolpes nome)
    {
        for (int i = 0; i < meusGolpes.Count; i++)
        {
            if (meusGolpes[i].Nome == nome)
            {
                return(true);
            }
        }

        return(false);
    }
Ejemplo n.º 17
0
 public static string NomeEmLinguas(nomesGolpes nome)
 {
     string[] arr = BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.nomesDosGolpes).ToArray();
     if (arr.Length > (int)nome)
     {
         return(arr[(int)nome]);
     }
     else
     {
         Debug.LogError("O array de nomes de golpes não contem um nome para o ID= " + nome);
         return(nome.ToString());// BancoDeTextos.falacoes[heroi.lingua]["listaDeGolpes"][(int)Nome];
     }
 }
Ejemplo n.º 18
0
        protected override void OpcaoEscolhida(int escolha)
        {
            GameController g = GameController.g;
            CriatureBase   C = g.Manager.Dados.CriaturesAtivos[escolha];
            nomesGolpes    golpePorAprender = GolpePorAprender(C);

            indiceDoEscolhido = escolha;
            g.HudM.Painel.EsconderMensagem();

            /*
             * bool foi = false;
             * g.HudM.Painel.EsconderMensagem();
             *
             * if (golpePorAprender != nomesGolpes.nulo)
             *  foi = true;
             *
             * bool jaTem = C.GerenteDeGolpes.TemEsseGolpe(golpePorAprender);
             */

            Usara usara = VerificaUso(C);

            if (usara.diferenteDeNulo && !usara.jaTem)
            {
                if (C.GerenteDeGolpes.meusGolpes.Count >= 4)
                {
                    VerificaQualEsquecer(C, UsarOuNaoUsar);
                }
                else
                {
                    base.OpcaoEscolhida(escolha);
                }
            }
            else if (usara.jaTem)
            {
                g.HudM.UmaMensagem.ConstroiPainelUmaMensagem(() => { Estado = EstadoDeUsoDeItem.finalizaUsaItem; },
                                                             string.Format(BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.itens)[4],
                                                                           C.NomeEmLinguas, NomeEmLinguas(ID), GolpeBase.NomeEmLinguas(golpePorAprender)
                                                                           )
                                                             );
            }
            else if (!usara.diferenteDeNulo)
            {
                g.HudM.UmaMensagem.ConstroiPainelUmaMensagem(() => { Estado = EstadoDeUsoDeItem.finalizaUsaItem; },
                                                             string.Format(BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.itens)[5],
                                                                           C.NomeEmLinguas, NomeBasico
                                                                           )
                                                             );
            }

            g.HudM.Menu_Basico.FinalizarHud();
        }
Ejemplo n.º 19
0
    public bool NosMeusGolpes(nomesGolpes esseGolpe)
    {
        bool retorno = false;

        for (int i = 0; i < Golpes.Length; i++)
        {
            if (Golpes[i].nomeID == esseGolpe)
            {
                retorno = true;
            }
        }

        return(retorno);
    }
    /*
     * public DadoDaHudRapida[] Btns
     * {
     *  get { return btns; }
     * }
     *
     * public Text LabelDaHud
     * {
     *  get { return labelDaHud; }
     * }*/

    public void Aciona(GolpeBase[] meusGolpes, nomesGolpes golpeNovo, string txt, System.Action <int> acao)
    {
        gameObject.SetActive(true);
        labelDaHud.text = txt;

        for (int i = 0; i < meusGolpes.Length; i++)
        {
            btns[i].SetarGolpe(meusGolpes[i].Nome);
            btns[i].SetarAcao(acao);
        }

        btns[4].SetarGolpe(golpeNovo);
        btns[4].SetarAcao(acao);
    }
Ejemplo n.º 21
0
Archivo: golpe.cs Proyecto: fayvit/PQP
 public golpe()
 {
     _tipo = "";
     _nome = "";
     Basico = 1;
     Corrente = 1;
     Maximo = 3;
     custoPE = 0;
     tempoReuso = 1f;
     ultimoUso = 0f;
     _repulsaoDoDano = 3f;
     _tempoNoDano = 0.25f;
     distanciaDeEmissao = 0;
     nomeID = nomesGolpes.nulo;
 }
Ejemplo n.º 22
0
 public golpe()
 {
     _tipo              = "";
     _nome              = "";
     Basico             = 1;
     Corrente           = 1;
     Maximo             = 3;
     custoPE            = 0;
     tempoReuso         = 1f;
     ultimoUso          = 0f;
     _repulsaoDoDano    = 3f;
     _tempoNoDano       = 0.25f;
     distanciaDeEmissao = 0;
     nomeID             = nomesGolpes.nulo;
 }
Ejemplo n.º 23
0
    public GolpePersonagem ProcuraGolpeNaLista(nomesCriatures nome, nomesGolpes esseGolpe)
    {
        GolpePersonagem retorno = new GolpePersonagem();

        listaDeGolpes = ListaDeGolpesAtualizada(nome);

        for (int i = 0; i < listaDeGolpes.Count; i++)
        {
            if (listaDeGolpes[i].Nome == esseGolpe)
            {
                retorno = listaDeGolpes[i];
            }
        }

        return(retorno);
    }
Ejemplo n.º 24
0
    public PergOlharMal(int estoque = 1) : base(new ContainerDeCaracteristicasDeItem(nomeIDitem.pergOlharMal)
    {
        valor = 333
    })
    {
        Estoque = estoque;
        TextoDaMensagemInicial = new string[2]
        {
            string.Format(BancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.emQuem), MbItens.NomeEmLinguas(nomeIDitem.pergOlharMal)),
            BancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.aprendeuGolpe),
        };
        Particula = DoJogo.particulaDoAtaquePergaminhoFora;

        golpeDoPergaminho = new nomesGolpes[1]
        {
            nomesGolpes.olharMal,
        };
    }
Ejemplo n.º 25
0
    public static Vector3 UseOEmissor(GameObject G, nomesGolpes nome)
    {
        GolpePersonagem gP = GolpePersonagem.RetornaGolpePersonagem(G, nome);

        if (GameController.g.estaEmLuta && G.name == "CriatureAtivo")
        {
            G.transform.rotation = Quaternion.LookRotation(
                GameController.g.InimigoAtivo.transform.position - G.transform.position
                );
        }
        else if (GameController.g.estaEmLuta && G.name != "CriatureAtivo")
        {
            GameController.g.InimigoAtivo.IA.SuspendeNav();
        }

        return(G.transform.Find(gP.Colisor.osso).position
               + G.transform.forward * (gP.DistanciaEmissora)
               + Vector3.up * gP.AcimaDoChao);
    }
Ejemplo n.º 26
0
        protected bool EsseGolpeAtiva(nomesGolpes nomeDoGolpe)
        {
            Debug.Log(nomeDoGolpe);
            bool ativa = false;

            if (todoDoTipo)
            {
                if (PegaUmGolpeG2.RetornaGolpe(nomeDoGolpe).Tipo == tipoParaAtivar)
                {
                    ativa = true;
                }
            }
            if (VerificaGolpeNaLista(nomeDoGolpe))
            {
                ativa = true;
            }

            return(ativa);
        }
Ejemplo n.º 27
0
        void VerificaQualEsquecer(CriatureBase C, System.Action <bool> acao)
        {
            Estado = EstadoDeUsoDeItem.emEspera;
            HudManager  hudM        = GameController.g.HudM;
            nomesGolpes nomeDoGolpe = GolpePorAprender(C);

            hudM.H_Tenta.Aciona(C, nomeDoGolpe,
                                string.Format(BancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.precisaEsquecer), C.NomeEmLinguas)
                                , acao);

            hudM.Painel.AtivarNovaMens(
                string.Format(BancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.tentandoAprenderGolpe),
                              C.NomeEmLinguas,
                              GolpeBase.NomeEmLinguas(nomeDoGolpe))
                , 24
                );

            hudM.P_Golpe.Aciona(PegaUmGolpeG2.RetornaGolpe(nomeDoGolpe));
        }
Ejemplo n.º 28
0
    protected override nomesGolpes GolpePorAprender(CriatureBase C)
    {
        nomesGolpes golpePorAprender = nomesGolpes.nulo;
        bool        foi = false;

        for (int i = 0; i < golpeDoPergaminho.Length; i++)
        {
            if (!foi)
            {
                golpePorAprender = C.GerenteDeGolpes.ProcuraGolpeNaLista(C.NomeID, golpeDoPergaminho[i]).Nome;
            }

            if (golpePorAprender != nomesGolpes.nulo)
            {
                foi = true;
            }
        }

        return(golpePorAprender);
    }
    public static colisor pegueOColisor(nomesGolpes nomeColisor, Criature XX)
    {
        colisor C = new colisor();

        /*
         *      Quando e feito um saveGame o Criature e salvo em essencia como esta no script,
         *      isso inclui os colisores,
         *      se algum golpe for inserido apos esse save e um novo colisor for inserido
         *      o novo colisor nao aparece no jogo salvo
         *
         *      Para corrigir isso inseri essa linha que questiona a existencia do colisor
         */

        if (XX.colisores.ContainsKey(nomeColisor))
        {
            C = XX.colisores[nomeColisor];
        }
        else
        {
            Criature XXX = new cCriature(XX.nomeID).criature();

            /*
             *      Essa linha verifica a existencia do colisor no script desse Criature,
             *      se existir insere no criature que lançou o golpe
             *      se nao existir da uma mensagem de atençao
             */

            if (XXX.colisores.ContainsKey(nomeColisor))
            {
                XX.colisores.Add(nomeColisor, XXX.colisores[nomeColisor]);
            }
            else
            {
                Debug.LogWarning("O Colisor com o nome \"" + nomeColisor + "\" nao foi encontrado para " + XX.Nome);
                return(new colisor("erroColisor"));
            }
        }

        return(C);
    }
Ejemplo n.º 30
0
    public override void DisparaEvento(nomesGolpes nomeDoGolpe)
    {
        Debug.Log(nomeDoGolpe + " : " + GameController.g.MyKeys.VerificaAutoShift(Chave) + " : " +
                  GameController.g.MyKeys.VerificaAutoShift(ChaveEspecial));

        if (EsseGolpeAtiva(nomeDoGolpe))
        {
            estado = BarrierEventsState.ativou;
        }



        if (estado == BarrierEventsState.ativou)
        {
            FluxoDeBotao();
            acaoEfetivada.SetActive(true);
            tempoDecorrido = 0;
            GameController.g.MyKeys.MudaAutoShift(Chave, true);
            GameController.g.MyKeys.MudaShift(ChaveEspecial, true);
            AplicadorDeCamera.cam.NovoFocoBasico(transform, 10, 10, true, usarForwardDoObjeto);
        }
    }
Ejemplo n.º 31
0
    public PergDeSabre(int estoque = 1) : base(new ContainerDeCaracteristicasDeItem(nomeIDitem.pergSabre)
    {
        valor      = 0,
        consumivel = false
    })
    {
        Estoque = estoque;
        TextoDaMensagemInicial = new string[2]
        {
            string.Format(BancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.emQuem), MbItens.NomeEmLinguas(nomeIDitem.pergSabre)),
            BancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.aprendeuGolpe),
        };
        Particula  = DoJogo.particulaDoPoderPergaminhoFora;
        nomeBasico = "Sabre";

        golpeDoPergaminho = new nomesGolpes[4]
        {
            nomesGolpes.sabreDeAsa,
            nomesGolpes.sabreDeBastao,
            nomesGolpes.sabreDeEspada,
            nomesGolpes.sabreDeNadadeira
        };
    }
    public void SetarDados(DadosDoPersonagem dados, int indice, TipoDeDado tipo, System.Action <int> ao)
    {
        aoClique += ao;
        switch (tipo)
        {
        case TipoDeDado.item:
            imgDoDado.texture = elementosDoJogo.el.RetornaMini(dados.Itens[indice].ID);
            txtDoDado.text    = item.nomeEmLinguas(dados.Itens[indice].ID);
            quantidade.text   = dados.Itens[indice].Estoque.ToString();
            break;

        case TipoDeDado.golpe:
            nomesGolpes nomeG = dados.CriaturesAtivos[0].GerenteDeGolpes.meusGolpes[indice].Nome;
            SetarGolpe(nomeG);
            break;

        case TipoDeDado.criature:
            containerDaQuantidade.SetActive(false);
            imgDoDado.texture = elementosDoJogo.el.RetornaMini(dados.CriaturesAtivos[indice + 1].NomeID);
            txtDoDado.text    = dados.CriaturesAtivos[indice + 1].NomeEmLinguas;
            break;
        }
    }
Ejemplo n.º 33
0
    /*
     * public DadoDaHudRapida[] Btns
     * {
     * get { return btns; }
     * }
     *
     * public Text LabelDaHud
     * {
     * get { return labelDaHud; }
     * }*/

    public void Aciona(CriatureBase C, nomesGolpes golpeNovo, string txt, System.Action <bool> aprendeuOuDeixouDeAprender)
    {
        opcaoEscolhida           = 0;
        FinalizadoTentaAprender  = null;
        FinalizadoTentaAprender += aprendeuOuDeixouDeAprender;
        fase = FasesDaqui.selecionavel;
        gameObject.SetActive(true);
        labelDaHud.text = txt;
        commandR        = GameController.g.CommandR;
        this.C          = C;
        this.golpeNovo  = golpeNovo;
        GolpeBase[] meusGolpes = C.GerenteDeGolpes.meusGolpes.ToArray();
        for (int i = 0; i < meusGolpes.Length; i++)
        {
            btns[i].SetarGolpe(meusGolpes[i].Nome);
            btns[i].SetarAcao(QualGolpeEsquecer);
        }

        btns[4].SetarGolpe(golpeNovo);
        btns[4].SetarAcao(QualGolpeEsquecer);

        Destacar(0);
    }
Ejemplo n.º 34
0
    void impactoAtivo(nomesGolpes nomeColisor,string nomeTrail)
    {
        if(!procurouAlvo)
            procureUmBomAlvo();

        if(tempoDecorrido>ativa.tempoMoveMin && !addView)
        {

            adicionaOColisor(nomeColisor,nomeTrail,ativa.tempoDestroy);

        }

        if(tempoDecorrido<ativa.tempoMoveMax && tempoDecorrido>ativa.tempoMoveMin)
        {
            if(!controle)
                controle = GetComponent<CharacterController>();
            controle.Move(25f*transform.forward*Time.deltaTime+Vector3.down * Y.gravidade);
        }

        if(tempoDecorrido>ativa.tempoDestroy&& !retorno)
        {
            fimDaAcaoGolpe();
        }
    }
Ejemplo n.º 35
0
    colisor pegueOColisor(nomesGolpes nomeColisor)
    {
        colisor C = new colisor();
        Criature XX = GetComponent<umCriature>().criature();

        /*
            Quando e feito um saveGame o Criature e salvo em essencia como esta no script,
            isso inclui os colisores,
            se algum golpe for inserido apos esse save e um novo colisor for inserido
            o novo colisor nao aparece no jogo salvo

            Para corrigir isso inseri essa linha que questiona a existencia do colisor
         */

        if(XX.colisores.ContainsKey(nomeColisor))
            C = XX.colisores[nomeColisor];
        else{
            Criature XXX = new cCriature(XX.nomeID).criature();

            /*
                Essa linha verifica a existencia do colisor no script desse Criature,
                se existir insere no criature que lançou o golpe
                se nao existir da uma mensagem de atençao
             */

            if(XXX.colisores.ContainsKey(nomeColisor))
                XX.colisores.Add(nomeColisor,XXX.colisores[nomeColisor] );
            else{
                Debug.LogWarning("O Colisor com o nome \""+nomeColisor+"\" nao foi encontrado para "+XX.Nome);
                return new colisor("erroColisor");
            }

        }

        return C;
    }
Ejemplo n.º 36
0
    public pegaUmGolpe(nomesGolpes nome)
    {
        switch(nome)
        {
        case nomesGolpes.rajadaDeAgua:
            G = new rajadaDeAgua();
        break;
        case nomesGolpes.turboDeAgua:
            G = new turboDeAgua();
        break;
        case nomesGolpes.bolaDeFogo:
            G = new bolaDeFogo();
        break;
        case nomesGolpes.rajadaDeFogo:
            G = new rajadaDeFogo();
        break;
        case nomesGolpes.laminaDeFolha:
            G = new laminaDeFolha();
        break;
        case nomesGolpes.furacaoDeFolhas:
            G = new furacaoDeFolhas();
        break;
        case nomesGolpes.chifre:
            G = new Chifre();
        break;
        case nomesGolpes.tapa:
            G = new tapa();
        break;
        case nomesGolpes.garra:
            G = new garra();
        break;
        case nomesGolpes.chicoteDeMao:
            G = new chicoteDeMao();
        break;
        case nomesGolpes.dentada:
            G = new dentada();
        break;
        case nomesGolpes.bico:
            G = new bico();
        break;
        case nomesGolpes.ventania:
            G = new ventania();
        break;
        case nomesGolpes.ventosCortantes:
            G = new ventosCortantes();
        break;
        case nomesGolpes.gosmaDeInseto:
            G = new gosmaDeInseto();
        break;
        case nomesGolpes.gosmaAcida:
            G = new gosmaAcida();
        break;
        case nomesGolpes.chicoteDeCalda:
            G = new chicoteDeCalda();
        break;
        case nomesGolpes.cabecada:
            G = new cabecada();
        break;
        case nomesGolpes.eletricidade:
            G = new eletricidade();
        break;
        case nomesGolpes.eletricidadeConcentrada:
            G = new eletricidadeConcentrada();
        break;
        case nomesGolpes.agulhaVenenosa:
            G = new agulhaVenenosa();
        break;
        case nomesGolpes.ondaVenenosa:
            G = new ondaVenenosa();
        break;
        case nomesGolpes.chute:
            G = new chute();
        break;
        case nomesGolpes.espada:
            G = new espada();
        break;
        case nomesGolpes.sobreSalto:
            G = new sobreSalto();
        break;
        case nomesGolpes.cascalho:
            G = new cascalho();
        break;
        case nomesGolpes.pedregulho:
            G = new pedregulho();
        break;
        case nomesGolpes.rajadaDeTerra:
            G = new rajadaDeTerra();
        break;
        case nomesGolpes.energiaDeGarras:
            G = new energiaDeGarras();
        break;
        case nomesGolpes.vingancaDaTerra:
            G = new vingancaDaTerra();
        break;
        case nomesGolpes.psicose:
            G = new psicose();
        break;
        case nomesGolpes.hidroBomba:
            G = new hidroBomba();
        break;
        case nomesGolpes.bolaPsiquica:
            G = new bolaPsiquica();
        break;
        case nomesGolpes.tosteAtaque:
            G = new tosteAtaque();
        break;
        case nomesGolpes.tempestadeDeFolhas:
            G = new tempestadeDeFolhas();
        break;
        case nomesGolpes.chuvaVenenosa:
            G = new chuvaVenenosa();
        break;
        case nomesGolpes.multiplicar:
            G = new multiplicar();
        break;
        case nomesGolpes.tempestadeEletrica:
            G = new tempestadeEletrica();
        break;
        case nomesGolpes.avalanche:
            G = new Avalanche();
        break;
        case nomesGolpes.olharMal:
            G = new olharMal();
        break;
        case nomesGolpes.anelDoOlhar:
            G = new anelDoOlhar();
        break;
        case nomesGolpes.cortinaDeTerra:
            G = new cortinaDeTerra();
        break;
        case nomesGolpes.teletransporte:
            G = new Teletransporte();
        break;
        case nomesGolpes.olharParalisante:
            G = new olharParalisante();
        break;
        case nomesGolpes.sobreVoo:
            G = new sobreVoo();
        break;
        case nomesGolpes.bombaDeGas:
            G = new bombaDeGas();
        break;
        case nomesGolpes.rajadaDeGas:
            G = new rajadaDeGas();
        break;
        case nomesGolpes.cortinaDeFumaca:
            G = new cortinaDeFumaca();
        break;
        case nomesGolpes.bastao:
            G = new bastao();
        break;
        case nomesGolpes.sabreDeAsa:
            G = new sabre();
            G.Nome = "Sabre de Asa";
        break;
        case nomesGolpes.sabreDeNadadeira:
            G = new sabre();
            G.Nome = "Sabre de Nadadeira";
        break;
        case nomesGolpes.sabreDeEspada:
            G = new sabre();
            G.Nome = "Sabre de Espada";
        break;
        case nomesGolpes.sabreDeBastao:
            G = new sabre();
            G.Nome = "Sabre de Bastao";
        break;
        case nomesGolpes.nulo:
        case nomesGolpes.cancelado:
            G = new golpe();
        break;
        }

        G.nomeID = nome;
        G.TempoReuso = Mathf.Max(2.5f,G.TempoReuso);
    }
Ejemplo n.º 37
0
    // Use this for initialization
    void Start()
    {
        if(GetComponent<umCriature>())
            umC = GetComponent<umCriature>();
        if(umC)
            Y = umC.criature();
        animator = GetComponent<Animator> ();
        nomeParaCancelamento = ativa.nomeID;
        elementos = GameObject.Find ("elementosDoJogo").GetComponent<elementosDoJogo> ();
        switch(ativa.nomeID)
        {
        case nomesGolpes.rajadaDeAgua:
            ataqueRajadaDeAgua();
        break;
        case nomesGolpes.gosmaAcida:
        case nomesGolpes.ondaVenenosa:
        case nomesGolpes.furacaoDeFolhas:
        case nomesGolpes.turboDeAgua:
        case nomesGolpes.rajadaDeFogo:
        case nomesGolpes.ventania:
        case nomesGolpes.ventosCortantes:
        case nomesGolpes.eletricidade:
        case nomesGolpes.eletricidadeConcentrada:
        case nomesGolpes.gosmaDeInseto:
        case nomesGolpes.agulhaVenenosa:
        case nomesGolpes.laminaDeFolha:
        case nomesGolpes.cascalho:
        case nomesGolpes.pedregulho:
        case nomesGolpes.rajadaDeTerra:
        case nomesGolpes.vingancaDaTerra:
        case nomesGolpes.psicose:
        case nomesGolpes.bolaPsiquica:
        case nomesGolpes.anelDoOlhar:
        case nomesGolpes.olharMal:
        case nomesGolpes.olharParalisante:
        case nomesGolpes.rajadaDeGas:
        case nomesGolpes.bombaDeGas:

        case nomesGolpes.sabreDeAsa:
        case nomesGolpes.sabreDeBastao:
        case nomesGolpes.sabreDeEspada:
        case nomesGolpes.sabreDeNadadeira:
            ataqueEmissor();
        break;

        case nomesGolpes.multiplicar:
        case nomesGolpes.garra:
        case nomesGolpes.tapa:
        case nomesGolpes.chute:
        case nomesGolpes.chicoteDeMao:
        case nomesGolpes.espada:
        case nomesGolpes.chicoteDeCalda:
        case nomesGolpes.dentada:
        case nomesGolpes.bico:
        case nomesGolpes.cabecada:
        case nomesGolpes.sobreSalto:
        case nomesGolpes.hidroBomba:
        case nomesGolpes.tosteAtaque:
        case nomesGolpes.tempestadeDeFolhas:
        case nomesGolpes.tempestadeEletrica:
        case nomesGolpes.chifre:
        case nomesGolpes.avalanche:
        case nomesGolpes.bastao:
            impactoBasico(ativa.nomeID.ToString());
        break;

        case nomesGolpes.sobreVoo:
            instanciaVentoDano();
            impactoBasico(ativa.nomeID.ToString());
        break;

        case nomesGolpes.bolaDeFogo:
            ataqueBolaDeFogo();
        break;

        case nomesGolpes.energiaDeGarras:
            paralisaTudo();
        break;

        case nomesGolpes.cortinaDeTerra:
        case nomesGolpes.cortinaDeFumaca:
        case nomesGolpes.teletransporte:
            desapareceAntesDoHit();
        break;

        case nomesGolpes.chuvaVenenosa:
            posInicial = transform.position;
            Destroy(Instantiate(elementos.retorna("impulsoVenenoso"),transform.position,Quaternion.identity),3);
            impactoBasico("chuvaVenenosa");
        break;
        default:
            Destroy(this);
        break;
        }
    }
Ejemplo n.º 38
0
    void adicionaOColisor(nomesGolpes nomeColisor,
	                      string nomeTrail,float tempoDestroy,
	                      bool parentearNoOsso,
	                      Quaternion Q = default(Quaternion),
	                      string noImpacto = "impactoComum")
    {
        adicionaOColisor(nomeColisor,nomeTrail,tempoDestroy,noImpacto,parentearNoOsso,Q);
    }
Ejemplo n.º 39
0
 public abstract void disparaEvento(nomesGolpes nomeDoGolpe);
Ejemplo n.º 40
0
    void adicionaOColisor(nomesGolpes nomeColisor,
	                      float tempoDestroy,
	                      string noImpacto = "impactoComum",
	                      bool parentearNoOsso = true,
	                      Quaternion Q = default(Quaternion))
    {
        adicionaOColisor(nomeColisor,nomeColisor.ToString(),tempoDestroy,noImpacto,parentearNoOsso,Q);
    }
Ejemplo n.º 41
0
    public nivelGolpe GolpeNaLista(nomesGolpes[] nomeDoGolpe)
    {
        listaDeGolpes = new cCriature(nomeID).criature().listaDeGolpes;

        /*			-----------------------------------------------			*/

        nivelGolpe retorno = new nivelGolpe(-1,nomesGolpes.nulo,0,0);
        for(int j=0;j<nomeDoGolpe.Length;j++)
            for(int i=0;i<listaDeGolpes.Length;i++)
            {
                if(listaDeGolpes[i].nome == nomeDoGolpe[j]){
                    retorno = listaDeGolpes[i];
                }
            }
        return retorno;
    }
Ejemplo n.º 42
0
    public bool NosMeusGolpes(nomesGolpes esseGolpe)
    {
        bool retorno = false;
        for(int i=0;i<Golpes.Length;i++)
            if(Golpes[i].nomeID == esseGolpe)
                retorno = true;

        return retorno;
    }
Ejemplo n.º 43
0
    void adicionaOColisor(nomesGolpes nomeColisor,
	                      string nomeTrail,float tempoDestroy,
	                      string noImpacto = "impactoComum",
	                      bool parentearNoOsso = true,
	                      Quaternion Q = default(Quaternion))
    {
        GameObject view = elementos.retornaColisor(nomeTrail);
        //		print(nomeColisor);
        colisor C = pegueOColisor(nomeColisor);// = new colisor();

        if(C.osso=="erroColisor")
            return;

        GameObject view2 = Instantiate(view,C.deslColisor,Q) as GameObject;

        if(parentearNoOsso)
            view2.transform.parent = transform.Find(C.osso).transform;
        else
            view2.transform.parent = transform;

        view2.transform.localPosition = C.deslTrail;
        view2.transform.localRotation = view.transform.rotation;
        view2.GetComponent<BoxCollider>().center = C.deslColisor;
        view2.name = "colisor"+nomeColisor;

        /*
                PARA DESTUIR O COLISOR .
                QUANDO O GOLPE ERA INTERROMPIDO
                O COLISOR PERMANECIA NO PERSONAGEM
             */
        Destroy(view2,tempoDestroy-tempoDecorrido);

        /*************************************************************/

        projetil proj = view2.AddComponent<projetil>();
        proj.velocidadeProjetil = 0f;
        proj.noImpacto = noImpacto;
        proj.dono = gameObject;
        //			proj.forcaDoDano = 25f;
        addView = true;
    }
Ejemplo n.º 44
0
    private void ataqueComSalto(nomesGolpes nomeColisor,string nomeTrail,
	                            string extra="",float distanciaPareAbaixo = 1.75f,
	                            string noImpacto = "impactoComum",
	                            bool instantaneo = false,
	                            bool parentearNoOsso  =true)
    {
        umC.ataqueComPulo = true;

        if(!procurouAlvo)
            alvoProcurado = procureUmBomAlvo(100);

        if(extra=="")
            extra = ativa.nomeID.ToString();

        if(tempoDecorrido>ativa.tempoMoveMin && !addView)
        {
            impactoAoChao ao;
            adicionaOColisor(nomeColisor,nomeTrail,ativa.tempoDestroy,noImpacto,parentearNoOsso);
            switch(extra)
            {
            case "impactoAoChao":
            case "sobreSalto":
                ao = gameObject.AddComponent<impactoAoChao>();

            break;
            case "aguaAoChao":
                ao = gameObject.AddComponent<impactoAoChao>();
                ao.aoChao = "aguaImpactoAoChao";
            break;
            case "fogoAoChao":
                ao = gameObject.AddComponent<impactoAoChao>();
                ao.aoChao = "fogoImpactoAoChao";
            break;
            case "eletricidadeAoChao":
                ao = gameObject.AddComponent<impactoAoChao>();
                ao.aoChao = "eletricidadeAoChao";
            break;
            case "impactoDePedraAoChao":
                ao = gameObject.AddComponent<impactoAoChao>();
                ao.aoChao = "impactoDePedraAoChao";
            break;
            }

            if(!instantaneo)
                posInicial = transform.position;
            addView = true;
        }

        if((tempoDecorrido<ativa.tempoMoveMax && tempoDecorrido>ativa.tempoMoveMin)||instantaneo)
        {
            switch(extra)
            {
            case "sobreSalto":
            case "chuvaVenenosa":
            case "impactoDePedraAoChao":
                maisAltoQueOAlvo(alvoProcurado);
            break;
            case "aguaAoChao":
            case "fogoAoChao":
            case "eletricidadeAoChao":
                if(gameObject.name=="CriatureAtivo")
                    maisAltoQueOAlvo(alvoProcurado);
                else
                    avanceEPareAbaixo(distanciaPareAbaixo);
            break;
            default:
                avanceEPareAbaixo(distanciaPareAbaixo);
            break;
            }
        }

        if(tempoDecorrido>ativa.tempoDestroy && !retorno)
        {
            fimDaAcaoGolpe();
        }
    }
Ejemplo n.º 45
0
 private void ataqueComSalto(string noImpacto,nomesGolpes nomeColisor,string extra = "")
 {
     ataqueComSalto(nomeColisor,nomeColisor.ToString(),extra,1.75f,noImpacto);
 }
Ejemplo n.º 46
0
 private void ataqueComSalto(bool instantaneo,nomesGolpes nomeColisor,bool parentearNoOsso = true,string noImpacto="impactoComum",string extra = "")
 {
     ataqueComSalto(nomeColisor,nomeColisor.ToString(),extra,1.75f,noImpacto,instantaneo,parentearNoOsso);
 }
Ejemplo n.º 47
0
    public bool NosMeusGolpes(nomesGolpes[] esseGolpe)
    {
        bool retorno = false;
        for(int i=0;i<esseGolpe.Length;i++)
            retorno = NosMeusGolpes(esseGolpe[i]);

        return retorno;
    }