public void Activate() { if (buttonWorking && (interactableObject == null || interactableObject.CanBeActivated()) && (!requiresPower || (requiresPower && HasPower())) && (!oneUseOnly || (oneUseOnly && !used))) { if (interactableObject != null) { interactableObject.Activate(); } PlaySound(activate); EventManager.instance.FireEvent(activationEvent); used = true; } else { PlaySound(cantActivate); } }