using Lidgren.Network; using Robust.Shared.Network; using Robust.Shared.Serialization; namespace Content.Shared.Players; /// /// Sent server -> client to inform the client of their role bans. /// public sealed class MsgRoleBans : NetMessage { public override MsgGroups MsgGroup => MsgGroups.EntityEvent; public List JobBans = new(); public List AntagBans = new(); public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer) { var jobCount = buffer.ReadVariableInt32(); JobBans.EnsureCapacity(jobCount); for (var i = 0; i < jobCount; i++) { JobBans.Add(buffer.ReadString()); } var antagCount = buffer.ReadVariableInt32(); AntagBans.EnsureCapacity(antagCount); for (var i = 0; i < antagCount; i++) { AntagBans.Add(buffer.ReadString()); } } public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer) { buffer.WriteVariableInt32(JobBans.Count); foreach (var ban in JobBans) { buffer.Write(ban); } buffer.WriteVariableInt32(AntagBans.Count); foreach (var ban in AntagBans) { buffer.Write(ban); } } }