public override void ReadXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; if (ele.TryPathTo("FileName", false, out subEle)) { if (FileName == null) { FileName = new SimpleSubrecord <String>(); } FileName.ReadXML(subEle, master); } if (ele.TryPathTo("Unknown", false, out subEle)) { if (Unknown == null) { Unknown = new SimpleSubrecord <Byte[]>(); } Unknown.ReadXML(subEle, master); } if (ele.TryPathTo("TextureFileHash", false, out subEle)) { if (TextureFileHash == null) { TextureFileHash = new SimpleSubrecord <Byte[]>(); } TextureFileHash.ReadXML(subEle, master); } if (ele.TryPathTo("AlternateTextures", false, out subEle)) { if (AlternateTextures == null) { AlternateTextures = new AlternateTextures(); } AlternateTextures.ReadXML(subEle, master); } if (ele.TryPathTo("FaceGenModelFlags", false, out subEle)) { if (FaceGenModelFlags == null) { FaceGenModelFlags = new SimpleSubrecord <FaceGenModelFlags>(); } FaceGenModelFlags.ReadXML(subEle, master); } }
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("Version", false, out subEle)) { if (Version == null) { Version = new SimpleSubrecord <UInt32>(); } Version.ReadXML(subEle, master); } if (ele.TryPathTo("Data", false, out subEle)) { if (Data == null) { Data = new NavMeshData(); } Data.ReadXML(subEle, master); } if (ele.TryPathTo("Vertices", false, out subEle)) { if (Vertices == null) { Vertices = new SimpleSubrecord <Byte[]>(); } Vertices.ReadXML(subEle, master); } if (ele.TryPathTo("Triangles", false, out subEle)) { if (Triangles == null) { Triangles = new SimpleSubrecord <Byte[]>(); } Triangles.ReadXML(subEle, master); } if (ele.TryPathTo("Unknown", false, out subEle)) { if (Unknown == null) { Unknown = new SimpleSubrecord <Byte[]>(); } Unknown.ReadXML(subEle, master); } if (ele.TryPathTo("Doors", false, out subEle)) { if (Doors == null) { Doors = new NavMeshDoorList(); } Doors.ReadXML(subEle, master); } if (ele.TryPathTo("Grid", false, out subEle)) { if (Grid == null) { Grid = new SimpleSubrecord <Byte[]>(); } Grid.ReadXML(subEle, master); } if (ele.TryPathTo("ExternalConnections", false, out subEle)) { if (ExternalConnections == null) { ExternalConnections = new NavMeshExternalConnectionList(); } ExternalConnections.ReadXML(subEle, master); } }
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("ImageSpaceModifier/Sunrise", false, out subEle)) { if (ImageSpaceModifierSunrise == null) { ImageSpaceModifierSunrise = new RecordReference(); } ImageSpaceModifierSunrise.ReadXML(subEle, master); } if (ele.TryPathTo("ImageSpaceModifier/Day", false, out subEle)) { if (ImageSpaceModifierDay == null) { ImageSpaceModifierDay = new RecordReference(); } ImageSpaceModifierDay.ReadXML(subEle, master); } if (ele.TryPathTo("ImageSpaceModifier/Sunset", false, out subEle)) { if (ImageSpaceModifierSunset == null) { ImageSpaceModifierSunset = new RecordReference(); } ImageSpaceModifierSunset.ReadXML(subEle, master); } if (ele.TryPathTo("ImageSpaceModifier/Night", false, out subEle)) { if (ImageSpaceModifierNight == null) { ImageSpaceModifierNight = new RecordReference(); } ImageSpaceModifierNight.ReadXML(subEle, master); } if (ele.TryPathTo("ImageSpaceModifier/HighNoon", false, out subEle)) { if (ImageSpaceModifierHighNoon == null) { ImageSpaceModifierHighNoon = new RecordReference(); } ImageSpaceModifierHighNoon.ReadXML(subEle, master); } if (ele.TryPathTo("ImageSpaceModifier/Midnight", false, out subEle)) { if (ImageSpaceModifierMidnight == null) { ImageSpaceModifierMidnight = new RecordReference(); } ImageSpaceModifierMidnight.ReadXML(subEle, master); } if (ele.TryPathTo("CloudTexture/Layer0", false, out subEle)) { if (CloudTextureLayer0 == null) { CloudTextureLayer0 = new SimpleSubrecord <String>(); } CloudTextureLayer0.ReadXML(subEle, master); } if (ele.TryPathTo("CloudTexture/Layer1", false, out subEle)) { if (CloudTextureLayer1 == null) { CloudTextureLayer1 = new SimpleSubrecord <String>(); } CloudTextureLayer1.ReadXML(subEle, master); } if (ele.TryPathTo("CloudTexture/Layer2", false, out subEle)) { if (CloudTextureLayer2 == null) { CloudTextureLayer2 = new SimpleSubrecord <String>(); } CloudTextureLayer2.ReadXML(subEle, master); } if (ele.TryPathTo("CloudTexture/Layer3", false, out subEle)) { if (CloudTextureLayer3 == null) { CloudTextureLayer3 = new SimpleSubrecord <String>(); } CloudTextureLayer3.ReadXML(subEle, master); } if (ele.TryPathTo("Model", false, out subEle)) { if (Model == null) { Model = new Model(); } Model.ReadXML(subEle, master); } if (ele.TryPathTo("Unknown", false, out subEle)) { if (Unknown == null) { Unknown = new SimpleSubrecord <Byte[]>(); } Unknown.ReadXML(subEle, master); } if (ele.TryPathTo("CloudLayerSpeed", false, out subEle)) { if (CloudLayerSpeed == null) { CloudLayerSpeed = new CloudLayerSpeed(); } CloudLayerSpeed.ReadXML(subEle, master); } if (ele.TryPathTo("CloudLayerColors", false, out subEle)) { if (CloudLayerColors == null) { CloudLayerColors = new CloudLayerColors(); } CloudLayerColors.ReadXML(subEle, master); } if (ele.TryPathTo("EnvironmentalColors", false, out subEle)) { if (EnvironmentalColors == null) { EnvironmentalColors = new EnvironmentalColors(); } EnvironmentalColors.ReadXML(subEle, master); } if (ele.TryPathTo("WeatherFogDistance", false, out subEle)) { if (WeatherFogDistance == null) { WeatherFogDistance = new WeatherFogDistance(); } WeatherFogDistance.ReadXML(subEle, master); } if (ele.TryPathTo("Unused", false, out subEle)) { if (Unused == null) { Unused = new SimpleSubrecord <Byte[]>(); } Unused.ReadXML(subEle, master); } if (ele.TryPathTo("Data", false, out subEle)) { if (Data == null) { Data = new WeatherData(); } Data.ReadXML(subEle, master); } if (ele.TryPathTo("Sounds", false, out subEle)) { if (Sounds == null) { Sounds = new List <WeatherSound>(); } foreach (XElement e in subEle.Elements()) { WeatherSound tempSNAM = new WeatherSound(); tempSNAM.ReadXML(e, master); Sounds.Add(tempSNAM); } } }
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("Destructable", false, out subEle)) { if (Destructable == null) { Destructable = new Destructable(); } Destructable.ReadXML(subEle, master); } if (ele.TryPathTo("Unknown", false, out subEle)) { if (Unknown == null) { Unknown = new SimpleSubrecord <Byte>(); } Unknown.ReadXML(subEle, master); } if (ele.TryPathTo("Sound", false, out subEle)) { if (Sound == null) { Sound = new RecordReference(); } Sound.ReadXML(subEle, master); } }
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("BaseStats", false, out subEle)) { if (BaseStats == null) { BaseStats = new NPCBaseStats(); } BaseStats.ReadXML(subEle, master); } if (ele.TryPathTo("Factions", false, out subEle)) { if (Factions == null) { Factions = new List <FactionMembership>(); } foreach (XElement e in subEle.Elements()) { FactionMembership tempSNAM = new FactionMembership(); tempSNAM.ReadXML(e, master); Factions.Add(tempSNAM); } } if (ele.TryPathTo("DeathItem", false, out subEle)) { if (DeathItem == null) { DeathItem = new RecordReference(); } DeathItem.ReadXML(subEle, master); } if (ele.TryPathTo("VoiceType", false, out subEle)) { if (VoiceType == null) { VoiceType = new RecordReference(); } VoiceType.ReadXML(subEle, master); } if (ele.TryPathTo("Template", false, out subEle)) { if (Template == null) { Template = new RecordReference(); } Template.ReadXML(subEle, master); } if (ele.TryPathTo("Race", false, out subEle)) { if (Race == null) { Race = new RecordReference(); } Race.ReadXML(subEle, master); } if (ele.TryPathTo("ActorEffects", false, out subEle)) { if (ActorEffects == null) { ActorEffects = new List <RecordReference>(); } foreach (XElement e in subEle.Elements()) { RecordReference tempSPLO = new RecordReference(); tempSPLO.ReadXML(e, master); ActorEffects.Add(tempSPLO); } } if (ele.TryPathTo("Unarmed/AttackEffect", false, out subEle)) { if (UnarmedAttackEffect == null) { UnarmedAttackEffect = new RecordReference(); } UnarmedAttackEffect.ReadXML(subEle, master); } if (ele.TryPathTo("Unarmed/AttackAnimation", false, out subEle)) { if (UnarmedAttackAnimation == null) { UnarmedAttackAnimation = new SimpleSubrecord <UInt16>(); } UnarmedAttackAnimation.ReadXML(subEle, master); } if (ele.TryPathTo("Destructable", false, out subEle)) { if (Destructable == null) { Destructable = new Destructable(); } Destructable.ReadXML(subEle, master); } if (ele.TryPathTo("Script", false, out subEle)) { if (Script == null) { Script = new RecordReference(); } Script.ReadXML(subEle, master); } if (ele.TryPathTo("Contents", false, out subEle)) { if (Contents == null) { Contents = new List <InventoryItem>(); } foreach (XElement e in subEle.Elements()) { InventoryItem tempCNTO = new InventoryItem(); tempCNTO.ReadXML(e, master); Contents.Add(tempCNTO); } } if (ele.TryPathTo("AIData", false, out subEle)) { if (AIData == null) { AIData = new AIData(); } AIData.ReadXML(subEle, master); } if (ele.TryPathTo("Packages", false, out subEle)) { if (Packages == null) { Packages = new List <RecordReference>(); } foreach (XElement e in subEle.Elements()) { RecordReference tempPKID = new RecordReference(); tempPKID.ReadXML(e, master); Packages.Add(tempPKID); } } if (ele.TryPathTo("Class", false, out subEle)) { if (Class == null) { Class = new RecordReference(); } Class.ReadXML(subEle, master); } if (ele.TryPathTo("Data", false, out subEle)) { if (Data == null) { Data = new NPCData(); } Data.ReadXML(subEle, master); } if (ele.TryPathTo("Skills", false, out subEle)) { if (Skills == null) { Skills = new NPCSkills(); } Skills.ReadXML(subEle, master); } if (ele.TryPathTo("HeadParts", false, out subEle)) { if (HeadParts == null) { HeadParts = new List <RecordReference>(); } foreach (XElement e in subEle.Elements()) { RecordReference tempPNAM = new RecordReference(); tempPNAM.ReadXML(e, master); HeadParts.Add(tempPNAM); } } if (ele.TryPathTo("Hair/Type", false, out subEle)) { if (HairType == null) { HairType = new RecordReference(); } HairType.ReadXML(subEle, master); } if (ele.TryPathTo("Hair/Length", false, out subEle)) { if (HairLength == null) { HairLength = new SimpleSubrecord <Single>(); } HairLength.ReadXML(subEle, master); } if (ele.TryPathTo("Eyes", false, out subEle)) { if (Eyes == null) { Eyes = new RecordReference(); } Eyes.ReadXML(subEle, master); } if (ele.TryPathTo("Hair/Color", false, out subEle)) { if (HairColor == null) { HairColor = new SimpleSubrecord <Color>(); } HairColor.ReadXML(subEle, master); } if (ele.TryPathTo("CombatStyle", false, out subEle)) { if (CombatStyle == null) { CombatStyle = new RecordReference(); } CombatStyle.ReadXML(subEle, master); } if (ele.TryPathTo("ImpactMaterialType", false, out subEle)) { if (ImpactMaterialType == null) { ImpactMaterialType = new SimpleSubrecord <MaterialTypeUInt>(); } ImpactMaterialType.ReadXML(subEle, master); } if (ele.TryPathTo("FaceGen/Geometry/Symmetric", false, out subEle)) { if (FaceGenGeometrySymmetric == null) { FaceGenGeometrySymmetric = new SimpleSubrecord <Byte[]>(); } FaceGenGeometrySymmetric.ReadXML(subEle, master); } if (ele.TryPathTo("FaceGen/Geometry/Asymmetric", false, out subEle)) { if (FaceGenGeometryAsymmetric == null) { FaceGenGeometryAsymmetric = new SimpleSubrecord <Byte[]>(); } FaceGenGeometryAsymmetric.ReadXML(subEle, master); } if (ele.TryPathTo("FaceGen/Texture", false, out subEle)) { if (FaceGenTexture == null) { FaceGenTexture = new SimpleSubrecord <Byte[]>(); } FaceGenTexture.ReadXML(subEle, master); } if (ele.TryPathTo("Unknown", false, out subEle)) { if (Unknown == null) { Unknown = new SimpleSubrecord <UInt16>(); } Unknown.ReadXML(subEle, master); } if (ele.TryPathTo("Height", false, out subEle)) { if (Height == null) { Height = new SimpleSubrecord <Single>(); } Height.ReadXML(subEle, master); } if (ele.TryPathTo("Weight", false, out subEle)) { if (Weight == null) { Weight = new SimpleSubrecord <Single>(); } Weight.ReadXML(subEle, master); } }
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 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("AddedQuests", false, out subEle)) { if (AddedQuests == null) { AddedQuests = new List <AddedQuest>(); } foreach (XElement e in subEle.Elements()) { AddedQuest tempQSTI = new AddedQuest(); tempQSTI.ReadXML(e, master); AddedQuests.Add(tempQSTI); } } if (ele.TryPathTo("RemovedQuests", false, out subEle)) { if (RemovedQuests == null) { RemovedQuests = new List <RecordReference>(); } foreach (XElement e in subEle.Elements()) { RecordReference tempQSTR = new RecordReference(); tempQSTR.ReadXML(e, master); RemovedQuests.Add(tempQSTR); } } if (ele.TryPathTo("UnusedInfos", false, out subEle)) { if (UnusedInfos == null) { UnusedInfos = new List <SharedInfo>(); } foreach (XElement e in subEle.Elements()) { SharedInfo tempINFC = new SharedInfo(); tempINFC.ReadXML(e, master); UnusedInfos.Add(tempINFC); } } if (ele.TryPathTo("Name", false, out subEle)) { if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadXML(subEle, master); } if (ele.TryPathTo("Priority", false, out subEle)) { if (Priority == null) { Priority = new SimpleSubrecord <Single>(); } Priority.ReadXML(subEle, master); } if (ele.TryPathTo("Unknown", false, out subEle)) { if (Unknown == null) { Unknown = new SimpleSubrecord <String>(); } Unknown.ReadXML(subEle, master); } if (ele.TryPathTo("Data", false, out subEle)) { if (Data == null) { Data = new DialogTopicData(); } Data.ReadXML(subEle, master); } }
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("Description", false, out subEle)) { if (Description == null) { Description = new SimpleSubrecord <String>(); } Description.ReadXML(subEle, master); } if (ele.TryPathTo("Relationships", false, out subEle)) { if (Relationships == null) { Relationships = new List <Relationship>(); } foreach (XElement e in subEle.Elements()) { Relationship tempXNAM = new Relationship(); tempXNAM.ReadXML(e, master); Relationships.Add(tempXNAM); } } if (ele.TryPathTo("Data", false, out subEle)) { if (Data == null) { Data = new RaceData(); } Data.ReadXML(subEle, master); } if (ele.TryPathTo("Race/Older", false, out subEle)) { if (OlderRace == null) { OlderRace = new RecordReference(); } OlderRace.ReadXML(subEle, master); } if (ele.TryPathTo("Race/Younger", false, out subEle)) { if (YoungerRace == null) { YoungerRace = new RecordReference(); } YoungerRace.ReadXML(subEle, master); } if (ele.TryPathTo("UnknownMarker", false, out subEle)) { if (UnknownMarker == null) { UnknownMarker = new SubMarker(); } UnknownMarker.ReadXML(subEle, master); } if (ele.TryPathTo("Defaults/Voices", false, out subEle)) { if (DefaultVoices == null) { DefaultVoices = new RaceDefaultVoices(); } DefaultVoices.ReadXML(subEle, master); } if (ele.TryPathTo("Defaults/HairStyles", false, out subEle)) { if (DefaultHairStyles == null) { DefaultHairStyles = new RaceDefaultHairStyles(); } DefaultHairStyles.ReadXML(subEle, master); } if (ele.TryPathTo("Defaults/HairColors", false, out subEle)) { if (DefaultHairColors == null) { DefaultHairColors = new RaceDefaultHairColors(); } DefaultHairColors.ReadXML(subEle, master); } if (ele.TryPathTo("FaceGen/Clamps/Main", false, out subEle)) { if (FaceGenMainClamp == null) { FaceGenMainClamp = new SimpleSubrecord <Single>(); } FaceGenMainClamp.ReadXML(subEle, master); } if (ele.TryPathTo("FaceGen/Clamps/Face", false, out subEle)) { if (FaceGenFaceClamp == null) { FaceGenFaceClamp = new SimpleSubrecord <Single>(); } FaceGenFaceClamp.ReadXML(subEle, master); } if (ele.TryPathTo("Unknown", false, out subEle)) { if (Unknown == null) { Unknown = new SimpleSubrecord <Byte[]>(); } Unknown.ReadXML(subEle, master); } if (ele.TryPathTo("HeadData", false, out subEle)) { if (HeadData == null) { HeadData = new RaceHeadData(); } HeadData.ReadXML(subEle, master); } if (ele.TryPathTo("BodyData", false, out subEle)) { if (BodyData == null) { BodyData = new RaceBodyData(); } BodyData.ReadXML(subEle, master); } if (ele.TryPathTo("Hairs", false, out subEle)) { if (Hairs == null) { Hairs = new FormArray(); } Hairs.ReadXML(subEle, master); } if (ele.TryPathTo("Eyes", false, out subEle)) { if (Eyes == null) { Eyes = new FormArray(); } Eyes.ReadXML(subEle, master); } if (ele.TryPathTo("FaceGen/Male", false, out subEle)) { if (MaleFaceGenData == null) { MaleFaceGenData = new FaceGenData(); } MaleFaceGenData.ReadXML(subEle, master); } if (ele.TryPathTo("FaceGen/Female", false, out subEle)) { if (FemaleFaceGenData == null) { FemaleFaceGenData = new FaceGenData(); } FemaleFaceGenData.ReadXML(subEle, master); } }