using Content.Shared.Popups; using Content.Shared.Whitelist; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; namespace Content.Shared.Actions.Components; /// /// Prevents an action from being used by entities that do not pass the configured whitelist. /// [RegisterComponent, NetworkedComponent, Access(typeof(ActionRestrictionsSystem))] [EntityCategory("Actions")] public sealed partial class ActionUserWhitelistComponent : Component { /// /// Whitelist that an entity must pass to use the action. /// [DataField(required: true)] public EntityWhitelist Whitelist = new(); /// /// Localization ID of the popup shown when the user does not pass . /// [DataField] public LocId? OnFailPopup; /// /// What type the fail popup should appear as. /// [DataField] public PopupType OnFailPopupType = PopupType.SmallCaution; }