public void AfastaInimigoDeDano(Transform heroi) { GameObject[] inimigos = InimigoBase.InimigosPerto(distanciaMaxParaOAfastamento, heroi.position); foreach (GameObject I in inimigos) { AfastadorDeInimigoEmDano.InsereAfastamento( (Vector3.ProjectOnPlane(I.transform.position - heroi.position, Vector3.up)).normalized, distanciaDeAfastamento, tempoDeAfastamento, I ); } }
// Use this for initialization void Start() { heroi = GameObject.FindWithTag("Player"); doMeuInimigo = GetComponent <InimigoBase>(); //comecouPiscar = true; Renderer[] MR = GetComponentsInChildren <Renderer>(); piscar = new PiscarMaterial[MR.Length]; materiaisPiscantes = new Material[MR.Length]; for (int j = 0; j < MR.Length; j++) { materiaisPiscantes[j] = InserirMaterialParaPiscar(MR[j], materialPiscante); piscar[j] = new PiscarMaterial(); } InserirParticulaEstouQueimando(); }
void OnTriggerEnter2D(Collider2D c) { InimigoBase outroInimigo = c.GetComponent <InimigoBase>(); if (c.gameObject.tag == "inimigo") { outroInimigo.levaDano(dano); } if (c.gameObject.tag == "subInimigo") { // Instantiate (explosao, transform.position,transform.rotation); Destroy(c.gameObject); Destroy(gameObject); //PontuacaoScript.score++; } }
void ProcureObjetosPerto() { GameObject[] osPerto = InimigoBase.InimigosPerto(raioDeDano, transform.position); EstadoDePersonagem_Gerente T = GameObject.FindWithTag("Player").GetComponent <EstadoDePersonagem_Gerente>(); DadosDoPersonagem dados = T.Dados; float distancia = Vector3.Distance(T.transform.position, transform.position); if (distancia < raioDeDano) { T.AplicarDano(ValorDeDano(distancia, dados.G_XP.Nivel)); AfastamentoDeExplosaoParaHeroi afH = T.gameObject.AddComponent <AfastamentoDeExplosaoParaHeroi>(); afH.dirAfastamento = Vector3.ProjectOnPlane(T.transform.position - transform.position, Vector3.up).normalized; } foreach (GameObject I in osPerto) { AfastadorDeInimigoEmDano.InsereAfastamento( Vector3.ProjectOnPlane((I.transform.position - transform.position), Vector3.up).normalized, distanciaDeAfastamento, tempoDeAfastamento, I); I.GetComponent <InimigoBase>() .TomaDano(ValorDeDano(Vector3.Distance(I.transform.position, transform.position), dados.G_XP.Nivel), TipoDeDano.explosao); } }