public override void UsePrimary()
 {
     if (m_currentAmmo > 0 && m_fireMode.IsReady)
     {
         ProjectileBehaviour p = PoolManager.Instance.Next <ProjectileBehaviour>();
         if (p == null)
         {
             Debug.Log("Projectile is null");
         }
         p.Launch(transform.position + transform.TransformDirection(m_weaponProperties.projectileOrigin), transform.forward * m_weaponProperties.muzzleVelocity);
         m_currentAmmo--;
         base.UsePrimary();
         StartCoroutine(m_fireMode.CooldownRoutine(0.015f));
     }
 }