using Content.Shared.Item.ItemToggle; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; namespace Content.Shared.Item.ItemToggle.Components; /// /// Adds or removes components when toggled. /// Requires . /// [RegisterComponent, NetworkedComponent, Access(typeof(ComponentTogglerSystem))] public sealed partial class ComponentTogglerComponent : Component { /// /// The components to add when activated. /// [DataField(required: true)] public ComponentRegistry Components = new(); /// /// The components to remove when deactivated. /// If this is null is reused. /// [DataField] public ComponentRegistry? RemoveComponents; /// /// If true, adds components on the entity's parent instead of the entity itself. /// [DataField] public bool Parent; }