/// <summary>
		/// 
		/// </summary>
		/// <param name="files"></param>
		/// <param name="progress"></param>
		private static void OpenPlugins(string[] files, IProgress<string> progress)
		{
			ElderScrollsPlugin.OnProgressUpdate += ElderScrollsPluginOnProgressUpdate;

			Plugins = new List<ElderScrollsPlugin>();
			ElderScrollsPlugin.Clear();

			ElderScrollsPlugin.pluginLocations.Add(new KeyValuePair<string, bool>(Settings.DataPath, false));

			foreach (var file in files)
			{
				if (ElderScrollsPlugin.LoadedPlugins.Any(esp => esp.Name == file))
					Plugins.Add(ElderScrollsPlugin.LoadedPlugins.First(esp => esp.Name == file));
				else
				{
					var plugin = new ElderScrollsPlugin(Path.GetFileName(file));
					try
					{
						plugin.Read(file);
						Plugins.Add(plugin);
						progress.Report("");    // Gotta update the plugin list
					}
					catch (IOException ex)
					{
						Messenger.AddError("Aborting...", ex);
						return;
					}

				}
			}
		}
        public override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (EditorID != null)
            {
                ele.TryPathTo("EditorID", true, out subEle);
                EditorID.WriteXML(subEle, master);
            }
            if (ObjectBounds != null)
            {
                ele.TryPathTo("ObjectBounds", true, out subEle);
                ObjectBounds.WriteXML(subEle, master);
            }
            if (Model != null)
            {
                ele.TryPathTo("Model", true, out subEle);
                Model.WriteXML(subEle, master);
            }
            if (Parts != null)
            {
                ele.TryPathTo("Parts", true, out subEle);
                List <string> xmlNames = new List <string> {
                    "Part"
                };
                int i = 0;
                Parts.Sort();
                foreach (var entry in Parts)
                {
                    i = i % xmlNames.Count();
                    XElement newEle = new XElement(xmlNames[i]);
                    entry.WriteXML(newEle, master);
                    subEle.Add(newEle);
                    i++;
                }
            }
        }
Exemplo n.º 3
0
        public override void ReadXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("Marker", false, out subEle))
            {
                Marker.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Idle", false, out subEle))
            {
                if (Idle == null)
                {
                    Idle = new RecordReference();
                }

                Idle.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Script", false, out subEle))
            {
                if (Script == null)
                {
                    Script = new EmbeddedScript();
                }

                Script.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Topic", false, out subEle))
            {
                if (Topic == null)
                {
                    Topic = new RecordReference();
                }

                Topic.ReadXML(subEle, master);
            }
        }
Exemplo n.º 4
0
        public override void ReadXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("Index", false, out subEle))
            {
                if (Index == null)
                {
                    Index = new SimpleSubrecord <Int32>();
                }

                Index.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Description", false, out subEle))
            {
                if (Description == null)
                {
                    Description = new SimpleSubrecord <String>();
                }

                Description.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Targets", false, out subEle))
            {
                if (Targets == null)
                {
                    Targets = new List <QuestTarget>();
                }

                foreach (XElement e in subEle.Elements())
                {
                    QuestTarget temp = new QuestTarget();
                    temp.ReadXML(e, master);
                    Targets.Add(temp);
                }
            }
        }
Exemplo n.º 5
0
        public override void ReadXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("BaseEffect", false, out subEle))
            {
                if (BaseEffect == null)
                {
                    BaseEffect = new RecordReference();
                }

                BaseEffect.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("EffectData", false, out subEle))
            {
                if (EffectData == null)
                {
                    EffectData = new EffectData();
                }

                EffectData.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);
                }
            }
        }
