using System; using Content.Shared.Inventory; using Content.Shared.Medical.SuitSensor; using Robust.Shared.Analyzers; using Robust.Shared.GameObjects; using Robust.Shared.Serialization.Manager.Attributes; namespace Content.Server.Medical.SuitSensors { /// /// Tracking device, embedded in almost all uniforms and jumpsuits. /// If enabled, will report to crew monitoring console owners position and status. /// [RegisterComponent] [Friend(typeof(SuitSensorSystem))] [ComponentProtoName("SuitSensor")] public sealed class SuitSensorComponent : Component { /// /// Choose a random sensor mode when item is spawned. /// [DataField("randomMode")] public bool RandomMode = true; /// /// If true user can't change suit sensor mode /// [DataField("controlsLocked")] public bool ControlsLocked = false; /// /// Current sensor mode. Can be switched by user verbs. /// [DataField("mode")] public SuitSensorMode Mode = SuitSensorMode.SensorOff; /// /// Activate sensor if user wear it in this slot. /// [DataField("activationSlot")] public string ActivationSlot = "jumpsuit"; /// /// How often does sensor update its owners status (in seconds). /// [DataField("updateRate")] public float UpdateRate = 2f; /// /// Current user that wears suit sensor. Null if nobody wearing it. /// public EntityUid? User = null; /// /// Last time when sensor updated owners status /// public TimeSpan LastUpdate = TimeSpan.Zero; } }