public float TryFireWeapon() { if (m_weaponAsset && Time.time > m_timeForNextFire) { m_weaponAsset.Fire(transform, m_faction); m_timeForNextFire = Time.time + m_weaponAsset.Interval(); } return(m_timeForNextFire); }