Exemplo n.º 6
0
        protected override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            ele.TryPathTo("Effect", true, out subEle);
            Effect.WriteXML(subEle, master);

            ele.TryPathTo("SkillRequirement", true, out subEle);
            subEle.Value = SkillRequirement.ToString("G15");

            ele.TryPathTo("DamageMult", true, out subEle);
            subEle.Value = DamageMult.ToString("G15");

            ele.TryPathTo("APCost", true, out subEle);
            subEle.Value = APCost.ToString("G15");

            ele.TryPathTo("IsSilent", true, out subEle);
            subEle.Value = IsSilent.ToString();

            ele.TryPathTo("RequiresMod", true, out subEle);
            subEle.Value = RequiresMod.ToString();

            WriteUnusedXML(ele, master);
        }
        protected override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("Layer0", false, out subEle))
            {
                Layer0.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Layer1", false, out subEle))
            {
                Layer1.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Layer2", false, out subEle))
            {
                Layer2.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Layer3", false, out subEle))
            {
                Layer3.ReadXML(subEle, master);
            }
        }
Exemplo n.º 8
0
        public override void ReadXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("Marker", false, out subEle))
            {
                Marker.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("HeadModels", false, out subEle))
            {
                if (HeadModels == null)
                {
                    HeadModels = new List <HeadModel>();
                }

                foreach (XElement e in subEle.Elements())
                {
                    HeadModel temp = new HeadModel();
                    temp.ReadXML(e, master);
                    HeadModels.Add(temp);
                }
            }
        }
Exemplo n.º 9
0
        protected override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("DamageResistance", false, out subEle))
            {
                DamageResistance = subEle.ToInt16();
            }

            if (ele.TryPathTo("Flags", false, out subEle))
            {
                Flags = subEle.ToEnum <ArmorFlags>();
            }

            if (ele.TryPathTo("DamageThreshold", false, out subEle))
            {
                DamageThreshold = subEle.ToSingle();
            }

            if (ele.TryPathTo("Unknown", false, out subEle))
            {
                Unknown = subEle.ToBytes();
            }
        }
Exemplo n.º 10
0
        protected override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("Right", false, out subEle))
            {
                Right.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Left", false, out subEle))
            {
                Left.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Bottom", false, out subEle))
            {
                Bottom.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Top", false, out subEle))
            {
                Top.ReadXML(subEle, master);
            }
        }
        protected override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("Health", false, out subEle))
            {
                Health = subEle.ToInt32();
            }

            if (ele.TryPathTo("Count", false, out subEle))
            {
                Count = subEle.ToByte();
            }

            if (ele.TryPathTo("Flags", false, out subEle))
            {
                Flags = subEle.ToEnum <DestructableFlags>();
            }

            if (ele.TryPathTo("Unknown", false, out subEle))
            {
                Unknown = subEle.ToBytes();
            }
        }
Exemplo n.º 12
0
        protected override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("Skill", false, out subEle))
            {
                Skill = subEle.ToEnum <ActorValues>();
            }

            if (ele.TryPathTo("Level", false, out subEle))
            {
                Level = subEle.ToUInt32();
            }

            if (ele.TryPathTo("Category", false, out subEle))
            {
                Category.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("SubCategory", false, out subEle))
            {
                SubCategory.ReadXML(subEle, master);
            }
        }
Exemplo n.º 13
0
        protected override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("Comparison", false, out subEle))
            {
                Comparison.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Function", false, out subEle))
            {
                Function.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("RunOn", false, out subEle))
            {
                RunOn = subEle.ToEnum <FunctionTarget>();
            }

            if (ele.TryPathTo("RunOnReference", false, out subEle))
            {
                RunOnReference.ReadXML(subEle, master);
            }
        }
Exemplo n.º 14
0
        protected override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("RangeRadius", false, out subEle))
            {
                RangeRadius = subEle.ToSingle();
            }

            if (ele.TryPathTo("BroadcastRange", false, out subEle))
            {
                BroadcastRange = subEle.ToEnum <BroadcastRangeType>();
            }

            if (ele.TryPathTo("StaticPercentage", false, out subEle))
            {
                StaticPercentage = subEle.ToSingle();
            }

            if (ele.TryPathTo("PositionReference", false, out subEle))
            {
                PositionReference.ReadXML(subEle, master);
            }
        }
