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("Name", false, out subEle)) { if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadXML(subEle, master); } if (ele.TryPathTo("CellFlags", false, out subEle)) { if (CellFlags == null) { CellFlags = new SimpleSubrecord <CellFlags>(); } CellFlags.ReadXML(subEle, master); } if (ele.TryPathTo("Grid", false, out subEle)) { if (Grid == null) { Grid = new CellGrid(); } Grid.ReadXML(subEle, master); } if (ele.TryPathTo("Lighting", false, out subEle)) { if (Lighting == null) { Lighting = new CellLighting(); } Lighting.ReadXML(subEle, master); } if (ele.TryPathTo("FootstepMaterial", false, out subEle)) { if (FootstepMaterial == null) { FootstepMaterial = new FootstepMaterial(); } FootstepMaterial.ReadXML(subEle, master); } if (ele.TryPathTo("LightTemplate", false, out subEle)) { if (LightTemplate == null) { LightTemplate = new RecordReference(); } LightTemplate.ReadXML(subEle, master); } if (ele.TryPathTo("LightTemplateInherit", false, out subEle)) { if (LightTemplateInherit == null) { LightTemplateInherit = new SimpleSubrecord <LightTemplateInheritFlags>(); } LightTemplateInherit.ReadXML(subEle, master); } if (ele.TryPathTo("WaterHeight", false, out subEle)) { if (WaterHeight == null) { WaterHeight = new SimpleSubrecord <Single>(); } WaterHeight.ReadXML(subEle, master); } if (ele.TryPathTo("WaterNoiseTexture", false, out subEle)) { if (WaterNoiseTexture == null) { WaterNoiseTexture = new SimpleSubrecord <String>(); } WaterNoiseTexture.ReadXML(subEle, master); } if (ele.TryPathTo("Regions", false, out subEle)) { if (Regions == null) { Regions = new SortedFormArray(); } Regions.ReadXML(subEle, master); } if (ele.TryPathTo("ImageSpace", false, out subEle)) { if (ImageSpace == null) { ImageSpace = new RecordReference(); } ImageSpace.ReadXML(subEle, master); } if (ele.TryPathTo("Unknown", false, out subEle)) { if (Unknown == null) { Unknown = new SimpleSubrecord <Byte>(); } Unknown.ReadXML(subEle, master); } if (ele.TryPathTo("EncounterZone", false, out subEle)) { if (EncounterZone == null) { EncounterZone = new RecordReference(); } EncounterZone.ReadXML(subEle, master); } if (ele.TryPathTo("Climate", false, out subEle)) { if (Climate == null) { Climate = new RecordReference(); } Climate.ReadXML(subEle, master); } if (ele.TryPathTo("Water", false, out subEle)) { if (Water == null) { Water = new RecordReference(); } Water.ReadXML(subEle, master); } if (ele.TryPathTo("Owner", false, out subEle)) { if (Owner == null) { Owner = new RecordReference(); } Owner.ReadXML(subEle, master); } if (ele.TryPathTo("FactionRank", false, out subEle)) { if (FactionRank == null) { FactionRank = new SimpleSubrecord <Int32>(); } FactionRank.ReadXML(subEle, master); } if (ele.TryPathTo("AcousticSpace", false, out subEle)) { if (AcousticSpace == null) { AcousticSpace = new RecordReference(); } AcousticSpace.ReadXML(subEle, master); } if (ele.TryPathTo("Unused", false, out subEle)) { if (Unused == null) { Unused = new SimpleSubrecord <Byte>(); } Unused.ReadXML(subEle, master); } if (ele.TryPathTo("MusicType", false, out subEle)) { if (MusicType == null) { MusicType = new RecordReference(); } MusicType.ReadXML(subEle, master); } }
public Cell(SimpleSubrecord <String> EditorID, SimpleSubrecord <String> Name, SimpleSubrecord <CellFlags> CellFlags, CellGrid Grid, CellLighting Lighting, FootstepMaterial FootstepMaterial, RecordReference LightTemplate, SimpleSubrecord <LightTemplateInheritFlags> LightTemplateInherit, SimpleSubrecord <Single> WaterHeight, SimpleSubrecord <String> WaterNoiseTexture, SortedFormArray Regions, RecordReference ImageSpace, SimpleSubrecord <Byte> Unknown, RecordReference EncounterZone, RecordReference Climate, RecordReference Water, RecordReference Owner, SimpleSubrecord <Int32> FactionRank, RecordReference AcousticSpace, SimpleSubrecord <Byte> Unused, RecordReference MusicType) { this.CellFlags = CellFlags; this.LightTemplate = LightTemplate; this.LightTemplateInherit = LightTemplateInherit; }
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 "FULL": if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadBinary(reader); break; case "DATA": if (CellFlags == null) { CellFlags = new SimpleSubrecord <CellFlags>(); } CellFlags.ReadBinary(reader); break; case "XCLC": if (Grid == null) { Grid = new CellGrid(); } Grid.ReadBinary(reader); break; case "XCLL": if (Lighting == null) { Lighting = new CellLighting(); } Lighting.ReadBinary(reader); break; case "IMPF": if (FootstepMaterial == null) { FootstepMaterial = new FootstepMaterial(); } FootstepMaterial.ReadBinary(reader); break; case "LTMP": if (LightTemplate == null) { LightTemplate = new RecordReference(); } LightTemplate.ReadBinary(reader); break; case "LNAM": if (LightTemplateInherit == null) { LightTemplateInherit = new SimpleSubrecord <LightTemplateInheritFlags>(); } LightTemplateInherit.ReadBinary(reader); break; case "XCLW": if (WaterHeight == null) { WaterHeight = new SimpleSubrecord <Single>(); } WaterHeight.ReadBinary(reader); break; case "XNAM": if (WaterNoiseTexture == null) { WaterNoiseTexture = new SimpleSubrecord <String>(); } WaterNoiseTexture.ReadBinary(reader); break; case "XCLR": if (Regions == null) { Regions = new SortedFormArray(); } Regions.ReadBinary(reader); break; case "XCIM": if (ImageSpace == null) { ImageSpace = new RecordReference(); } ImageSpace.ReadBinary(reader); break; case "XCET": if (Unknown == null) { Unknown = new SimpleSubrecord <Byte>(); } Unknown.ReadBinary(reader); break; case "XEZN": if (EncounterZone == null) { EncounterZone = new RecordReference(); } EncounterZone.ReadBinary(reader); break; case "XCCM": if (Climate == null) { Climate = new RecordReference(); } Climate.ReadBinary(reader); break; case "XCWT": if (Water == null) { Water = new RecordReference(); } Water.ReadBinary(reader); break; case "XOWN": if (Owner == null) { Owner = new RecordReference(); } Owner.ReadBinary(reader); break; case "XRNK": if (FactionRank == null) { FactionRank = new SimpleSubrecord <Int32>(); } FactionRank.ReadBinary(reader); break; case "XCAS": if (AcousticSpace == null) { AcousticSpace = new RecordReference(); } AcousticSpace.ReadBinary(reader); break; case "XCMT": if (Unused == null) { Unused = new SimpleSubrecord <Byte>(); } Unused.ReadBinary(reader); break; case "XCMO": if (MusicType == null) { MusicType = new RecordReference(); } MusicType.ReadBinary(reader); break; default: throw new Exception(); } } }