AnalysisConsoleComponent.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using Content.Shared.DeviceLinking;
  2. using Robust.Shared.Audio;
  3. using Robust.Shared.Prototypes;
  4. using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
  5. namespace Content.Server.Xenoarchaeology.Equipment.Components;
  6. /// <summary>
  7. /// The console that is used for artifact analysis
  8. /// </summary>
  9. [RegisterComponent]
  10. public sealed partial class AnalysisConsoleComponent : Component
  11. {
  12. /// <summary>
  13. /// The analyzer entity the console is linked.
  14. /// Can be null if not linked.
  15. /// </summary>
  16. [ViewVariables(VVAccess.ReadWrite)]
  17. public EntityUid? AnalyzerEntity;
  18. /// <summary>
  19. /// The machine linking port for the analyzer
  20. /// </summary>
  21. [DataField("linkingPort", customTypeSerializer: typeof(PrototypeIdSerializer<SourcePortPrototype>))]
  22. public string LinkingPort = "ArtifactAnalyzerSender";
  23. /// <summary>
  24. /// The sound played when an artifact has points extracted.
  25. /// </summary>
  26. [DataField("extractSound")]
  27. public SoundSpecifier ExtractSound = new SoundPathSpecifier("/Audio/Effects/radpulse11.ogg");
  28. /// <summary>
  29. /// The entity spawned by a report.
  30. /// </summary>
  31. [DataField("reportEntityId", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
  32. public string ReportEntityId = "Paper";
  33. }