Exemplo n.º 15
0
        protected override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            ele.TryPathTo("Width/Min", true, out subEle);
            subEle.Value = MinWidth.ToString("G15");

            ele.TryPathTo("Width/Max", true, out subEle);
            subEle.Value = MaxWidth.ToString("G15");

            ele.TryPathTo("Height/Min", true, out subEle);
            subEle.Value = MinHeight.ToString("G15");

            ele.TryPathTo("Height/Max", true, out subEle);
            subEle.Value = MaxHeight.ToString("G15");

            ele.TryPathTo("Depth", true, out subEle);
            subEle.Value = Depth.ToString("G15");

            ele.TryPathTo("Shininess", true, out subEle);
            subEle.Value = Shininess.ToString("G15");

            ele.TryPathTo("Parallax/Scale", true, out subEle);
            subEle.Value = ParallaxScale.ToString("G15");

            ele.TryPathTo("Parallax/Passes", true, out subEle);
            subEle.Value = ParallaxPasses.ToString();

            ele.TryPathTo("Flags", true, out subEle);
            subEle.Value = DecalFlags.ToString();

            WriteUnusedXML(ele, master);

            ele.TryPathTo("Color", true, out subEle);
            Color.WriteXML(subEle, master);
        }
Exemplo n.º 16
0
        protected override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("Layer0", false, out subEle))
            {
                Layer0 = subEle.ToByte();
            }

            if (ele.TryPathTo("Layer1", false, out subEle))
            {
                Layer1 = subEle.ToByte();
            }

            if (ele.TryPathTo("Layer2", false, out subEle))
            {
                Layer2 = subEle.ToByte();
            }

            if (ele.TryPathTo("Layer3", false, out subEle))
            {
                Layer3 = subEle.ToByte();
            }
        }
Exemplo n.º 17
0
        public LoadOrderFormID(FormID fileFormID, ElderScrollsPlugin file)
        {
            uint fileIndex   = fileFormID.RawValue >> 24;
            uint recordIndex = fileFormID.RawValue & 0x00FFFFFF;

            if (fileIndex >= file.Masters.Count)
            {
                fileIndex = (uint)(file.Masters.Count - 1);
            }

            string             masterName = file.Masters[(int)fileIndex];
            ElderScrollsPlugin master     = ElderScrollsPlugin.LoadedPlugins.FirstOrDefault(esp => esp.FileName == masterName);

            if (master == null)
            {
                throw new Exception();
            }

            Master = master;

            uint newFileIndex = (uint)(ElderScrollsPlugin.LoadedPlugins.IndexOf(master) << 24);

            RawValue = newFileIndex | recordIndex;
        }
Exemplo n.º 18
0
        public void ReadXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("Red", false, out subEle))
            {
                Red = subEle.ToByte();
            }

            if (ele.TryPathTo("Green", false, out subEle))
            {
                Green = subEle.ToByte();
            }

            if (ele.TryPathTo("Blue", false, out subEle))
            {
                Blue = subEle.ToByte();
            }

            if (ele.TryPathTo("Alpha_Unused", false, out subEle))
            {
                Alpha_Unused = subEle.ToByte();
            }
        }
