I created a bomb, i want the bomb to effect the enemy health only if the bomb is in the enemy range. Codes:
1.When the bomb collides with any thing:
var e : GameObject;
var radius : float = 3.0;
var power : float = 300.0;
var damage : int = 100;
function OnCollisionEnter(c : Collision){
var enemy : GameObject = GameObject.FindWithTag("Enemy");
var explosionPos : Vector3 = transform.position;
var colliders : Collider[] = Physics.OverlapSphere(explosionPos, radius);
for(var hit : Collider in colliders){
if(hit.gameObject.tag == "Player"){
playerHealth.health -= 75;
}
if(hit.gameObject.tag == "Enemy"){
print("work");
yield WaitForSeconds(3);
Destroy(gameObject);
Instantiate(e, transform.position, transform.rotation);
enemy.SendMessageUpwards("HitEnemy", 15, SendMessageOptions.DontRequireReceiver);
}
}
if(c.gameObject.tag == "Player"){
playerHealth.health -= 75;
}
if(c.gameObject.tag == "Untagged"){
yield WaitForSeconds(3);
Instantiate(e, transform.position, transform.rotation);
Destroy(gameObject);
}
}
And also sometimes its effects the enemy and when it does its effects only one enemy (the enemy’s is very close to each other.
I am sure the enemy is tagged as Enemy and the player as Player
Can someone help me? thank you.