using Content.Shared.Interaction; using Content.Shared.Whitelist; using Robust.Shared.GameStates; namespace Content.Shared.Trigger.Components.Triggers; /// /// Triggers when an entity is used to interact with another entity (). /// The user is the player initiating the interaction or the item used, depending on the TargetUsed datafield. /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class TriggerOnInteractUsingComponent : BaseTriggerOnXComponent { /// /// Whitelist of entities that can be used to trigger this component. /// /// No whitelist check when null. [DataField, AutoNetworkedField] public EntityWhitelist? Whitelist; /// /// Blacklist of entities that cannot be used to trigger this component. /// /// No blacklist check when null. [DataField, AutoNetworkedField] public EntityWhitelist? Blacklist; /// /// If false, the trigger user will be the user that initiated the interaction. /// If true, the trigger user will the entity that was used to interact. /// [DataField, AutoNetworkedField] public bool TargetUsed = false; }