SharedCommunicationsConsoleComponent.cs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. using Robust.Shared.Serialization;
  2. namespace Content.Shared.Communications
  3. {
  4. [Virtual]
  5. public partial class SharedCommunicationsConsoleComponent : Component
  6. {
  7. }
  8. [Serializable, NetSerializable]
  9. public sealed class CommunicationsConsoleInterfaceState : BoundUserInterfaceState
  10. {
  11. public readonly bool CanAnnounce;
  12. public readonly bool CanBroadcast = true;
  13. public readonly bool CanCall;
  14. public readonly TimeSpan? ExpectedCountdownEnd;
  15. public readonly bool CountdownStarted;
  16. public List<string>? AlertLevels;
  17. public string CurrentAlert;
  18. public float CurrentAlertDelay;
  19. public CommunicationsConsoleInterfaceState(bool canAnnounce, bool canCall, List<string>? alertLevels, string currentAlert, float currentAlertDelay, TimeSpan? expectedCountdownEnd = null)
  20. {
  21. CanAnnounce = canAnnounce;
  22. CanCall = canCall;
  23. ExpectedCountdownEnd = expectedCountdownEnd;
  24. CountdownStarted = expectedCountdownEnd != null;
  25. AlertLevels = alertLevels;
  26. CurrentAlert = currentAlert;
  27. CurrentAlertDelay = currentAlertDelay;
  28. }
  29. }
  30. [Serializable, NetSerializable]
  31. public sealed class CommunicationsConsoleSelectAlertLevelMessage : BoundUserInterfaceMessage
  32. {
  33. public readonly string Level;
  34. public CommunicationsConsoleSelectAlertLevelMessage(string level)
  35. {
  36. Level = level;
  37. }
  38. }
  39. [Serializable, NetSerializable]
  40. public sealed class CommunicationsConsoleAnnounceMessage : BoundUserInterfaceMessage
  41. {
  42. public readonly string Message;
  43. public CommunicationsConsoleAnnounceMessage(string message)
  44. {
  45. Message = message;
  46. }
  47. }
  48. [Serializable, NetSerializable]
  49. public sealed class CommunicationsConsoleBroadcastMessage : BoundUserInterfaceMessage
  50. {
  51. public readonly string Message;
  52. public CommunicationsConsoleBroadcastMessage(string message)
  53. {
  54. Message = message;
  55. }
  56. }
  57. [Serializable, NetSerializable]
  58. public sealed class CommunicationsConsoleCallEmergencyShuttleMessage : BoundUserInterfaceMessage
  59. {
  60. }
  61. [Serializable, NetSerializable]
  62. public sealed class CommunicationsConsoleRecallEmergencyShuttleMessage : BoundUserInterfaceMessage
  63. {
  64. }
  65. [Serializable, NetSerializable]
  66. public enum CommunicationsConsoleUiKey
  67. {
  68. Key
  69. }
  70. }