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; } } }
internal override void Export(string table) { base.Export(table); table = GetType().Name; var vals = new List <object> { Id, HfId_Group1.DBExport(), HfId_Group2.DBExport(), SiteId.DBExport(), SubregionId.DBExport(), FeatureLayerId.DBExport() }; Database.ExportWorldItem(table, vals); }
internal override void Link() { base.Link(); if (HfId_Group1 != null) { Hf_Group1 = new List <HistoricalFigure>(); foreach (var group1Hfid in HfId_Group1.Where(group1Hfid => World.HistoricalFigures.ContainsKey(group1Hfid))) { Hf_Group1.Add(World.HistoricalFigures[group1Hfid]); } } if (HfId_Group2 == null) { return; } Hf_Group2 = new List <HistoricalFigure>(); foreach (var group2Hfid in HfId_Group2.Where(group2Hfid => World.HistoricalFigures.ContainsKey(group2Hfid))) { Hf_Group2.Add(World.HistoricalFigures[group2Hfid]); } }