private static void Loadxml()
{
if (!Utils.FileExists(filePath))
{
UpdateXml();
}
XmlDocument xmlDoc = new XmlDocument();
try
{
xmlDoc.Load(filePath);
}
catch (XmlException e)
{
Log.Error(string.Format("[SERVERTOOLS] Failed loading {0}: {1}", file, e.Message));
return;
}
XmlNode _XmlNode = xmlDoc.DocumentElement;
foreach (XmlNode childNode in _XmlNode.ChildNodes)
{
if (childNode.Name == "immunePlayers")
{
Dict.Clear();
foreach (XmlNode subChild in childNode.ChildNodes)
{
if (subChild.NodeType == XmlNodeType.Comment)
{
continue;
}
if (subChild.NodeType != XmlNodeType.Element)
{
Log.Warning(string.Format("[SERVERTOOLS] Unexpected XML node found in 'immunePlayers' section: {0}", subChild.OuterXml));
continue;
}
XmlElement _line = (XmlElement)subChild;
if (!_line.HasAttribute("SteamId"))
{
Log.Warning(string.Format("[SERVERTOOLS] Ignoring player entry because of missing 'steamid' attribute: {0}", subChild.OuterXml));
continue;
}
if (!_line.HasAttribute("name"))
{
Log.Warning(string.Format("[SERVERTOOLS] Ignoring player entry because of missing 'name' attribute: {0}", subChild.OuterXml));
continue;
}
string _steamid = _line.GetAttribute("SteamId");
if (!Dict.ContainsKey(_steamid))
{
Dict.Add(_steamid, _line.GetAttribute("name"));
}
}
}
}
}