public override void ReadData(ESPReader reader, long dataEnd) { while (reader.BaseStream.Position < dataEnd) { string subTag = reader.PeekTag(); switch (subTag) { case "EDID": if (EditorID == null) { EditorID = new SimpleSubrecord <String>(); } EditorID.ReadBinary(reader); break; case "OBND": if (ObjectBounds == null) { ObjectBounds = new ObjectBounds(); } ObjectBounds.ReadBinary(reader); break; case "LVLD": if (ChanceNone == null) { ChanceNone = new SimpleSubrecord <Byte>(); } ChanceNone.ReadBinary(reader); break; case "LVLF": if (LeveledObjectFlags == null) { LeveledObjectFlags = new SimpleSubrecord <LeveledListFlags>(); } LeveledObjectFlags.ReadBinary(reader); break; case "LVLO": if (LeveledList == null) { LeveledList = new List <LeveledListEntry>(); } LeveledListEntry tempLVLO = new LeveledListEntry(); tempLVLO.ReadBinary(reader); LeveledList.Add(tempLVLO); break; case "MODL": if (Model == null) { Model = new Model(); } Model.ReadBinary(reader); break; default: throw new Exception(); } } }
public override void ReadDataXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; if (ele.TryPathTo("EditorID", false, out subEle)) { if (EditorID == null) { EditorID = new SimpleSubrecord <String>(); } EditorID.ReadXML(subEle, master); } if (ele.TryPathTo("ObjectBounds", false, out subEle)) { if (ObjectBounds == null) { ObjectBounds = new ObjectBounds(); } ObjectBounds.ReadXML(subEle, master); } if (ele.TryPathTo("ChanceNone", false, out subEle)) { if (ChanceNone == null) { ChanceNone = new SimpleSubrecord <Byte>(); } ChanceNone.ReadXML(subEle, master); } if (ele.TryPathTo("LeveledObjectFlags", false, out subEle)) { if (LeveledObjectFlags == null) { LeveledObjectFlags = new SimpleSubrecord <LeveledListFlags>(); } LeveledObjectFlags.ReadXML(subEle, master); } if (ele.TryPathTo("LeveledList", false, out subEle)) { if (LeveledList == null) { LeveledList = new List <LeveledListEntry>(); } foreach (XElement e in subEle.Elements()) { LeveledListEntry tempLVLO = new LeveledListEntry(); tempLVLO.ReadXML(e, master); LeveledList.Add(tempLVLO); } } if (ele.TryPathTo("Model", false, out subEle)) { if (Model == null) { Model = new Model(); } Model.ReadXML(subEle, master); } }