public override void WriteDataXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; if (EditorID != null) { ele.TryPathTo("EditorID", true, out subEle); EditorID.WriteXML(subEle, master); } if (Data != null) { ele.TryPathTo("Data", true, out subEle); Data.WriteXML(subEle, master); } if (Location1 != null) { ele.TryPathTo("Location1", true, out subEle); Location1.WriteXML(subEle, master); } if (Location2 != null) { ele.TryPathTo("Location2", true, out subEle); Location2.WriteXML(subEle, master); } if (Schedule != null) { ele.TryPathTo("Schedule", true, out subEle); Schedule.WriteXML(subEle, master); } if (Target1 != null) { ele.TryPathTo("Target1", true, out subEle); Target1.WriteXML(subEle, master); } if (Conditions != null) { ele.TryPathTo("Conditions", true, out subEle); List <string> xmlNames = new List <string> { "Condition" }; int i = 0; foreach (var entry in Conditions) { i = i % xmlNames.Count(); XElement newEle = new XElement(xmlNames[i]); entry.WriteXML(newEle, master); subEle.Add(newEle); i++; } } if (IdleFlags != null) { ele.TryPathTo("Idle/Flags", true, out subEle); IdleFlags.WriteXML(subEle, master); } if (IdleCount != null) { ele.TryPathTo("Idle/Count", true, out subEle); IdleCount.WriteXML(subEle, master); } if (IdleTimerSetting != null) { ele.TryPathTo("Idle/TimerSetting", true, out subEle); IdleTimerSetting.WriteXML(subEle, master); } if (IdleAnimations != null) { ele.TryPathTo("Idle/Animations", true, out subEle); IdleAnimations.WriteXML(subEle, master); } if (Unused != null) { ele.TryPathTo("Unused", true, out subEle); Unused.WriteXML(subEle, master); } if (CombatStyle != null) { ele.TryPathTo("CombatStyle", true, out subEle); CombatStyle.WriteXML(subEle, master); } if (EatMarker != null) { ele.TryPathTo("EatMarker", true, out subEle); EatMarker.WriteXML(subEle, master); } if (EscortDistance != null) { ele.TryPathTo("EscortDistance", true, out subEle); EscortDistance.WriteXML(subEle, master); } if (FollowDistance_StartLocation_TriggerRadius != null) { ele.TryPathTo("FollowDistance_StartLocation_TriggerRadius", true, out subEle); FollowDistance_StartLocation_TriggerRadius.WriteXML(subEle, master); } if (PatrolIsRepeatable != null) { ele.TryPathTo("PatrolIsRepeatable", true, out subEle); PatrolIsRepeatable.WriteXML(subEle, master); } if (UseWeaponData != null) { ele.TryPathTo("UseWeaponData", true, out subEle); UseWeaponData.WriteXML(subEle, master); } if (Target2 != null) { ele.TryPathTo("Target2", true, out subEle); Target2.WriteXML(subEle, master); } if (UseItemMarker != null) { ele.TryPathTo("UseItemMarker", true, out subEle); UseItemMarker.WriteXML(subEle, master); } if (AmbushMarker != null) { ele.TryPathTo("AmbushMarker", true, out subEle); AmbushMarker.WriteXML(subEle, master); } if (DialogData != null) { ele.TryPathTo("DialogData", true, out subEle); DialogData.WriteXML(subEle, master); } if (DummyIgnore != null) { ele.TryPathTo("DummyIgnore", true, out subEle); DummyIgnore.WriteXML(subEle, master); } if (OnBegin != null) { ele.TryPathTo("OnBegin", true, out subEle); OnBegin.WriteXML(subEle, master); } if (OnEnd != null) { ele.TryPathTo("OnEnd", true, out subEle); OnEnd.WriteXML(subEle, master); } if (OnChange != null) { ele.TryPathTo("OnChange", true, out subEle); OnChange.WriteXML(subEle, master); } }