gracefully handle when infoString does not include all expected data

This commit is contained in:
RaidMax 2022-07-09 10:52:27 -05:00
parent 61df873bb1
commit 63e1774cb6

View File

@ -688,24 +688,51 @@ namespace IW4MAdmin
} }
else else
{
if (dict.ContainsKey("gametype"))
{ {
Gametype = dict["gametype"]; Gametype = dict["gametype"];
Hostname = dict["hostname"]; }
string mapname = dict["mapname"] ?? CurrentMap.Name; if (dict.ContainsKey("hostname"))
UpdateMap(mapname); {
Hostname = dict["hostname"];
}
var newMapName = dict.ContainsKey("mapname")
? dict["mapname"] ?? CurrentMap.Name
: CurrentMap.Name;
UpdateMap(newMapName);
} }
} }
else else
{ {
var dict = (Dictionary<string, string>) E.Extra; var dict = (Dictionary<string, string>)E.Extra;
if (dict.ContainsKey("g_gametype"))
{
Gametype = dict["g_gametype"]; Gametype = dict["g_gametype"];
Hostname = dict["sv_hostname"]; }
MaxClients = int.Parse(dict["sv_maxclients"]);
string mapname = dict["mapname"]; if (dict.ContainsKey("sv_hostname"))
UpdateMap(mapname); {
Hostname = dict["sv_hostname"];
}
if (dict.ContainsKey("sv_maxclients"))
{
MaxClients = int.Parse(dict["sv_maxclients"]);
}
else if (dict.ContainsKey("com_maxclients"))
{
MaxClients = int.Parse(dict["com_maxclients"]);
}
if (dict.ContainsKey("mapname"))
{
UpdateMap(dict["mapname"]);
}
} }
if (E.GameTime.HasValue) if (E.GameTime.HasValue)