Add voice locks to various hidden syndicate items (#39310)
This commit is contained in:
34
Content.Shared/Lock/UIRequiresLockComponent.cs
Normal file
34
Content.Shared/Lock/UIRequiresLockComponent.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using Robust.Shared.Audio;
|
||||
using Robust.Shared.GameStates;
|
||||
|
||||
namespace Content.Shared.Lock;
|
||||
|
||||
/// <summary>
|
||||
/// This is used for activatable UIs that require the entity to have a lock in a certain state.
|
||||
/// </summary>
|
||||
[RegisterComponent, NetworkedComponent, Access(typeof(LockSystem))]
|
||||
public sealed partial class UIRequiresLockComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
/// UIs that are locked behind this component.
|
||||
/// If null, will close all UIs.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public List<Enum>? UserInterfaceKeys;
|
||||
|
||||
/// <summary>
|
||||
/// TRUE: the lock must be locked to access the UI.
|
||||
/// FALSE: the lock must be unlocked to access the UI.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public bool RequireLocked;
|
||||
|
||||
/// <summary>
|
||||
/// Sound to be played if an attempt is blocked.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public SoundSpecifier? AccessDeniedSound = new SoundPathSpecifier("/Audio/Machines/custom_deny.ogg");
|
||||
|
||||
[DataField]
|
||||
public LocId? Popup = "entity-storage-component-locked-message";
|
||||
}
|
||||
Reference in New Issue
Block a user