| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- using Content.Shared.CartridgeLoader.Cartridges;
- using Content.Shared.Paper;
- using Robust.Shared.Audio;
- using Robust.Shared.Prototypes;
- using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
- namespace Content.Server.CartridgeLoader.Cartridges;
- [RegisterComponent, Access(typeof(LogProbeCartridgeSystem))]
- [AutoGenerateComponentPause]
- public sealed partial class LogProbeCartridgeComponent : Component
- {
- /// <summary>
- /// The name of the scanned entity, sent to clients when they open the UI.
- /// </summary>
- [DataField]
- public string EntityName = string.Empty;
- /// <summary>
- /// The list of pulled access logs
- /// </summary>
- [DataField, ViewVariables]
- public List<PulledAccessLog> PulledAccessLogs = new();
- /// <summary>
- /// The sound to make when we scan something with access
- /// </summary>
- [DataField, ViewVariables(VVAccess.ReadWrite)]
- public SoundSpecifier SoundScan = new SoundPathSpecifier("/Audio/Machines/scan_finish.ogg");
- /// <summary>
- /// Paper to spawn when printing logs.
- /// </summary>
- [DataField]
- public EntProtoId<PaperComponent> PaperPrototype = "PaperAccessLogs";
- [DataField]
- public SoundSpecifier PrintSound = new SoundPathSpecifier("/Audio/Machines/diagnoser_printing.ogg");
- /// <summary>
- /// How long you have to wait before printing logs again.
- /// </summary>
- [DataField]
- public TimeSpan PrintCooldown = TimeSpan.FromSeconds(5);
- /// <summary>
- /// When anyone is allowed to spawn another printout.
- /// </summary>
- [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoPausedField]
- public TimeSpan NextPrintAllowed = TimeSpan.Zero;
- }
|