using Content.Shared.Inventory; using Content.Shared.Tag; using Content.Shared.Whitelist; namespace Content.Server.Storage.Components; /// /// Applies an ongoing pickup area around the attached entity. /// [RegisterComponent] public sealed partial class MagnetPickupComponent : Component { [ViewVariables(VVAccess.ReadWrite), DataField("nextScan")] 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; [ValidatePrototypeId] private const string DefaultTag = "Ore"; [ViewVariables(VVAccess.ReadWrite), DataField("whitelist")] public EntityWhitelist? Whitelist = new() { Tags = new List() { DefaultTag, } }; }