using Robust.Shared.GameStates; namespace Content.Shared.Objectives.Components; /// /// An abstract component that allows other systems to count adjacent objects as "stolen" when controlling other systems /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class StealAreaComponent : Component { /// /// Is the component currently enabled? /// [DataField, AutoNetworkedField] public bool Enabled = true; /// /// The range to check for items in. /// [DataField, AutoNetworkedField] public float Range = 1f; /// /// All the minds that will be credited with stealing from this area. /// /// /// TODO: Network this when we have WeakEntityReference. /// [DataField] public HashSet Owners = new(); /// /// The count of the owner hashset. /// This is a separate datafield because networking the list would cause PVS errors if an entity inside would be deleted and networked. /// [DataField, AutoNetworkedField] public int OwnerCount = 0; }