using Robust.Shared.Audio; using Robust.Shared.GameStates; namespace Content.Shared.Lock; /// /// This is used for activatable UIs that require the entity to have a lock in a certain state. /// [RegisterComponent, NetworkedComponent, Access(typeof(LockSystem))] public sealed partial class UIRequiresLockComponent : Component { /// /// UIs that are locked behind this component. /// If null, will close all UIs. /// [DataField] public List? UserInterfaceKeys; /// /// TRUE: the lock must be locked to access the UI. /// FALSE: the lock must be unlocked to access the UI. /// [DataField] public bool RequireLocked; /// /// Sound to be played if an attempt is blocked. /// [DataField] public SoundSpecifier? AccessDeniedSound = new SoundPathSpecifier("/Audio/Machines/custom_deny.ogg"); [DataField] public LocId? Popup = "entity-storage-component-locked-message"; }