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

@ -689,23 +689,50 @@ namespace IW4MAdmin
else else
{ {
Gametype = dict["gametype"]; if (dict.ContainsKey("gametype"))
Hostname = dict["hostname"]; {
Gametype = dict["gametype"];
}
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;
Gametype = dict["g_gametype"]; if (dict.ContainsKey("g_gametype"))
Hostname = dict["sv_hostname"]; {
MaxClients = int.Parse(dict["sv_maxclients"]); Gametype = dict["g_gametype"];
}
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)