using Content.Server.AbstractAnalyzer; using Content.Server.Botany.Systems; using Robust.Shared.Audio; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Server.Botany.Components; /// [RegisterComponent, AutoGenerateComponentPause] [Access(typeof(PlantAnalyzerSystem))] 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? /// [ViewVariables(VVAccess.ReadOnly)] 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"; }