private void TakeDamage() { Collider[] colliders = Physics.OverlapSphere(detonatePosition, range); foreach (Collider c in colliders) { if (c.GetComponent <Rigidbody>() == null) { continue; } if (c.GetComponent <PlayerGameManager> () != null) { PlayerGameManager playerGameManager = c.GetComponent <PlayerGameManager> (); GameObject player = GameObject.FindGameObjectWithTag("Player"); playerGameManager.TakeDamage(70.0f * ((range - Vector3.Distance(player.transform.position, detonatePosition)) / range)); } if (c.GetComponent <GrenadeThrow> () != null && !c.GetComponent <GrenadeThrow> ().isDetonated) { c.GetComponent <GrenadeThrow> ().detonate(); } if (c.GetComponent <Hit> () != null) { c.GetComponent <Hit> ().DestroyIt(); } if (c.GetComponent <MilitaryBarrel> () != null) { c.GetComponent <MilitaryBarrel> ().DestroyIt(); } if (c.GetComponent <OilBarrel> () != null && !c.GetComponent <OilBarrel> ().isDetonated) { c.GetComponent <OilBarrel> ().Detonate(); } if (c.GetComponent <SlimeBarrel> () != null) { c.GetComponent <SlimeBarrel> ().DestroyIt(); } c.GetComponent <Rigidbody>().AddExplosionForce(damage, detonatePosition, range, 0.0f, ForceMode.Impulse); } isDamage = false; damage_timer = 0f; Destroy(explosionEffectObjectClone, 1.6f); Destroy(transform.parent.gameObject); }