MsgJobWhitelist.cs 864 B

123456789101112131415161718192021222324252627282930313233
  1. using Lidgren.Network;
  2. using Robust.Shared.Network;
  3. using Robust.Shared.Serialization;
  4. namespace Content.Shared.Players.JobWhitelist;
  5. public sealed class MsgJobWhitelist : NetMessage
  6. {
  7. public override MsgGroups MsgGroup => MsgGroups.EntityEvent;
  8. public HashSet<string> Whitelist = new();
  9. public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
  10. {
  11. var count = buffer.ReadVariableInt32();
  12. Whitelist.EnsureCapacity(count);
  13. for (var i = 0; i < count; i++)
  14. {
  15. Whitelist.Add(buffer.ReadString());
  16. }
  17. }
  18. public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
  19. {
  20. buffer.WriteVariableInt32(Whitelist.Count);
  21. foreach (var ban in Whitelist)
  22. {
  23. buffer.Write(ban);
  24. }
  25. }
  26. }