public HistoricalEventCollection(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": break; case "start_year": if (valI != -1) { StartYear = valI; } break; case "start_seconds72": if (valI != -1) { StartSeconds = valI; } break; case "end_year": if (valI != -1) { EndYear = valI; } break; case "end_seconds72": if (valI != -1) { EndSeconds = valI; } break; case "event": if (Event_ == null) { Event_ = new List <int>(); } Event_.Add(valI); break; case "type": if (!Types.Contains(val)) { Types.Add(val); } Type = Types.IndexOf(val); break; } } }