private void ParseHeader(ref ParsedItem item, ref string input) { var dataItem = itemDataService.ParseItem(input); item.Name = dataItem.Name; item.TypeLine = dataItem.Type; item.Rarity = dataItem.Rarity; if (item.Rarity == Rarity.Unknown) { var lines = NewlinePattern.Split(input); item.Rarity = GetRarity(lines[0]); } if (string.IsNullOrEmpty(item.Name) && string.IsNullOrEmpty(item.TypeLine)) { throw new NotSupportedException("Item not found."); } if (item.Rarity != Rarity.DivinationCard) { item.ItemLevel = GetInt(patterns.ItemLevel, input); item.Identified = !patterns.Unidentified.IsMatch(input); item.Corrupted = patterns.Corrupted.IsMatch(input); } }
private void ParseHeader(ref Item item, ref string input) { var dataItem = itemDataService.ParseItem(input); if (dataItem == null) { throw new NotSupportedException("Item not found."); } item.Name = dataItem.Name; item.Type = dataItem.Type; item.Rarity = dataItem.Rarity; var lines = NewlinePattern.Split(input); item.NameLine = SeparatorPattern.IsMatch(lines[1]) ? string.Empty : lines[1]; item.TypeLine = SeparatorPattern.IsMatch(lines[2]) ? string.Empty : lines[2]; if (item.Rarity == Rarity.Unknown) { item.Rarity = GetRarity(lines[0]); } if (item.Rarity != Rarity.DivinationCard) { item.ItemLevel = patterns.GetInt(patterns.ItemLevel, input); item.Identified = !patterns.Unidentified.IsMatch(input); item.Corrupted = patterns.Corrupted.IsMatch(input); } }