using Content.Shared.AbstractAnalyzer; using Content.Shared.Paper; using Robust.Shared.Audio; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Shared.Botany.Components; /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] public sealed partial class PlantAnalyzerComponent : AbstractAnalyzerComponent { /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] [AutoPausedField] public override TimeSpan NextUpdate { get; set; } = TimeSpan.Zero; /// /// When will the analyzer be ready to print again? /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] [AutoPausedField] public TimeSpan PrintReadyAt = TimeSpan.Zero; /// /// How often can the analyzer print? /// [DataField] public TimeSpan PrintCooldown = TimeSpan.FromSeconds(5); /// /// The sound that's played when the analyzer prints off a report. /// [DataField] public SoundSpecifier SoundPrint = new SoundPathSpecifier("/Audio/Machines/short_print_and_rip.ogg"); /// /// What the machine will print. /// [DataField] public EntProtoId MachineOutput = "PlantAnalyzerReportPaper"; }