using Content.Shared.Interaction; using Content.Shared.Whitelist; using Robust.Shared.GameStates; namespace Content.Shared.Trigger.Components.Triggers; /// /// Triggers when the owner uses another entity to interact with another entity (). /// The trigger user is the interacted entity or the item used, depending on the TargetUsed datafield. /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class TriggerOnUserInteractUsingComponent : 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 entity that got interacted with. /// If true, the trigger user will the entity that was used to interact. /// [DataField, AutoNetworkedField] public bool TargetUsed = false; /// /// Whether the interaction should be marked as handled after it happens. /// [DataField, AutoNetworkedField] public bool Handle = true; }