AdminFaxEui.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using Content.Shared.Eui;
  2. using Robust.Shared.Serialization;
  3. namespace Content.Shared.Fax;
  4. [Serializable, NetSerializable]
  5. public sealed class AdminFaxEuiState : EuiStateBase
  6. {
  7. public List<AdminFaxEntry> Entries { get; }
  8. public AdminFaxEuiState(List<AdminFaxEntry> entries)
  9. {
  10. Entries = entries;
  11. }
  12. }
  13. [Serializable, NetSerializable]
  14. public sealed class AdminFaxEntry
  15. {
  16. public NetEntity Uid { get; }
  17. public string Name { get; }
  18. public string Address { get; }
  19. public AdminFaxEntry(NetEntity uid, string name, string address)
  20. {
  21. Uid = uid;
  22. Name = name;
  23. Address = address;
  24. }
  25. }
  26. public static class AdminFaxEuiMsg
  27. {
  28. [Serializable, NetSerializable]
  29. public sealed class Close : EuiMessageBase
  30. {
  31. }
  32. [Serializable, NetSerializable]
  33. public sealed class Follow : EuiMessageBase
  34. {
  35. public NetEntity TargetFax { get; }
  36. public Follow(NetEntity targetFax)
  37. {
  38. TargetFax = targetFax;
  39. }
  40. }
  41. [Serializable, NetSerializable]
  42. public sealed class Send : EuiMessageBase
  43. {
  44. public NetEntity Target { get; }
  45. public string Title { get; }
  46. public string From { get; }
  47. public string Content { get; }
  48. public string StampState { get; }
  49. public Color StampColor { get; }
  50. public bool Locked { get; }
  51. public Send(NetEntity target, string title, string from, string content, string stamp, Color stampColor, bool locked)
  52. {
  53. Target = target;
  54. Title = title;
  55. From = from;
  56. Content = content;
  57. StampState = stamp;
  58. StampColor = stampColor;
  59. Locked = locked;
  60. }
  61. }
  62. }