make GetSpawnOccupants more robust against invalid list queries

fixes #5588
This commit is contained in:
Matthias Mailänder
2014-07-02 12:29:19 +02:00
parent b8756d9de7
commit 5a891daa59

View File

@@ -150,14 +150,15 @@ namespace OpenRA.Mods.RA.Widgets.Logic
{
var spawns = preview.SpawnPoints;
return lobbyInfo.Clients
.Where(c => c.SpawnPoint != 0)
.Where(c => (c.SpawnPoint - 1 >= 0) && (c.SpawnPoint - 1 < spawns.Count))
.ToDictionary(c => spawns[c.SpawnPoint - 1], c => new SpawnOccupant(c));
}
public static Dictionary<CPos, SpawnOccupant> GetSpawnOccupants(IEnumerable<GameInformation.Player> players, MapPreview preview)
{
var spawns = preview.SpawnPoints;
return players
.Where(c => c.SpawnPoint != 0)
.Where(c => (c.SpawnPoint - 1 >= 0) && (c.SpawnPoint - 1 < spawns.Count))
.ToDictionary(c => spawns[c.SpawnPoint - 1], c => new SpawnOccupant(c));
}