private void RetrieveRemotePlayersFromServer()
{
int remotePlayers = _incomingMessage.ReadVariableInt32();
for (int i = 0; i < remotePlayers; i++)
{
var uniqueId = _incomingMessage.ReadString();
var displayName = _incomingMessage.ReadString();
var isHost = _incomingMessage.ReadBoolean();
var isOnServer = _incomingMessage.ReadBoolean();
var player = new LidgrenIdentifiedPlayer(uniqueId)
{
DisplayName = displayName,
};
if (isHost)
{
player.SetIsHost();
}
_remotePlayers.Add(player);
_allPlayers.Add(player);
if (isOnServer)
{
_remotePlayerIpEndPoints.Add(player, LidgrenSessionManager.Client.ServerConnection.RemoteEndpoint);
}
else
{
_remotePlayerIpEndPoints.Add(player, _incomingMessage.ReadIPEndpoint());
}
OnPlayerJoined(player);
}
}