private void PatchModuleResourceXML()
{
string ModuleDLResourcePath = GetModuleFolder() + "\\moduledownloaderresources.xml";
Program.LogEvent(string.Format("Patching '{0}'", "moduledownloaderresources.xml"));
// Load the XML file.
XDocument ModuleDLResource = XDocument.Load(ModuleDLResourcePath);
// Find each resource and adjust values.
List<XElement> elements = ModuleDLResource.Root.Elements().ToList();
foreach (ADLResource resource in ADLResources)
{
// Find element.
XElement element = null;
foreach (XElement e in elements)
{
if ((string)e.Attribute("name") == resource.name)
{
element = e;
break;
}
}
// TODO: Add an element if it doesn't exist.
if (element == null)
{
Program.LogEvent(string.Format("WARNING: Could not find resource: {0}", resource.name));
continue;
}
// Adjust data.
element.SetAttributeValue("hash", resource.hash);
element.SetAttributeValue("downloadHash", resource.downloadHash);
element.SetAttributeValue("dlsize", resource.dlsize);
element.SetAttributeValue("size", resource.size);
element.SetAttributeValue("critical", resource.critical);
element.SetAttributeValue("exclude", resource.exclude);
element.SetAttributeValue("urlOverride", resource.urlOverride);
}
ModuleDLResource.Save(ModuleDLResourcePath);
}