public HE_HFPrayedInsideStructure(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (var element in xdoc.Root.Elements())
            {
                var val = element.Value;
                int valI;
                int.TryParse(val, out valI);

                switch (element.Name.LocalName)
                {
                case "id":
                case "year":
                case "seconds72":
                case "type":
                    break;

                case "hist_fig_id":
                    HfId = valI;
                    break;

                case "site_id":
                    SiteId = valI;
                    break;

                case "structure_id":
                    StructureId = valI;
                    break;

                default:
                    DFXMLParser.UnexpectedXmlElement(xdoc.Root.Name.LocalName + "\t" + Types[Type], element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#2
0
文件: Entity.cs 项目: tier6tank/DFWV
        public Entity(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (var element in xdoc.Root.Elements())
            {
                var val = element.Value;
                switch (element.Name.LocalName)
                {
                case "id":
                    break;

                case "name":
                    Name = val;
                    break;

                case "type":
                case "race":
                    break;

                default:
                    DFXMLParser.UnexpectedXmlElement(xdoc.Root.Name.LocalName, element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#3
0
        public HE_PeaceAccepted(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (var element in xdoc.Root.Elements())
            {
                var val = element.Value;
                int valI;
                int.TryParse(val, out valI);

                switch (element.Name.LocalName)
                {
                case "id":
                case "year":
                case "seconds72":
                case "type":
                    break;

                case "site_id":
                    if (valI != -1)
                    {
                        SiteId = valI;
                    }
                    break;

                default:
                    DFXMLParser.UnexpectedXmlElement(xdoc.Root.Name.LocalName + "\t" + Types[Type], element, xdoc.Root.ToString());
                    break;
                }
            }
        }
        public HE_RemoveHFSiteLink(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (var element in xdoc.Root.Elements())
            {
                var val = element.Value;
                int valI;
                Int32.TryParse(val, out valI);

                switch (element.Name.LocalName)
                {
                case "id":
                case "year":
                case "seconds72":
                case "type":
                    break;

                case "site_id":
                    SiteID = valI;
                    break;

                default:
                    DFXMLParser.UnexpectedXMLElement(xdoc.Root.Name.LocalName + "\t" + Types[Type], element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#5
0
        public HE_FirstContact(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (var element in xdoc.Root.Elements())
            {
                var val = element.Value;
                int valI;
                int.TryParse(val, out valI);

                switch (element.Name.LocalName)
                {
                case "id":
                case "year":
                case "seconds72":
                case "type":
                    break;

                case "contactor_enid":
                    EntityId_Contactor = valI;
                    break;

                case "contacted_enid":
                    EntityId_Contacted = valI;
                    break;

                case "site_id":
                    SiteId = valI;
                    break;

                default:
                    DFXMLParser.UnexpectedXmlElement(xdoc.Root.Name.LocalName + "\t" + Types[Type], element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#6
0
        public EC_Journey(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (XElement element in xdoc.Root.Elements())
            {
                string val = element.Value.ToString();
                int    valI;
                Int32.TryParse(val, out valI);

                switch (element.Name.LocalName)
                {
                case "id":
                case "start_year":
                case "start_seconds72":
                case "end_year":
                case "end_seconds72":
                case "event":
                case "type":
                    break;

                case "ordinal":
                    Ordinal = valI;
                    break;

                default:
                    DFXMLParser.UnexpectedXMLElement(xdoc.Root.Name.LocalName + "\t" + HistoricalEventCollection.Types[Type], element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#7
0
        public ArtifactItem(XElement xml, World world, Artifact artifact)
            : base(world)
        {
            Artifact = artifact;
            foreach (var element in xml.Elements())
            {
                var val = element.Value;
                int valI;
                int.TryParse(val, out valI);
                switch (element.Name.LocalName)
                {
                case "name_string":
                    NameString = val;
                    break;

                case "page_number":
                    PageNumber = valI;
                    break;

                case "page_written_content_id":
                    PageWrittenContentId = valI;
                    break;

                case "writing_written_content_id":
                    WritingWrittenContentId = valI;
                    break;

                default:
                    DFXMLParser.UnexpectedXmlElement(xml.Name.LocalName, element, xml.ToString());
                    break;
                }
            }
        }
示例#8
0
        public HE_Ceremony(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (var element in xdoc.Root.Elements())
            {
                var val = element.Value;
                int valI;
                int.TryParse(val, out valI);

                switch (element.Name.LocalName)
                {
                case "id":
                case "year":
                case "seconds72":
                case "type":
                case "site_id":
                    if (valI != -1)
                    {
                        SiteId = valI;
                    }
                    break;

                case "subregion_id":
                    if (valI != -1)
                    {
                        SubregionId = valI;
                    }
                    break;

                case "feature_layer_id":
                    if (valI != -1)
                    {
                        FeatureLayerId = valI;
                    }
                    break;

                case "occasion_id":
                    if (valI != -1)
                    {
                        OccasionId = valI;
                    }
                    break;

                case "schedule_id":
                    if (valI != -1)
                    {
                        ScheduleId = valI;
                    }
                    break;

                case "civ_id":
                    EntityId = valI;
                    break;

                default:
                    DFXMLParser.UnexpectedXmlElement(xdoc.Root.Name.LocalName + "\t" + Types[Type], element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#9
0
        internal override void Plus(XDocument xdoc)
        {
            foreach (var element in xdoc.Root.Elements())
            {
                var val = element.Value;
                int valI;
                int.TryParse(val, out valI);

                switch (element.Name.LocalName)
                {
                case "id":
                case "type":
                    break;

                case "histfig":
                    break;

                case "identity_hf":
                    HfId_Identity = valI;
                    break;

                case "identity_name":
                    IdentityName = val;
                    break;

                case "identity_race":
                    if (valI != -1)
                    {
                        IdentityRace = World.GetAddRace(val);
                    }
                    break;

                case "identity_caste":
                    if (valI != -1)
                    {
                        if (!HistoricalFigure.Castes.Contains(val))
                        {
                            HistoricalFigure.Castes.Add(val);
                        }
                        IdentityCaste = HistoricalFigure.Castes.IndexOf(val);
                    }
                    break;

                case "civ":
                    break;

                case "trickster":
                    HfId_Trickster = valI;
                    break;

                case "target":
                    EntityId_Target = valI;
                    break;

                default:
                    DFXMLParser.UnexpectedXmlElement(xdoc.Root.Name.LocalName + "\t" + Types[Type], element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#10
0
        public UndergroundRegion(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (var element in xdoc.Root.Elements())
            {
                var val = element.Value;
                switch (element.Name.LocalName)
                {
                case "id":
                    break;

                case "type":
                    Type = val.ToTitleCase();
                    break;

                case "depth":
                    Depth = Convert.ToInt32(val);
                    break;

                default:
                    DFXMLParser.UnexpectedXmlElement(xdoc.Root.Name.LocalName, element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#11
0
        public HE_HFGainsSecretGoal(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (XElement element in xdoc.Root.Elements())
            {
                string val = element.Value.ToString();
                int    valI;
                Int32.TryParse(val, out valI);

                switch (element.Name.LocalName)
                {
                case "id":
                case "year":
                case "seconds72":
                case "type":
                    break;

                case "hfid":
                    HFID = valI;
                    break;

                case "secret_goal":
                    if (!HistoricalFigure.Goals.Contains(val))
                    {
                        HistoricalFigure.Goals.Add(val);
                    }
                    SecretGoal = HistoricalFigure.Goals.IndexOf(val);
                    break;

                default:
                    DFXMLParser.UnexpectedXMLElement(xdoc.Root.Name.LocalName + "\t" + HistoricalEvent.Types[Type], element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#12
0
        public Artifact(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (XElement element in xdoc.Root.Elements())
            {
                string val = element.Value.ToString();
                switch (element.Name.LocalName)
                {
                case "id":
                    break;

                case "name":
                    Name = val;
                    break;

                case "item":
                    Item = val;
                    break;

                default:
                    DFXMLParser.UnexpectedXMLElement(xdoc.Root.Name.LocalName, element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#13
0
        public HE_HFReunion(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (var element in xdoc.Root.Elements())
            {
                var val = element.Value;
                int valI;
                int.TryParse(val, out valI);

                switch (element.Name.LocalName)
                {
                case "id":
                case "year":
                case "seconds72":
                case "type":
                    break;

                case "site_id":
                    if (valI != -1)
                    {
                        SiteId = valI;
                    }
                    break;

                case "subregion_id":
                    if (valI != -1)
                    {
                        SubregionId = valI;
                    }
                    break;

                case "feature_layer_id":
                    if (valI != -1)
                    {
                        FeatureLayerId = valI;
                    }
                    break;

                case "group_1_hfid":
                    if (HfId_Group1 == null)
                    {
                        HfId_Group1 = new List <int>();
                    }
                    HfId_Group1.Add(valI);
                    break;

                case "group_2_hfid":
                    if (HfId_Group2 == null)
                    {
                        HfId_Group2 = new List <int>();
                    }
                    HfId_Group2.Add(valI);
                    break;

                default:
                    DFXMLParser.UnexpectedXmlElement(xdoc.Root.Name.LocalName + "\t" + Types[Type], element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#14
0
文件: ArtForm.cs 项目: tier6tank/DFWV
        public ArtForm(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (var element in xdoc.Root.Elements())
            {
                var val = element.Value.Trim();
                int valI;
                int.TryParse(val, out valI);
                switch (element.Name.LocalName)
                {
                case "id":
                    break;

                case "name":
                    Name = val;
                    break;

                case "altname":
                    AltName = val;
                    break;

                case "description":
                    Description = val;
                    break;

                default:
                    DFXMLParser.UnexpectedXmlElement(xdoc.Root.Name.LocalName, element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#15
0
        public HE_FieldBattle(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (XElement element in xdoc.Root.Elements())
            {
                string val = element.Value.ToString();
                int    valI;
                Int32.TryParse(val, out valI);

                switch (element.Name.LocalName)
                {
                case "id":
                case "year":
                case "seconds72":
                case "type":
                    break;

                case "subregion_id":
                    if (valI != -1)
                    {
                        SubregionID = valI;
                    }
                    break;

                case "feature_layer_id":
                    if (valI != -1)
                    {
                        FeatureLayerID = valI;
                    }
                    break;

                case "coords":
                    if (val != "-1,-1")
                    {
                        Coords = new Point(Convert.ToInt32(val.Split(',')[0]), Convert.ToInt32(val.Split(',')[1]));
                    }
                    break;

                case "attacker_civ_id":
                    AttackerCivID = valI;
                    break;

                case "defender_civ_id":
                    DefenderCivID = valI;
                    break;

                case "attacker_general_hfid":
                    AttackerGeneralHFID = valI;
                    break;

                case "defender_general_hfid":
                    DefenderGeneralHFID = valI;
                    break;

                default:
                    DFXMLParser.UnexpectedXMLElement(xdoc.Root.Name.LocalName + "\t" + HistoricalEvent.Types[Type], element, xdoc.Root.ToString());
                    break;
                }
            }
        }
        public EC_UnassessedEventCollection(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (var element in xdoc.Root.Elements())
            {
                var val = element.Value;
                int valI;
                Int32.TryParse(val, out valI);

                switch (element.Name.LocalName)
                {
                case "id":
                case "start_year":
                case "start_seconds72":
                case "end_year":
                case "end_seconds72":
                case "event":
                case "type":
                    break;

                default:
                    DFXMLParser.UnexpectedXMLElement(xdoc.Root.Name.LocalName + "\t" + Types[Type], element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#17
0
        public UndergroundRegion(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (XElement element in xdoc.Root.Elements())
            {
                string val = element.Value.ToString();
                switch (element.Name.LocalName)
                {
                case "id":
                    break;

                case "type":
                    Type = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(val);
                    break;

                case "depth":
                    Depth = Convert.ToInt32(val);
                    break;

                default:
                    DFXMLParser.UnexpectedXMLElement(xdoc.Root.Name.LocalName, element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#18
0
        public HE_ItemStolen(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (var element in xdoc.Root.Elements())
            {
                var val = element.Value;
                int valI;
                int.TryParse(val, out valI);

                switch (element.Name.LocalName)
                {
                case "id":
                case "year":
                case "seconds72":
                case "type":
                    break;

                case "circumstance":
                    Circumstance = val;
                    break;

                case "circumstance_id":
                    CircumstanceId = valI;
                    if (Circumstance == "historical_event_collection")
                    {
                        HistoricalEventCollectionId = valI;
                    }
                    break;

                default:
                    DFXMLParser.UnexpectedXmlElement(xdoc.Root.Name.LocalName + "\t" + Types[Type], element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#19
0
        internal override void Plus(XDocument xdoc)
        {
            foreach (var element in xdoc.Root.Elements())
            {
                var val = element.Value;
                int valI;
                int.TryParse(val, out valI);

                switch (element.Name.LocalName)
                {
                case "id":
                case "type":
                    break;

                case "figures":
                    if (!HfIds.Contains(valI))
                    {
                        HfIds.Add(valI);
                    }
                    break;

                default:
                    DFXMLParser.UnexpectedXmlElement(xdoc.Root.Name.LocalName + "\t" + Types[Type], element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#20
0
        internal override void Plus(XDocument xdoc)
        {
            foreach (var element in xdoc.Root.Elements())
            {
                var val = element.Value;
                int valI;
                int.TryParse(val, out valI);

                switch (element.Name.LocalName)
                {
                case "id":
                case "type":
                    break;

                case "histfig1":
                case "histfig2":
                case "hf":
                case "hf_target":
                    break;

                case "link_type":
                    if (!HFLink.LinkTypes.Contains(val))
                    {
                        HFLink.LinkTypes.Add(val);
                    }
                    LinkType = HFLink.LinkTypes.IndexOf(val);
                    break;

                default:
                    DFXMLParser.UnexpectedXmlElement(xdoc.Root.Name.LocalName + "\t" + Types[Type], element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#21
0
        internal override void Plus(XDocument xdoc)
        {
            foreach (var element in xdoc.Root.Elements())
            {
                var val = element.Value;
                int valI;
                int.TryParse(val, out valI);

                switch (element.Name.LocalName)
                {
                case "id":
                case "type":
                    break;

                case "source":
                    EntityId_Source = valI;
                    break;

                case "destination":
                    EntityId_Destination = valI;
                    break;

                case "site":
                    SiteId = valI;
                    break;

                default:
                    DFXMLParser.UnexpectedXmlElement(xdoc.Root.Name.LocalName + "\t" + Types[Type], element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#22
0
        public HE_AddHFHFLink(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (var element in xdoc.Root.Elements())
            {
                var val = element.Value;
                int valI;
                int.TryParse(val, out valI);

                switch (element.Name.LocalName)
                {
                case "id":
                case "year":
                case "seconds72":
                case "type":
                    break;

                case "hfid":
                    HfId = valI;
                    break;

                case "hfid_target":
                    HfId_Target = valI;
                    break;

                default:
                    DFXMLParser.UnexpectedXmlElement(xdoc.Root.Name.LocalName + "\t" + Types[Type], element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#23
0
        public Region(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (XElement element in xdoc.Root.Elements())
            {
                string val = element.Value.ToString();

                switch (element.Name.LocalName)
                {
                case "id":
                    break;

                case "name":
                    Name = val;
                    break;

                case "type":
                    if (!Region.Types.Contains(val))
                    {
                        Region.Types.Add(val);
                    }
                    Type = Region.Types.IndexOf(val);
                    break;

                default:
                    DFXMLParser.UnexpectedXMLElement(xdoc.Root.Name.LocalName, element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#24
0
        public HE_HFReunion(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (XElement element in xdoc.Root.Elements())
            {
                string val = element.Value.ToString();
                int    valI;
                Int32.TryParse(val, out valI);

                switch (element.Name.LocalName)
                {
                case "id":
                case "year":
                case "seconds72":
                case "type":
                    break;

                case "site_id":
                    if (valI != -1)
                    {
                        SiteID = valI;
                    }
                    break;

                case "subregion_id":
                    if (valI != -1)
                    {
                        SubregionID = valI;
                    }
                    break;

                case "feature_layer_id":
                    if (valI != -1)
                    {
                        FeatureLayerID = valI;
                    }
                    break;

                case "group_1_hfid":
                    if (Group1HFID == null)
                    {
                        Group1HFID = new List <int>();
                    }
                    Group1HFID.Add(valI);
                    break;

                case "group_2_hfid":
                    if (Group2HFID == null)
                    {
                        Group2HFID = new List <int>();
                    }
                    Group2HFID.Add(valI);
                    break;

                default:
                    DFXMLParser.UnexpectedXMLElement(xdoc.Root.Name.LocalName + "\t" + HistoricalEvent.Types[Type], element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#25
0
        public Plant(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (var element in xdoc.Root.Elements())
            {
                var val = element.Value.Trim();
                switch (element.Name.LocalName)
                {
                case "id":
                    break;

                case "coords":
                    Coords = new Point3(
                        Convert.ToInt32(val.Split(',')[0]),
                        Convert.ToInt32(val.Split(',')[1]),
                        Convert.ToInt32(val.Split(',')[2]));
                    break;

                case "material":
                    if (!Item.Materials.Contains(val))
                    {
                        Item.Materials.Add(val);
                    }
                    Mat = Item.Materials.IndexOf(val);
                    break;

                default:
                    DFXMLParser.UnexpectedXmlElement(xdoc.Root.Name.LocalName, element, xdoc.Root.ToString());
                    break;
                }
            }
        }
        public HE_AssumeIdentity(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (var element in xdoc.Root.Elements())
            {
                var val = element.Value;
                int valI;
                Int32.TryParse(val, out valI);

                switch (element.Name.LocalName)
                {
                case "id":
                case "year":
                case "seconds72":
                case "type":
                    break;

                case "trickster_hfid":
                    TricksterHFID = valI;
                    break;

                case "identity_id":
                    IdentityID = valI;
                    break;

                case "target_enid":
                    TargetEnID = valI;
                    break;

                default:
                    DFXMLParser.UnexpectedXMLElement(xdoc.Root.Name.LocalName + "\t" + Types[Type], element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#27
0
        internal override void Plus(XDocument xdoc)
        {
            foreach (var element in xdoc.Root.Elements())
            {
                var val = element.Value;
                int valI;
                int.TryParse(val, out valI);

                switch (element.Name.LocalName)
                {
                case "id":
                case "type":
                    break;

                case "histfig":
                    Hfid = valI;
                    break;

                case "site":
                    SiteId = valI;
                    break;

                case "method":
                    Method = valI;
                    break;

                default:
                    DFXMLParser.UnexpectedXmlElement(xdoc.Root.Name.LocalName + "\t" + Types[Type], element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#28
0
        internal override void Plus(XDocument xdoc)
        {
            foreach (var element in xdoc.Root.Elements())
            {
                var val = element.Value;
                int valI;
                int.TryParse(val, out valI);

                switch (element.Name.LocalName)
                {
                case "id":
                case "type":
                    break;

                case "civ":
                case "group":
                case "site":
                case "structure":
                case "site_civ":
                case "builder_hf":
                    break;

                default:
                    DFXMLParser.UnexpectedXmlElement(xdoc.Root.Name.LocalName + "\t" + Types[Type], element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#29
0
        public HE_ArtifactLost(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (XElement element in xdoc.Root.Elements())
            {
                string val = element.Value.ToString();
                int    valI;
                Int32.TryParse(val, out valI);

                switch (element.Name.LocalName)
                {
                case "id":
                case "year":
                case "seconds72":
                case "type":
                    break;

                case "artifact_id":
                    ArtifactID = valI;
                    break;

                case "site_id":
                    SiteID = valI;
                    break;

                default:
                    DFXMLParser.UnexpectedXMLElement(xdoc.Root.Name.LocalName + "\t" + HistoricalEvent.Types[Type], element, xdoc.Root.ToString());
                    break;
                }
            }
        }
示例#30
0
        public UnitInventoryItem(XDocument xdoc, World world)
            : base(xdoc, world)
        {
            foreach (var element in xdoc.Root.Elements())
            {
                var val = element.Value.Trim();
                int valI;
                int.TryParse(val, out valI);
                switch (element.Name.LocalName)
                {
                case "id":
                    break;

                case "mode":
                    Mode = valI;
                    break;

                case "body_part":
                    if (!BodyParts.Contains(val))
                    {
                        BodyParts.Add(val);
                    }
                    BodyPart = BodyParts.IndexOf(val);
                    break;

                default:
                    DFXMLParser.UnexpectedXmlElement(xdoc.Root.Name.LocalName, element, xdoc.Root.ToString());
                    break;
                }
            }
        }