string GetSortModeString(ServerSortMode mode) { switch (mode) { case ServerSortMode.None: return("nothing"); case ServerSortMode.PlayerCount: return("player count"); case ServerSortMode.ServerName: return("server name"); case ServerSortMode.Status: return("server status"); case ServerSortMode.Version: return("server version"); } return("nothing"); }
void SortServers(ServerSortMode mode, bool changeReversal) { switch (mode) { case ServerSortMode.ServerName: serverList = serverList.OrderBy(x => x.hostData.gameName).ToArray(); break; case ServerSortMode.Status: serverList = serverList.OrderBy(x => x.status).ToArray(); break; case ServerSortMode.PlayerCount: serverList = serverList.OrderByDescending(x => x.hostData.connectedPlayers).ToArray(); break; case ServerSortMode.Version: serverList = serverList.OrderByDescending(x => x.versionFloat).ToArray(); break; } if (changeReversal) { if (currentSortMode == mode) //Reverse the list { isSortingReversed = !isSortingReversed; } else { isSortingReversed = false; } } if (isSortingReversed) { serverList = serverList.Reverse().ToArray(); } currentSortMode = mode; }