private void Process(ClientPlayerLeave msg) { RemotePlayer player; if (remotePlayers.TryGetValue(msg.id, out player)) { Log.InGame(player.username + " left the game."); player.Destroy(); remotePlayers.Remove(msg.id); } }
public virtual void OnPeerDisconnected(NetPeer peer, DisconnectInfo disconnectInfo) { Client client; if (peers.TryGetValue(peer, out client)) { Log.Debug(client.player.username + " disconnected: " + peer.EndPoint); var res = new ClientPlayerLeave(); res.id = client.id; SendToAll(client.peer, res); client.SetVehicle(null); peers.Remove(peer); Save(); } else { Log.Debug("Disconnect from peer: {0}, {1}", peer.EndPoint, disconnectInfo.Reason); } }