adds map filtering by PlayerCount

This commit is contained in:
Visa Varjus
2015-09-17 19:56:19 +03:00
parent ff10fe3e07
commit b9f7fb4ebc

View File

@@ -200,11 +200,16 @@ namespace OpenRA.Mods.Common.Widgets.Logic
void EnumerateMaps(MapClassification tab, ScrollItemWidget template) void EnumerateMaps(MapClassification tab, ScrollItemWidget template)
{ {
int playerCountFilter;
if (!int.TryParse(mapFilter, out playerCountFilter))
playerCountFilter = -1;
var maps = tabMaps[tab] var maps = tabMaps[tab]
.Where(m => gameMode == null || m.Type == gameMode) .Where(m => gameMode == null || m.Type == gameMode)
.Where(m => mapFilter == null || .Where(m => mapFilter == null ||
m.Title.IndexOf(mapFilter, StringComparison.OrdinalIgnoreCase) >= 0 || m.Title.IndexOf(mapFilter, StringComparison.OrdinalIgnoreCase) >= 0 ||
m.Author.IndexOf(mapFilter, StringComparison.OrdinalIgnoreCase) >= 0) m.Author.IndexOf(mapFilter, StringComparison.OrdinalIgnoreCase) >= 0 ||
m.PlayerCount == playerCountFilter)
.OrderBy(m => m.PlayerCount) .OrderBy(m => m.PlayerCount)
.ThenBy(m => m.Title); .ThenBy(m => m.Title);