Как удалять объекты внутри радиуса взырыва?
Настроил взрыв в юнити, но не могу сделать удаление объектов внутри радиуса взрыва. Как прописать функцию Destroy в блоке определения объектов внутри радиуса чтобы эти объекты удалялись?
public void Explode()
{
Collider[] overlappedColliders = Physics.OverlapSphere(transform.position, Radius);
for(int i = 0; i < overlappedColliders.Length; i++)
{
Rigidbody rigidbody = overlappedColliders[i].attachedRigidbody;
if(rigidbody)
{
rigidbody.AddExplosionForce(Force, transform.position, Radius, 1f);
Explosion explosion = rigidbody.GetComponent<Explosion>();
if(explosion)
{
if(Vector3.Distance(transform.position, rigidbody.position) < Radius)
{
Destroy(explosion.gameObject);
}
}
}
}
}
public void OnCollisionEnter (Collision collision)
{
if(collision.gameObject.tag == "Explosion")
{
Explode();
Destroy(gameObject);
Instantiate(ExplosionEffect, transform.position, Quaternion.identity);
}
}
private void OnDrawGizmosSelected()
{
Gizmos.color = Color.blue;
Gizmos.DrawWireSphere(transform.position, Radius);
}