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