Fix null reference potential if PCGamingWiki returns improper results

This commit is contained in:
Pat Hartl 2023-01-24 18:23:11 -06:00
parent 470228624d
commit 3c70682fb0

View file

@ -86,36 +86,40 @@ namespace LANCommander.Controllers
MultiplayerModes = new List<MultiplayerMode>() MultiplayerModes = new List<MultiplayerMode>()
}; };
var playerCounts = await PCGamingWikiClient.GetMultiplayerPlayerCounts(result.Name); var playerCounts = await PCGamingWikiClient.GetMultiplayerPlayerCounts(result.Name);
foreach (var playerCount in playerCounts) if (playerCounts != null)
{ {
MultiplayerType type; foreach (var playerCount in playerCounts)
switch (playerCount.Key)
{ {
case "Local Play": MultiplayerType type;
type = MultiplayerType.Local;
break;
case "LAN Play": switch (playerCount.Key)
type = MultiplayerType.Lan; {
break; case "Local Play":
type = MultiplayerType.Local;
break;
case "Online Play": case "LAN Play":
type = MultiplayerType.Online; type = MultiplayerType.Lan;
break; break;
default: case "Online Play":
continue; type = MultiplayerType.Online;
break;
default:
continue;
}
viewModel.Game.MultiplayerModes.Add(new MultiplayerMode()
{
Type = type,
MaxPlayers = playerCount.Value,
MinPlayers = 2
});
} }
viewModel.Game.MultiplayerModes.Add(new MultiplayerMode()
{
Type = type,
MaxPlayers = playerCount.Value,
MinPlayers = 2
});
} }
if (result.GameModes != null && result.GameModes.Values != null) if (result.GameModes != null && result.GameModes.Values != null)