using System.Numerics; using Robust.Shared.GameStates; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Shared.Nutrition.AnimalHusbandry; /// /// This is used for marking entities as infants. /// Infants have half the size, visually, and cannot breed. /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] public sealed partial class InfantComponent : Component { /// /// How long the entity remains an infant. /// [DataField("infantDuration")] public TimeSpan InfantDuration = TimeSpan.FromMinutes(3); /// /// The base scale of the entity /// [DataField("defaultScale")] public Vector2 DefaultScale = Vector2.One; /// /// The size difference of the entity while it's an infant. /// [DataField("visualScale")] public Vector2 VisualScale = new(.5f, .5f); /// /// When the entity will stop being an infant. /// [DataField("infantEndTime", customTypeSerializer: typeof(TimeOffsetSerializer))] [AutoPausedField] public TimeSpan InfantEndTime; }