using Content.Shared.StatusIcon; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Shared.SSDIndicator; /// /// Shows status icon when player in SSD /// [RegisterComponent, NetworkedComponent] [AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class SSDIndicatorComponent : Component { [ViewVariables(VVAccess.ReadWrite)] [AutoNetworkedField] public bool IsSSD = true; [ViewVariables(VVAccess.ReadWrite)] [DataField] public ProtoId Icon = "SSDIcon"; /// /// When the entity should fall asleep /// [DataField, AutoPausedField, Access(typeof(SSDIndicatorSystem))] public TimeSpan FallAsleepTime = TimeSpan.Zero; /// /// Required to don't remove forced sleep from other sources /// [ViewVariables(VVAccess.ReadWrite)] [AutoNetworkedField] public bool ForcedSleepAdded = false; }