void OnTriggerEnter(Collider col)
    {
        if (col.gameObject.tag == "Player" && !GameController.g.MyKeys.VerificaAutoShift(chave))
        {
            cm = InsereInimigoEmCampo.RetornaInimigoEmCampo(C);

            if (golpeDeInspector)
            {
                for (int i = 0; i < C.GerenteDeGolpes.meusGolpes.Count; i++)
                {
                    cm.MeuCriatureBase.GerenteDeGolpes.meusGolpes[i] = PegaUmGolpeG2.RetornaGolpe(C.GerenteDeGolpes.meusGolpes[i].Nome);
                }
            }

            if (pvDeInspector)
            {
                cm.MeuCriatureBase.CaracCriature.meusAtributos.PV.Maximo   = C.CaracCriature.meusAtributos.PV.Maximo;
                cm.MeuCriatureBase.CaracCriature.meusAtributos.PV.Corrente = C.CaracCriature.meusAtributos.PV.Corrente;
            }

            GameController.g.EncontroAgoraCom(cm);
            tutorManager.IniciouLuta(cm, this);
        }
        else if (GameController.g.MyKeys.VerificaAutoShift(chave))
        {
            gameObject.SetActive(false);
        }
    }
Пример #2
0
        public GolpeBase[] GolpesAtivos(int nivel, GolpePersonagem[] listaGolpes)
        {
            List <GolpePersonagem> L = new List <GolpePersonagem>();
            int i = 0;

            //int N = -1;
            while (i < listaGolpes.Length)
            {
                if (listaGolpes[i].NivelDoGolpe <= nivel && listaGolpes[i].NivelDoGolpe > -1)
                {
                    if (L.Count < 4)
                    {
                        L.Add(listaGolpes[i]);
                    }
                    else
                    {
                        L[0] = L[1];
                        L[1] = L[2];
                        L[2] = L[3];
                        L[3] = listaGolpes[i];
                    }
                }
                i++;
            }

            GolpeBase[] Y = new GolpeBase[L.Count];
            for (i = 0; i < L.Count; i++)
            {
                Y[i] = PegaUmGolpeG2.RetornaGolpe(L[i].Nome);
            }
            return(Y);
        }
Пример #3
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());
            }
        }
Пример #4
0
 protected override void AplicaEfeito(CriatureBase C)
 {
     if (!esqueceu)
     {
         C.GerenteDeGolpes.meusGolpes.Add(PegaUmGolpeG2.RetornaGolpe(GolpePorAprender(C)));
     }
     EntraNoModoFinalizacao(C);
 }
Пример #5
0
 void AprendoOuTentoAprender()
 {
     if (oNivelado.GerenteDeGolpes.meusGolpes.Count < 4)
     {
         fase = FasesDoPassouDeNivel.aprendeuGolpe;
         oNivelado.GerenteDeGolpes.meusGolpes.Add(PegaUmGolpeG2.RetornaGolpe(gp.Nome));
     }
     else
     {
         fase = FasesDoPassouDeNivel.tentandoAprender;
     }
 }
Пример #6
0
    IEnumerator MensDeGolpeTrocado()
    {
        yield return(new WaitForSeconds(0.5f));

        PainelMensCriature.p.AtivarNovaMens(
            string.Format(bancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.aprendeuGolpeEsquecendo),
                          oNivelado.NomeEmLinguas,
                          oNivelado.GerenteDeGolpes.meusGolpes[indiceParaEsquecer].NomeEmLinguas(),
                          GolpeBase.NomeEmLinguas(gp.Nome))
            , 30
            );

        oNivelado.GerenteDeGolpes.meusGolpes[indiceParaEsquecer] = PegaUmGolpeG2.RetornaGolpe(gp.Nome);

        fase = FasesDoPassouDeNivel.painelAprendeuGolpeAberto;
    }