Exemplo n.º 19
0
        protected override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("Direct", false, out subEle))
            {
                Direct.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Indirect/World", false, out subEle))
            {
                IndirectWorld.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Indirect/GridY", false, out subEle))
            {
                IndirectGridY = subEle.ToInt16();
            }

            if (ele.TryPathTo("Indirect/GridX", false, out subEle))
            {
                IndirectGridX = subEle.ToInt16();
            }
        }
Exemplo n.º 20
0
        public override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (EditorID != null)
            {
                ele.TryPathTo("EditorID", true, out subEle);
                EditorID.WriteXML(subEle, master);
            }
            if (Name != null)
            {
                ele.TryPathTo("Name", true, out subEle);
                Name.WriteXML(subEle, master);
            }
            if (Data != null)
            {
                ele.TryPathTo("Data", true, out subEle);
                Data.WriteXML(subEle, master);
            }
            if (Effects != null)
            {
                ele.TryPathTo("Effects", true, out subEle);
                List <string> xmlNames = new List <string> {
                    "Effect"
                };
                int i = 0;
                foreach (var entry in Effects)
                {
                    i = i % xmlNames.Count();
                    XElement newEle = new XElement(xmlNames[i]);
                    entry.WriteXML(newEle, master);
                    subEle.Add(newEle);
                    i++;
                }
            }
        }
Exemplo n.º 21
0
        protected override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("Effect", false, out subEle))
            {
                Effect.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("SkillRequirement", false, out subEle))
            {
                SkillRequirement = subEle.ToSingle();
            }

            if (ele.TryPathTo("DamageMult", false, out subEle))
            {
                DamageMult = subEle.ToSingle();
            }

            if (ele.TryPathTo("APCost", false, out subEle))
            {
                APCost = subEle.ToSingle();
            }

            if (ele.TryPathTo("IsSilent", false, out subEle))
            {
                IsSilent = subEle.ToEnum <NoYesByte>();
            }

            if (ele.TryPathTo("RequiresMod", false, out subEle))
            {
                RequiresMod = subEle.ToEnum <NoYesByte>();
            }

            ReadUnusedXML(ele, master);
        }
Exemplo n.º 22
0
        protected override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("Flags", false, out subEle))
            {
                Flags = subEle.ToEnum <BookFlags>();
            }

            if (ele.TryPathTo("Skill", false, out subEle))
            {
                Skill = subEle.ToEnum <ActorValuesByte>();
            }

            if (ele.TryPathTo("Value", false, out subEle))
            {
                Value = subEle.ToInt32();
            }

            if (ele.TryPathTo("Weight", false, out subEle))
            {
                Weight = subEle.ToSingle();
            }
        }
Exemplo n.º 23
0
 partial void ReadValue2XML(XElement ele, ElderScrollsPlugin master);
Exemplo n.º 24
0
 partial void WriteUnusedXML(XElement ele, ElderScrollsPlugin master);
Exemplo n.º 25
0
        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("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("Description", false, out subEle))
            {
                if (Description == null)
                {
                    Description = new SimpleSubrecord <String>();
                }

                Description.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Data", false, out subEle))
            {
                if (Data == null)
                {
                    Data = new ChallengeData();
                }

                Data.ReadXML(subEle, master);
            }

            ReadValue1XML(ele, master);

            ReadValue2XML(ele, master);
        }
Exemplo n.º 26
0
 partial void WriteValue1XML(XElement ele, ElderScrollsPlugin master);
Exemplo n.º 27
0
        public override void ReadXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("Header", false, out subEle))
            {
                if (Header == null)
                {
                    Header = new PerkEffectHeader();
                }

                Header.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("EffectData", false, out subEle))
            {
                switch (Header.Type)
                {
                case PerkType.QuestStage:
                    EffectData = new PerkQuestStageData();
                    break;

                case PerkType.Ability:
                    EffectData = new PerkAbilityData();
                    break;

                case PerkType.EntryPoint:
                    EffectData = new PerkEntryPointData();
                    break;
                }

                EffectData.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Conditions", false, out subEle))
            {
                if (Conditions == null)
                {
                    Conditions = new List <PerkCondition>();
                }

                foreach (XElement e in subEle.Elements())
                {
                    PerkCondition temp = new PerkCondition();
                    temp.ReadXML(e, master);
                    Conditions.Add(temp);
                }
            }
            if (ele.TryPathTo("EntryPoint/FunctionType", false, out subEle))
            {
                if (EntryPointFunctionType == null)
                {
                    EntryPointFunctionType = new SimpleSubrecord <EntryPointFunctionType>();
                }

                EntryPointFunctionType.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("EntryPoint/FunctionData", false, out subEle))
            {
                switch (EntryPointFunctionType.Value)
                {
                case Enums.EntryPointFunctionType.None:
                    EntryPointFunctionData = new SimpleSubrecord <byte[]>();
                    break;

                case Enums.EntryPointFunctionType.Float:
                    EntryPointFunctionData = new SimpleSubrecord <float>();
                    break;

                case Enums.EntryPointFunctionType.FloatFloat:
                    EntryPointFunctionData = new EntryPointRandRange();
                    break;

                case Enums.EntryPointFunctionType.LeveledItem:
                    EntryPointFunctionData = new RecordReference();
                    break;

                case Enums.EntryPointFunctionType.Script:
                    EntryPointFunctionData = new SimpleSubrecord <byte[]>();
                    break;

                case Enums.EntryPointFunctionType.ActorValueMult:
                    EntryPointFunctionData = new EntryPointActorValMult();
                    break;
                }

                EntryPointFunctionData.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("ButtonLabel", false, out subEle))
            {
                if (ButtonLabel == null)
                {
                    ButtonLabel = new SimpleSubrecord <String>();
                }

                ButtonLabel.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("RunImmediately", false, out subEle))
            {
                if (RunImmediately == null)
                {
                    RunImmediately = new SimpleSubrecord <NoYesShort>();
                }

                RunImmediately.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Script", false, out subEle))
            {
                if (Script == null)
                {
                    Script = new EmbeddedScript();
                }

                Script.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("EndMarker", false, out subEle))
            {
                if (EndMarker == null)
                {
                    EndMarker = new SubMarker();
                }

                EndMarker.ReadXML(subEle, master);
            }
        }
Exemplo n.º 28
0
        protected override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("CreatureType", false, out subEle))
            {
                CreatureType = subEle.ToEnum <CreatureType>();
            }

            if (ele.TryPathTo("Skill/Combat", false, out subEle))
            {
                CombatSkill = subEle.ToByte();
            }

            if (ele.TryPathTo("Skill/Magic", false, out subEle))
            {
                MagicSkill = subEle.ToByte();
            }

            if (ele.TryPathTo("Skill/Stealth", false, out subEle))
            {
                StealthSkill = subEle.ToByte();
            }

            if (ele.TryPathTo("Health", false, out subEle))
            {
                Health = subEle.ToInt16();
            }

            ReadUnusedXML(ele, master);

            if (ele.TryPathTo("Damage", false, out subEle))
            {
                Damage = subEle.ToInt16();
            }

            if (ele.TryPathTo("Strength", false, out subEle))
            {
                Strength = subEle.ToByte();
            }

            if (ele.TryPathTo("Perception", false, out subEle))
            {
                Perception = subEle.ToByte();
            }

            if (ele.TryPathTo("Endurance", false, out subEle))
            {
                Endurance = subEle.ToByte();
            }

            if (ele.TryPathTo("Charisma", false, out subEle))
            {
                Charisma = subEle.ToByte();
            }

            if (ele.TryPathTo("Intelligence", false, out subEle))
            {
                Intelligence = subEle.ToByte();
            }

            if (ele.TryPathTo("Agility", false, out subEle))
            {
                Agility = subEle.ToByte();
            }

            if (ele.TryPathTo("Luck", false, out subEle))
            {
                Luck = subEle.ToByte();
            }
        }
