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);
 }