Пример #7
0
    IEnumerator MensDeGolpeTrocado()
    {
        yield return(new WaitForSecondsRealtime(0.5f));

        GameController.g.HudM.Painel.AtivarNovaMens(
            string.Format(BancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.aprendeuGolpeEsquecendo),
                          C.NomeEmLinguas,
                          C.GerenteDeGolpes.meusGolpes[indiceParaEsquecer].NomeEmLinguas(),
                          GolpeBase.NomeEmLinguas(golpeNovo))
            , 26
            );

        C.GerenteDeGolpes.meusGolpes[indiceParaEsquecer] = PegaUmGolpeG2.RetornaGolpe(golpeNovo);

        FinalizadoTentaAprender(true);
        fase = FasesDaqui.emEspera;
    }
Пример #8
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));
        }
Пример #9
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);
        }
Пример #10
0
    public override void DisparaEvento(nomesGolpes nomeDoGolpe)
    {
        if (todoDoTipo)
        {
            if (PegaUmGolpeG2.RetornaGolpe(nomeDoGolpe).Tipo == tipoParaAtivar)
            {
                estado = BarrierEventsState.ativou;
            }
        }
        if (VerificaGolpeNaLista(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.Basica.NovoFoco(transform, 10, 10);
        }
    }
Пример #11
0
    public bool Update()
    {
        switch (fase)
        {
        case FasesDoPassouDeNivel.mostrandoNivel:
            if (Input.GetMouseButtonDown(0))
            {
                PainelMensCriature.p.EsconderMensagem();

                gp = oNivelado.GerenteDeGolpes.VerificaGolpeDoNivel(
                    oNivelado.NomeID, oNivelado.CaracCriature.mNivel.Nivel
                    );

                if (gp.Nome != nomesGolpes.nulo)
                {
                    contadorDeTempo = 0;
                    AprendoOuTentoAprender();
                }
                else
                {
                    return(true);
                }
            }
            break;

        case FasesDoPassouDeNivel.aprendeuGolpe:
            contadorDeTempo += Time.deltaTime;
            if (contadorDeTempo > 0.5f)
            {
                PainelMensCriature.p.AtivarNovaMens(
                    string.Format(bancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.aprendeuGolpe),
                                  oNivelado.NomeEmLinguas,
                                  GolpeBase.NomeEmLinguas(gp.Nome))
                    , 30
                    );
                GameController.g.HudM.P_Golpe.Aciona(PegaUmGolpeG2.RetornaGolpe(gp.Nome));
                fase = FasesDoPassouDeNivel.painelAprendeuGolpeAberto;
            }
            break;

        case FasesDoPassouDeNivel.painelAprendeuGolpeAberto:
            if (Input.GetMouseButtonDown(0))
            {
                fase = FasesDoPassouDeNivel.finalizar;
            }
            break;

        case FasesDoPassouDeNivel.tentandoAprender:
            contadorDeTempo += Time.deltaTime;
            if (contadorDeTempo > 0.5f)
            {
                PainelMensCriature.p.AtivarNovaMens(
                    string.Format(bancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.tentandoAprenderGolpe),
                                  oNivelado.NomeEmLinguas,
                                  GolpeBase.NomeEmLinguas(gp.Nome))
                    , 24
                    );
                HudManager hudM = GameController.g.HudM;
                hudM.P_Golpe.Aciona(PegaUmGolpeG2.RetornaGolpe(gp.Nome));
                hudM.H_Tenta.Aciona(oNivelado.GerenteDeGolpes.meusGolpes.ToArray(), gp.Nome,
                                    string.Format(bancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.precisaEsquecer), oNivelado.NomeEmLinguas)
                                    , QualGolpeEsquecer);
                fase = FasesDoPassouDeNivel.emEspera;
            }
            break;

        case FasesDoPassouDeNivel.finalizar:
            PainelMensCriature.p.EsconderMensagem();
            GameController.g.HudM.P_Golpe.gameObject.SetActive(false);
            return(true);
        }
        return(false);
    }