using Robust.Shared.Containers; using Robust.Shared.GameStates; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Shared.Materials; /// /// Tracker component for the process of reclaiming entities /// /// [RegisterComponent, NetworkedComponent, Access(typeof(SharedMaterialReclaimerSystem)), AutoGenerateComponentPause] public sealed partial class ActiveMaterialReclaimerComponent : Component { /// /// Container used to store the item currently being reclaimed /// [ViewVariables(VVAccess.ReadWrite)] public Container ReclaimingContainer = default!; /// /// When the reclaiming process ends. /// [DataField("endTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] [AutoPausedField] public TimeSpan EndTime; /// /// The length of the reclaiming process. /// Used for calculations. /// [DataField("duration"), ViewVariables(VVAccess.ReadWrite)] public TimeSpan Duration; }