using Content.Shared.FixedPoint; using Robust.Shared.GameStates; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Shared.Bed.Sleep; /// /// Added to entities when they go to sleep. /// [NetworkedComponent, RegisterComponent, AutoGenerateComponentPause(Dirty = true)] public sealed partial class SleepingComponent : Component { /// /// How much damage of any type it takes to wake this entity. /// [DataField("wakeThreshold")] public FixedPoint2 WakeThreshold = FixedPoint2.New(2); /// /// Cooldown time between users hand interaction. /// [DataField("cooldown")] [ViewVariables(VVAccess.ReadWrite)] public TimeSpan Cooldown = TimeSpan.FromSeconds(1f); [DataField("cooldownEnd", customTypeSerializer:typeof(TimeOffsetSerializer))] [AutoPausedField] public TimeSpan CoolDownEnd; [DataField("wakeAction")] public EntityUid? WakeAction; }