public override void ReadXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; if (ele.TryPathTo("Target", false, out subEle)) { if (Target == null) { Target = new QuestTargetData(); } Target.ReadXML(subEle, master); } if (ele.TryPathTo("Conditions", false, out subEle)) { if (Conditions == null) { Conditions = new List <Condition>(); } foreach (XElement e in subEle.Elements()) { Condition temp = new Condition(); temp.ReadXML(e, master); Conditions.Add(temp); } } }
public override void ReadBinary(ESPReader reader) { List <string> readTags = new List <string>(); while (reader.BaseStream.Position < reader.BaseStream.Length) { string subTag = reader.PeekTag(); switch (subTag) { case "QSTA": if (readTags.Contains("QSTA")) { return; } if (Target == null) { Target = new QuestTargetData(); } Target.ReadBinary(reader); break; case "CTDA": if (Conditions == null) { Conditions = new List <Condition>(); } Condition tempCTDA = new Condition(); tempCTDA.ReadBinary(reader); Conditions.Add(tempCTDA); break; default: return; } readTags.Add(subTag); } }
public QuestTarget(QuestTargetData Target, List <Condition> Conditions) { this.Target = Target; this.Conditions = Conditions; }