public void RemovePlayer(GameSession sender, IFieldObject <Player> player) { lock (sessions) { sessions.Remove(sender); } State.RemovePlayer(player.ObjectId); // Remove player Broadcast(session => { session.Send(FieldPacket.RemovePlayer(player)); }); ((FieldObject <Player>)player).ObjectId = -1; // Reset object id }