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);
        }
    }
Example #2
0
 void IniciaEncontro()
 {
     andado       = 0;
     proxEncontro = SorteiaPassosParaEncontro();
     encontrado   = criatureEncontrado();
     IniciarEncontroCom(InsereInimigoEmCampo.RetornaInimigoEmCampo(encontrado, manager), false);
 }
Example #3
0
 void IniciaEncontro()
 {
     luta         = true;
     andado       = 0;
     proxEncontro = SorteiaPassosParaEncontro();
     encontrado   = criatureEncontrado();
     gerenteDeEncontro.InicializarEncounterManager(InsereInimigoEmCampo.RetornaInimigoEmCampo(encontrado, manager), manager);
     AplicadorDeCamera.cam.GetComponent <Camera>().farClipPlane = 100;
     GameController.g.HudM.MenuDeI.FinalizarHud();
     GameController.g.HudM.Btns.btnParaCriature.interactable = false;
     InsereElementosDoEncontro.encontroPadrao(manager);
 }
Example #4
0
 void OnTriggerEnter(Collider col)
 {
     if (col.gameObject.tag == "Player" && !GameController.g.MyKeys.VerificaAutoShift(chave))
     {
         cm = InsereInimigoEmCampo.RetornaInimigoEmCampo(C);
         GameController.g.EncontroAgoraCom(cm);
         iniciouLuta = true;
     }
     else if (GameController.g.MyKeys.VerificaAutoShift(chave))
     {
         Destroy(gameObject);
     }
 }
Example #5
0
    public bool AnimaEnvia(
        CriatureBase oInstanciado = null,
        string nomeDoGameObject   = "")
    {
        tempoDecorrido += Time.deltaTime;
        switch (estadoEnvia)
        {
        case EstadoDoAnimaEnvia.iniciaAnimacao:
            tempoDecorrido = 0;
            animador.AnimaEnvia();
            estadoEnvia = EstadoDoAnimaEnvia.animaEnvia;
            break;

        case EstadoDoAnimaEnvia.animaEnvia:
            //if (tempoDecorrido > ((treinador)?TEMPO_DA_ANIMA_ENVIA_TREINADOR:TEMPO_DA_ANIMA_ENVIA))
            AnimatorStateInfo A = oAnimado.GetComponent <Animator>().GetCurrentAnimatorStateInfo(0);
            if (A.IsName("enviaCriature") && A.normalizedTime >= 1)
            {
                luz            = ParticulasDeSubstituicao.InsereParticulaDaLuva(oAnimado.gameObject, false);
                raio           = ParticulasDeSubstituicao.InsereParticulaDoRaio(posCriature, oAnimado.gameObject, false);
                estadoEnvia    = EstadoDoAnimaEnvia.Instancia;
                tempoDecorrido = 0;
            }
            break;

        case EstadoDoAnimaEnvia.Instancia:
            if (tempoDecorrido > TEMPO_PARA_INSTANCIAR_CRIATURE)
            {
                if (oInstanciado == null && !treinador)
                {
                    oInstanciado = GameController.g.Manager.Dados.CriaturesAtivos[0];
                }

                if (!treinador)
                {
                    C           = GameController.g.El.retorna(oInstanciado.NomeID);
                    posCriature = MelhoraInstancia.ProcuraPosNoMapa(posCriature);
                    C           = (GameObject)MonoBehaviour.Instantiate(C, posCriature, Quaternion.identity);

                    C.transform.parent = GameController.g.transform;
                }

                Debug.Log(nomeDoGameObject + " : " + treinador);
                if (nomeDoGameObject == "" && !treinador)
                {
                    InicializadorDoJogo.InsereCriatureEmJogo(C, GameController.g.Manager);
                }
                else if (treinador)
                {
                    Debug.Log("inimigo");
                    C           = InsereInimigoEmCampo.RetornaInimigoEmCampo(oInstanciado).gameObject;
                    posCriature = MelhoraInstancia.ProcuraPosNoMapa(posCriature);
                    C.name      = nomeDoGameObject != "" ? nomeDoGameObject : "Inimigo";
                }

                C.transform.localScale = new Vector3(0.01f, 0.01f, 0.01f);
                ParticulasDeSubstituicao.ParticulaSaiDaLuva(posCriature);

                tempoDecorrido = 0;
                estadoEnvia    = EstadoDoAnimaEnvia.AumentaEscala;
            }
            break;

        case EstadoDoAnimaEnvia.AumentaEscala:
            if (!treinador)
            {
                GameController.g.Manager.CriatureAtivo.GetComponent <UnityEngine.AI.NavMeshAgent>().enabled = false;
            }
            if (C.transform.localScale.sqrMagnitude < 2.5f)
            {
                C.transform.localScale = Vector3.Lerp(C.transform.localScale, new Vector3(1, 1, 1), 4 * Time.deltaTime);
                C.transform.position   = posCriature;
            }
            else
            {
                C.transform.localScale = new Vector3(1, 1, 1);
                estadoEnvia            = EstadoDoAnimaEnvia.finalizaEnvia;
                tempoDecorrido         = 0;
            }
            break;

        case EstadoDoAnimaEnvia.finalizaEnvia:

            if (tempoDecorrido < TEMPO_PARA_FINALISAR_RAIO)
            {
                if (!treinador)
                {
                    GameController.g.Manager.CriatureAtivo.GetComponent <UnityEngine.AI.NavMeshAgent>().enabled = true;
                }
                ParticulasDeSubstituicao.ReduzVelocidadeDoRaio(raio);
            }
            else
            {
                if (treinador)
                {
                    animador.ResetaEnvia();
                    animador.ResetaTroca();
                }

                MonoBehaviour.Destroy(raio);
                MonoBehaviour.Destroy(luz);
                return(false);
            }
            break;
        }
        return(true);
    }