public static void LogPlayerList(ref MyEventGetPlayerListResponse msg) { for (int i = 0; i < msg.PlayerList.Count; i++) { var p = msg.PlayerList[i]; Log(String.Format("PlayerList[0] {0}, UserId: {3}, PlayerId: {2}, Faction: {1}", p.DisplayName, MyFactionConstants.GetFactionProperties(p.Faction).Name, p.PlayerId, p.UserId)); } }
private void SendPlayerList(NetConnection connection) { var response = new MyEventGetPlayerListResponse(); response.PlayerList = new List<MyPlayerInfo>(MyMultiplayerPeers.Static.Players.Select(s => RemotePlayerToInfo(s))); var me = new MyPlayerInfo() { DisplayName = MyClientServer.LoggedPlayer.GetDisplayName().ToString(), Faction = MySession.Static.Player.Faction, PlayerId = MyEntityIdentifier.CurrentPlayerId, UserId = MyClientServer.LoggedPlayer.GetUserId(), }; response.PlayerList.Add(me); LogPlayerList(ref response); Peers.NetworkClient.Send(ref response, connection, NetDeliveryMethod.ReliableOrdered, 0); }