NewsWriterBuiMessages.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using Content.Shared.MassMedia.Systems;
  2. using Robust.Shared.Serialization;
  3. namespace Content.Shared.MassMedia.Components;
  4. [Serializable, NetSerializable]
  5. public enum NewsWriterUiKey : byte
  6. {
  7. Key
  8. }
  9. [Serializable, NetSerializable]
  10. public sealed class NewsWriterBoundUserInterfaceState : BoundUserInterfaceState
  11. {
  12. public readonly NewsArticle[] Articles;
  13. public readonly bool PublishEnabled;
  14. public readonly TimeSpan NextPublish;
  15. public readonly string DraftTitle;
  16. public readonly string DraftContent;
  17. public NewsWriterBoundUserInterfaceState(NewsArticle[] articles, bool publishEnabled, TimeSpan nextPublish, string draftTitle, string draftContent)
  18. {
  19. Articles = articles;
  20. PublishEnabled = publishEnabled;
  21. NextPublish = nextPublish;
  22. DraftTitle = draftTitle;
  23. DraftContent = draftContent;
  24. }
  25. }
  26. [Serializable, NetSerializable]
  27. public sealed class NewsWriterPublishMessage : BoundUserInterfaceMessage
  28. {
  29. public readonly string Title;
  30. public readonly string Content;
  31. public NewsWriterPublishMessage(string title, string content)
  32. {
  33. Title = title;
  34. Content = content;
  35. }
  36. }
  37. [Serializable, NetSerializable]
  38. public sealed class NewsWriterDeleteMessage : BoundUserInterfaceMessage
  39. {
  40. public readonly int ArticleNum;
  41. public NewsWriterDeleteMessage(int num)
  42. {
  43. ArticleNum = num;
  44. }
  45. }
  46. [Serializable, NetSerializable]
  47. public sealed class NewsWriterArticlesRequestMessage : BoundUserInterfaceMessage
  48. {
  49. }
  50. [Serializable, NetSerializable]
  51. public sealed class NewsWriterSaveDraftMessage : BoundUserInterfaceMessage
  52. {
  53. public readonly string DraftTitle;
  54. public readonly string DraftContent;
  55. public NewsWriterSaveDraftMessage(string draftTitle, string draftContent)
  56. {
  57. DraftTitle = draftTitle;
  58. DraftContent = draftContent;
  59. }
  60. }
  61. [Serializable, NetSerializable]
  62. public sealed class NewsWriterRequestDraftMessage : BoundUserInterfaceMessage
  63. {
  64. }