public Ingestible() { EditorID = new SimpleSubrecord <String>("EDID"); ObjectBounds = new ObjectBounds("OBND"); Name = new SimpleSubrecord <String>("FULL"); EquipmentType = new SimpleSubrecord <EquipmentType>("ETYP"); Weight = new SimpleSubrecord <Single>("DATA"); Data = new IngestibleData("ENIT"); Effects = new List <Effect>(); }
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 "FULL": if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadBinary(reader); break; case "MODL": if (Model == null) { Model = new Model(); } Model.ReadBinary(reader); break; case "ICON": if (LargeIcon == null) { LargeIcon = new SimpleSubrecord <String>(); } LargeIcon.ReadBinary(reader); break; case "MICO": if (SmallIcon == null) { SmallIcon = new SimpleSubrecord <String>(); } SmallIcon.ReadBinary(reader); break; case "SCRI": if (Script == null) { Script = new RecordReference(); } Script.ReadBinary(reader); break; case "DEST": if (Destructable == null) { Destructable = new Destructable(); } Destructable.ReadBinary(reader); break; case "YNAM": if (PickUpSound == null) { PickUpSound = new RecordReference(); } PickUpSound.ReadBinary(reader); break; case "ZNAM": if (DropSound == null) { DropSound = new RecordReference(); } DropSound.ReadBinary(reader); break; case "ETYP": if (EquipmentType == null) { EquipmentType = new SimpleSubrecord <EquipmentType>(); } EquipmentType.ReadBinary(reader); break; case "DATA": if (Weight == null) { Weight = new SimpleSubrecord <Single>(); } Weight.ReadBinary(reader); break; case "ENIT": if (Data == null) { Data = new IngestibleData(); } Data.ReadBinary(reader); break; case "EFID": if (Effects == null) { Effects = new List <Effect>(); } Effect tempEFID = new Effect(); tempEFID.ReadBinary(reader); Effects.Add(tempEFID); break; default: throw new Exception(); } } }
public Ingestible(SimpleSubrecord <String> EditorID, ObjectBounds ObjectBounds, SimpleSubrecord <String> Name, Model Model, SimpleSubrecord <String> LargeIcon, SimpleSubrecord <String> SmallIcon, RecordReference Script, Destructable Destructable, RecordReference PickUpSound, RecordReference DropSound, SimpleSubrecord <EquipmentType> EquipmentType, SimpleSubrecord <Single> Weight, IngestibleData Data, List <Effect> Effects) { this.EditorID = EditorID; this.ObjectBounds = ObjectBounds; this.Name = Name; this.EquipmentType = EquipmentType; this.Weight = Weight; this.Data = Data; this.Effects = Effects; }
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("Name", false, out subEle)) { if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadXML(subEle, master); } if (ele.TryPathTo("Model", false, out subEle)) { if (Model == null) { Model = new Model(); } Model.ReadXML(subEle, master); } if (ele.TryPathTo("Icon/Large", false, out subEle)) { if (LargeIcon == null) { LargeIcon = new SimpleSubrecord <String>(); } LargeIcon.ReadXML(subEle, master); } if (ele.TryPathTo("Icon/Small", false, out subEle)) { if (SmallIcon == null) { SmallIcon = new SimpleSubrecord <String>(); } SmallIcon.ReadXML(subEle, master); } if (ele.TryPathTo("Script", false, out subEle)) { if (Script == null) { Script = new RecordReference(); } Script.ReadXML(subEle, master); } if (ele.TryPathTo("Destructable", false, out subEle)) { if (Destructable == null) { Destructable = new Destructable(); } Destructable.ReadXML(subEle, master); } if (ele.TryPathTo("PickUpSound", false, out subEle)) { if (PickUpSound == null) { PickUpSound = new RecordReference(); } PickUpSound.ReadXML(subEle, master); } if (ele.TryPathTo("DropSound", false, out subEle)) { if (DropSound == null) { DropSound = new RecordReference(); } DropSound.ReadXML(subEle, master); } if (ele.TryPathTo("EquipmentType", false, out subEle)) { if (EquipmentType == null) { EquipmentType = new SimpleSubrecord <EquipmentType>(); } EquipmentType.ReadXML(subEle, master); } if (ele.TryPathTo("Weight", false, out subEle)) { if (Weight == null) { Weight = new SimpleSubrecord <Single>(); } Weight.ReadXML(subEle, master); } if (ele.TryPathTo("Data", false, out subEle)) { if (Data == null) { Data = new IngestibleData(); } Data.ReadXML(subEle, master); } if (ele.TryPathTo("Effects", false, out subEle)) { if (Effects == null) { Effects = new List <Effect>(); } foreach (XElement e in subEle.Elements()) { Effect tempEFID = new Effect(); tempEFID.ReadXML(e, master); Effects.Add(tempEFID); } } }