void Update() { if (!isActive || exosuit.GetQuickSlotCooldown(activeSlotID) < 1f) { return; } if (!exosuit.HasEnoughEnergy(energyCost)) { setActive(false); return; } // ping sonar sonarSound.Stop(); sonarSound.Play(); SNCameraRoot.main.SonarPing(); exosuit.ConsumeEnergy(energyCost); // update quick slot exosuit.quickSlotTimeUsed[activeSlotID] = Time.time; exosuit.quickSlotCooldown[activeSlotID] = pingInterval; }