private void OnCollisionEnter2D(Collision2D collision) { if (collision.collider.CompareTag("Player")) { VidaPersonagem vpo = collision.collider.GetComponent <VidaPersonagem>(); vpo.SofrerDano(dano); Debug.Log("oi"); } }
void OnTriggerEnter2D(Collider2D col) { VidaPersonagem vida = col.GetComponent <VidaPersonagem>(); if (vida != null) { vida.SofrerDano(dano); } Destroy(gameObject); }
private void OnTriggerEnter2D(Collider2D collider) { //se inimigo detectado , gere dano no inimigo if (collider.CompareTag("Enemy")) { vpo = collider.GetComponent <VidaPersonagem>(); //Se não estiver morto cause dano Debug.Log("Inimigo Atinjido"); vpo.SofrerDano(dano); } }
/// <summary> /// Usa o ataque físico. /// </summary> public void Atacar() { Collider2D[] colliders = new Collider2D[10]; int contatos = areaAtaque.GetContacts(colliders); //Pega todos os personagens que estão em contato com o checaAtaque, uma única vez HashSet <VidaPersonagem> set = new HashSet <VidaPersonagem>(); for (int i = 0; i < contatos; i++) { VidaPersonagem vida = colliders[i].GetComponent <VidaPersonagem>(); if (colliders[i].gameObject != gameObject && vida != null) { set.Add(vida); } } //Da dano em todos os personagens foreach (VidaPersonagem vida in set) { vida.SofrerDano(dano); } }