public void Reload(bool force = false)
 {
     Assert.IsFalse(EnemyWeapon);
     if (force)
     {
         GetComponent <AudioSource>().PlayOneShot(ReloadSound);
         currentAmmoCount = ammoCapacity;
         ammoDisplay.Reload();
     }
     else if (currentAmmoCount != ammoCapacity)
     {
         if (energy.Drain_ES(false, reloadEnergyCost))
         {
             GetComponent <AudioSource>().PlayOneShot(ReloadSound);
             currentAmmoCount = ammoCapacity;
             ammoDisplay.Reload();
         }
     }
 }