public override void WriteDataXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; if (FileHeader != null) { ele.TryPathTo("FileHeader", true, out subEle); FileHeader.WriteXML(subEle, master); } if (OffsetData != null) { ele.TryPathTo("OffsetData", true, out subEle); OffsetData.WriteXML(subEle, master); } if (DeletionsData != null) { ele.TryPathTo("DeletionsData", true, out subEle); DeletionsData.WriteXML(subEle, master); } if (Author != null) { ele.TryPathTo("Author", true, out subEle); Author.WriteXML(subEle, master); } if (Description != null) { ele.TryPathTo("Description", true, out subEle); Description.WriteXML(subEle, master); } if (MasterFiles != null) { ele.TryPathTo("MasterFiles", true, out subEle); List <string> xmlNames = new List <string> { "MasterFile" }; int i = 0; foreach (var entry in MasterFiles) { i = i % xmlNames.Count(); XElement newEle = new XElement(xmlNames[i]); entry.WriteXML(newEle, master); subEle.Add(newEle); i++; } } if (OverriddenRecords != null) { ele.TryPathTo("OverriddenRecords", true, out subEle); OverriddenRecords.WriteXML(subEle, master); } if (ScreenshotData != null) { ele.TryPathTo("ScreenshotData", true, out subEle); ScreenshotData.WriteXML(subEle, master); } }