Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }