SharedNewsSystem.cs 777 B

12345678910111213141516171819202122232425262728293031323334
  1. using Robust.Shared.Serialization;
  2. namespace Content.Shared.MassMedia.Systems;
  3. public abstract class SharedNewsSystem : EntitySystem
  4. {
  5. public const int MaxTitleLength = 25;
  6. public const int MaxContentLength = 2048;
  7. }
  8. [Serializable, NetSerializable]
  9. public struct NewsArticle
  10. {
  11. [ViewVariables(VVAccess.ReadWrite)]
  12. public string Title;
  13. [ViewVariables(VVAccess.ReadWrite)]
  14. public string Content;
  15. [ViewVariables(VVAccess.ReadWrite)]
  16. public string? Author;
  17. [ViewVariables]
  18. public ICollection<(NetEntity, uint)>? AuthorStationRecordKeyIds;
  19. [ViewVariables]
  20. public TimeSpan ShareTime;
  21. }
  22. [ByRefEvent]
  23. public record struct NewsArticlePublishedEvent(NewsArticle Article);
  24. [ByRefEvent]
  25. public record struct NewsArticleDeletedEvent;