protected void facaImpacto(GameObject emQ, bool colocaImpactos = false, bool destroiAqui = true, bool noTransform = false) { if (emQ.gameObject.tag == "eventoComGolpe") { eventoComGolpe eCG = emQ.GetComponent <eventoComGolpe>(); acaoDeGolpe aG2 = dono.GetComponent <acaoDeGolpe>(); if (eCG && aG2) { eCG.disparaEvento(aG2.ativa.nomeID); } } GameObject impacto = GameObject.Find("elementosDoJogo").GetComponent <elementosDoJogo>().retorna(noImpacto); GameObject impacto2 = null; if (!noTransform) { impacto2 = (GameObject)Instantiate(impacto, transform.position, Qparticles); } umCriature umC = emQ.transform.GetComponent <umCriature>(); if (umC) { if (umC.criature().cAtributos[0].Corrente > 0) { if (dono.GetComponent <acaoDeGolpe>()) { acaoDeGolpe aG = dono.GetComponent <acaoDeGolpe>(); aG.tomaDanoUm(emQ.transform); if (noTransform) { impacto2 = (GameObject)Instantiate(impacto, umC.transform.position, Qparticles); } if (colocaImpactos) { aG.impactos++; } } } } if (impacto2) { Destroy(impacto2, 1.5f); } if (destroiAqui) { Destroy(gameObject); } }
void OnTriggerEnter(Collider emQ) { if (emQ.tag == "Criature" || emQ.tag == "Player") { bool dano = true; bool deFogo = false; if (emQ.tag == "Criature") { string[] Tipos = emQ.transform.GetComponent <umCriature>().criature().meusTipos; for (int i = 0; i < Tipos.Length; i++) { if (Tipos[i] == tipoImune.ToString()) { dano = false; deFogo = true; } } } else { dano = false; } if (!deFogo) { GameObject G = elementosDoJogo.el.retorna(noImpacto); G = (GameObject)Instantiate(G, emQ.transform.position, Quaternion.identity); Destroy(G, 0.75f); } if (dano) { acaoDeGolpe aG = gameObject.AddComponent <acaoDeGolpe>(); aG.ativa = new golpe(); aG.tomaDanoUm(emQ.transform); } if (!deFogo) { Destroy(gameObject); } } }