CommunicationsConsoleComponent.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. using Content.Server.UserInterface;
  2. using Content.Shared.Communications;
  3. using Robust.Shared.Audio;
  4. namespace Content.Server.Communications
  5. {
  6. [RegisterComponent]
  7. public sealed partial class CommunicationsConsoleComponent : SharedCommunicationsConsoleComponent
  8. {
  9. public float UIUpdateAccumulator = 0f;
  10. /// <summary>
  11. /// Remaining cooldown between making announcements.
  12. /// </summary>
  13. [ViewVariables]
  14. [DataField]
  15. public float AnnouncementCooldownRemaining;
  16. [ViewVariables]
  17. [DataField]
  18. public float BroadcastCooldownRemaining;
  19. /// <summary>
  20. /// Fluent ID for the announcement title
  21. /// If a Fluent ID isn't found, just uses the raw string
  22. /// </summary>
  23. [ViewVariables(VVAccess.ReadWrite)]
  24. [DataField(required: true)]
  25. public LocId Title = "comms-console-announcement-title-station";
  26. /// <summary>
  27. /// Announcement color
  28. /// </summary>
  29. [ViewVariables]
  30. [DataField]
  31. public Color Color = Color.Gold;
  32. /// <summary>
  33. /// Time in seconds between announcement delays on a per-console basis
  34. /// </summary>
  35. [ViewVariables]
  36. [DataField]
  37. public int Delay = 90;
  38. /// <summary>
  39. /// Time in seconds of announcement cooldown when a new console is created on a per-console basis
  40. /// </summary>
  41. [ViewVariables]
  42. [DataField]
  43. public int InitialDelay = 30;
  44. /// <summary>
  45. /// Can call or recall the shuttle
  46. /// </summary>
  47. [ViewVariables]
  48. [DataField]
  49. public bool CanShuttle = true;
  50. /// <summary>
  51. /// Announce on all grids (for nukies)
  52. /// </summary>
  53. [DataField]
  54. public bool Global = false;
  55. /// <summary>
  56. /// Announce sound file path
  57. /// </summary>
  58. [DataField]
  59. public SoundSpecifier Sound = new SoundPathSpecifier("/Audio/Announcements/announce.ogg");
  60. }
  61. }