using Robust.Shared.GameStates; namespace Content.Shared.Trigger.Components.Effects; /// /// Will (un)anchor the entity when triggered. /// If TargetUser is true they will be (un)anchored instead. /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class AnchorOnTriggerComponent : BaseXOnTriggerComponent { /// /// Anchor the entity on trigger if it is currently unanchored? /// [DataField, AutoNetworkedField] public bool CanAnchor = true; /// /// Unanchor the entity on trigger if it is currently anchored? /// If both this and CanAnchor are true then the trigger will toggle between states. /// [DataField, AutoNetworkedField] public bool CanUnanchor = false; /// /// Removes this component when triggered so it can only be activated once. /// /// /// TODO: Make this a generic thing for all triggers. /// Or just add a RemoveComponentsOnTriggerComponent. /// [DataField, AutoNetworkedField] public bool RemoveOnTrigger = true; }