using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Shared.Power.Components; /// /// Self-recharging battery. /// To be used in combination with . /// [RegisterComponent, AutoGenerateComponentPause] public sealed partial class BatterySelfRechargerComponent : Component { /// /// Is the component currently enabled? /// [DataField] public bool AutoRecharge = true; /// /// At what rate does the entity automatically recharge? /// [DataField] public float AutoRechargeRate; /// /// How long should the entity stop automatically recharging if charge is used? /// [DataField] public TimeSpan AutoRechargePauseTime = TimeSpan.FromSeconds(0); /// /// Do not auto recharge if this timestamp has yet to happen, set for the auto recharge pause system. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] [AutoPausedField] public TimeSpan NextAutoRecharge = TimeSpan.FromSeconds(0); }