using Content.Shared.Inventory; using Robust.Shared.GameStates; // Frontier namespace Content.Shared.Storage.Components; // Frontier: Server /// Applies an ongoing pickup area around the attached entity. /// [RegisterComponent, AutoGenerateComponentPause] [NetworkedComponent, AutoGenerateComponentState] // Frontier public sealed partial class MagnetPickupComponent : Component { [ViewVariables(VVAccess.ReadWrite), DataField("nextScan")] [AutoPausedField] public TimeSpan NextScan = TimeSpan.Zero; /// /// What container slot the magnet needs to be in to work. /// [ViewVariables(VVAccess.ReadWrite), DataField("slotFlags")] public SlotFlags SlotFlags = SlotFlags.BELT; [ViewVariables(VVAccess.ReadWrite), DataField("range")] public float Range = 1f; // Frontier: togglable magnets /// /// Is the magnet currently enabled? /// [AutoNetworkedField, ViewVariables(VVAccess.ReadWrite), DataField] public bool MagnetEnabled = true; /// /// Is the magnet currently enabled? /// [ViewVariables(VVAccess.ReadWrite), DataField] public bool MagnetCanBeEnabled = true; /// /// Is the magnet currently enabled? /// [ViewVariables(VVAccess.ReadWrite), DataField] public int MagnetTogglePriority = 3; // End Frontier: togglable magnets }