private void RegisterKeys(Date ck3BookmarkDate) { RegisterRegex(@"(e|k|d|c|b)_[A-Za-z0-9_\-\']+", (reader, titleName) => { var historyItem = new StringOfItem(reader).String; if (historyItem.IndexOf('{') != -1) { var tempReader = new BufferedReader(historyItem); if (historyDict.TryGetValue(titleName, out var existingHistory)) { existingHistory.Update(historyFactory, tempReader); } else { var history = historyFactory.GetHistory(tempReader); historyDict.Add(titleName, new TitleHistory(history, ck3BookmarkDate)); } } }); RegisterRegex(CommonRegexes.Catchall, ParserHelpers.IgnoreItem); }
private void RegisterKeys(Parser parser) { parser.RegisterRegex(CommonRegexes.Integer, (reader, familyIdStr) => { var familyStr = new StringOfItem(reader).ToString(); if (!familyStr.Contains('{')) { return; } var tempReader = new BufferedReader(familyStr); var id = ulong.Parse(familyIdStr); var newFamily = Family.Parse(tempReader, id); var inserted = TryAdd(newFamily); if (!inserted) { Logger.Debug($"Redefinition of family {id}."); dict[newFamily.Id] = newFamily; } }); parser.RegisterRegex(CommonRegexes.Catchall, ParserHelpers.IgnoreAndLogItem); }
private void RegisterKeys() { RegisterRegex(@"(e|k|d|c|b)_[A-Za-z0-9_\-\']+", (reader, titleName) => { var historyItem = new StringOfItem(reader).ToString(); if (!historyItem.Contains('{')) { return; } var tempReader = new BufferedReader(historyItem); if (historyDict.TryGetValue(titleName, out var existingHistory)) { existingHistory.Update(historyFactory, tempReader); } else { var history = historyFactory.GetHistory(tempReader); historyDict.Add(titleName, new TitleHistory(history)); } }); RegisterRegex(CommonRegexes.Catchall, ParserHelpers.IgnoreItem); }