Exemplo n.º 29
0
        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("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("Texture/Face", false, out subEle))
            {
                if (TextureFace == null)
                {
                    TextureFace = new SimpleSubrecord <String>();
                }

                TextureFace.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Texture/Back", false, out subEle))
            {
                if (TextureBack == null)
                {
                    TextureBack = new SimpleSubrecord <String>();
                }

                TextureBack.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("CardData", false, out subEle))
            {
                if (CardData == null)
                {
                    CardData = new Card();
                }

                CardData.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Value", false, out subEle))
            {
                if (Value == null)
                {
                    Value = new SimpleSubrecord <UInt32>();
                }

                Value.ReadXML(subEle, master);
            }
        }
Exemplo n.º 30
0
        public override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (EditorID != null)
            {
                ele.TryPathTo("EditorID", true, out subEle);
                EditorID.WriteXML(subEle, master);
            }
            if (ObjectBounds != null)
            {
                ele.TryPathTo("ObjectBounds", true, out subEle);
                ObjectBounds.WriteXML(subEle, master);
            }
            if (Name != null)
            {
                ele.TryPathTo("Name", true, out subEle);
                Name.WriteXML(subEle, master);
            }
            if (Model != null)
            {
                ele.TryPathTo("Model", true, out subEle);
                Model.WriteXML(subEle, master);
            }
            if (LargeIcon != null)
            {
                ele.TryPathTo("Icon/Large", true, out subEle);
                LargeIcon.WriteXML(subEle, master);
            }
            if (SmallIcon != null)
            {
                ele.TryPathTo("Icon/Small", true, out subEle);
                SmallIcon.WriteXML(subEle, master);
            }
            if (Script != null)
            {
                ele.TryPathTo("Script", true, out subEle);
                Script.WriteXML(subEle, master);
            }
            if (PickUpSound != null)
            {
                ele.TryPathTo("PickUpSound", true, out subEle);
                PickUpSound.WriteXML(subEle, master);
            }
            if (DropSound != null)
            {
                ele.TryPathTo("DropSound", true, out subEle);
                DropSound.WriteXML(subEle, master);
            }
            if (TextureFace != null)
            {
                ele.TryPathTo("Texture/Face", true, out subEle);
                TextureFace.WriteXML(subEle, master);
            }
            if (TextureBack != null)
            {
                ele.TryPathTo("Texture/Back", true, out subEle);
                TextureBack.WriteXML(subEle, master);
            }
            if (CardData != null)
            {
                ele.TryPathTo("CardData", true, out subEle);
                CardData.WriteXML(subEle, master);
            }
            if (Value != null)
            {
                ele.TryPathTo("Value", true, out subEle);
                Value.WriteXML(subEle, master);
            }
        }
Exemplo n.º 31
0
        partial void ReadValue2XML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle = new XElement("Dummy");

            switch (Data.Type)
            {
            case ChallengeType.KillFromAFormList:
                if (ele.TryPathTo("WeaponList", false, out subEle))
                {
                    Value2 = new RecordReference();
                }
                else
                {
                    return;
                }
                break;

            case ChallengeType.KillASpecificFormID:
                if (ele.TryPathTo("WeaponList", false, out subEle))
                {
                    Value2 = new RecordReference();
                }
                else
                {
                    return;
                }
                break;

            case ChallengeType.KillAnyInACategory:
                if (ele.TryPathTo("WeaponList", false, out subEle))
                {
                    Value2 = new RecordReference();
                }
                else
                {
                    return;
                }
                break;

            case ChallengeType.HitAnEnemy:
                if (ele.TryPathTo("WeaponList", false, out subEle))
                {
                    Value2 = new RecordReference();
                }
                else
                {
                    return;
                }
                break;

            case ChallengeType.DiscoverAMapMarker:
                if (ele.TryPathTo("LocationList", false, out subEle))
                {
                    Value2 = new RecordReference();
                }
                else
                {
                    return;
                }
                break;

            case ChallengeType.DoDamage:
                if (ele.TryPathTo("WeaponList", false, out subEle))
                {
                    Value2 = new RecordReference();
                }
                else
                {
                    return;
                }
                break;

            default:
                return;
            }
            Value2.ReadXML(subEle, master);
        }