1
0

SharedSignalTimerComponent.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using Robust.Shared.Serialization;
  2. namespace Content.Shared.MachineLinking;
  3. [Serializable, NetSerializable]
  4. public enum SignalTimerUiKey : byte
  5. {
  6. Key
  7. }
  8. /// <summary>
  9. /// Represents a SignalTimerComponent state that can be sent to the client
  10. /// </summary>
  11. [Serializable, NetSerializable]
  12. public sealed class SignalTimerBoundUserInterfaceState : BoundUserInterfaceState
  13. {
  14. public string CurrentText;
  15. public string CurrentDelayMinutes;
  16. public string CurrentDelaySeconds;
  17. public bool ShowText;
  18. public TimeSpan TriggerTime;
  19. public bool TimerStarted;
  20. public bool HasAccess;
  21. public SignalTimerBoundUserInterfaceState(string currentText,
  22. string currentDelayMinutes,
  23. string currentDelaySeconds,
  24. bool showText,
  25. TimeSpan triggerTime,
  26. bool timerStarted,
  27. bool hasAccess)
  28. {
  29. CurrentText = currentText;
  30. CurrentDelayMinutes = currentDelayMinutes;
  31. CurrentDelaySeconds = currentDelaySeconds;
  32. ShowText = showText;
  33. TriggerTime = triggerTime;
  34. TimerStarted = timerStarted;
  35. HasAccess = hasAccess;
  36. }
  37. }
  38. [Serializable, NetSerializable]
  39. public sealed class SignalTimerTextChangedMessage : BoundUserInterfaceMessage
  40. {
  41. public string Text { get; }
  42. public SignalTimerTextChangedMessage(string text)
  43. {
  44. Text = text;
  45. }
  46. }
  47. [Serializable, NetSerializable]
  48. public sealed class SignalTimerDelayChangedMessage : BoundUserInterfaceMessage
  49. {
  50. public TimeSpan Delay { get; }
  51. public SignalTimerDelayChangedMessage(TimeSpan delay)
  52. {
  53. Delay = delay;
  54. }
  55. }
  56. [Serializable, NetSerializable]
  57. public sealed class SignalTimerStartMessage : BoundUserInterfaceMessage
  58. {
  59. }