Add voice locks to various hidden syndicate items (#39310)

This commit is contained in:
beck-thompson
2025-08-10 11:10:13 -07:00
committed by GitHub
parent 80299e863a
commit 80375370f8
36 changed files with 366 additions and 97 deletions

View 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";
}