/// <summary> /// Sends a new playerlist to all clients. /// </summary> private void BroadcastPlayerListUpdate() { var playerList = new List <IPEndPoint>(); playerList.AddRange(server.Connections.Select(connection => connection.RemoteEndPoint)); var playerListPacket = new PlayerListPacket(playerList); BroadcastPacket(playerListPacket); }
/// <summary> /// Converts a message into a PlayerListPacket. /// </summary> /// <param name="message"></param> /// <returns></returns> private static Packet ToPlayerListPacket(NetIncomingMessage message) { int listSize = message.ReadInt32(); var playerList = new List <IPEndPoint>(); for (int i = 0; i < listSize; i++) { playerList.Add(message.ReadIPEndPoint()); } var playerListPacket = new PlayerListPacket(playerList) { Sender = message.SenderEndPoint }; return(playerListPacket); }