private void ParseMods(IStatDataService statDataService, List <Modifier> modifiers, List <string> texts, List <Mod> mods, List <LineContentValue> hashes) { if (modifiers == null || mods == null || hashes == null) { return; } for (var index = 0; index < hashes.Count; index++) { var definition = statDataService.GetById(hashes[index].Value); if (definition == null) { continue; } var text = texts.FirstOrDefault(x => definition.Pattern.IsMatch(x)); var mod = mods.FirstOrDefault(x => x.Magnitudes != null && x.Magnitudes.Any(y => y.Hash == definition.Id)); modifiers.Add(new Modifier() { Id = definition.Id, Text = text ?? definition.Text, Tier = mod?.Tier, TierName = mod?.Name, }); } }
public PriceViewModel( ILogger logger, IDebouncer debouncer, ITradeSearchService tradeSearchService, IPoeNinjaCache poeNinjaCache, IStaticDataService staticDataService, ILanguageProvider languageProvider, IPoePriceInfoClient poePriceInfoClient, INativeClipboard nativeClipboard, IParserService parserService, SidekickSettings settings, IStatDataService statDataService, IItemCategoryService itemCategoryService) { this.logger = logger; this.debouncer = debouncer; this.tradeSearchService = tradeSearchService; this.poeNinjaCache = poeNinjaCache; this.staticDataService = staticDataService; this.languageProvider = languageProvider; this.poePriceInfoClient = poePriceInfoClient; this.nativeClipboard = nativeClipboard; this.parserService = parserService; this.settings = settings; this.statDataService = statDataService; this.itemCategoryService = itemCategoryService; Task.Run(Initialize); PropertyChanged += PriceViewModel_PropertyChanged; }
public TradeItem(Result result, IStatDataService statDataService) { Id = result.Id; Listing = result.Listing; Corrupted = result.Item.Corrupted; Identified = result.Item.Identified; Influences = result.Item.Influences; ItemLevel = result.Item.ItemLevel; Name = result.Item.Name; NameLine = result.Item.Name; Rarity = result.Item.Rarity; Sockets = result.Item.Sockets; Type = result.Item.TypeLine; TypeLine = result.Item.TypeLine; Icon = result.Item.Icon; Note = result.Item.Note; PropertyTexts = result.Item.Properties; Requirements = result.Item.Requirements; Properties.Armor = result.Item.Extended.ArmourAtMax; Properties.EnergyShield = result.Item.Extended.EnergyShieldAtMax; Properties.Evasion = result.Item.Extended.EvasionAtMax; Properties.DamagePerSecond = result.Item.Extended.DamagePerSecond; Properties.ElementalDps = result.Item.Extended.ElementalDps; Properties.PhysicalDps = result.Item.Extended.PhysicalDps; ParseMods(statDataService, Modifiers.Crafted, result.Item.CraftedMods, result.Item.Extended.Mods?.Crafted, result.Item.Extended.Hashes?.Crafted); ParseMods(statDataService, Modifiers.Enchant, result.Item.EnchantMods, result.Item.Extended.Mods?.Enchant, result.Item.Extended.Hashes?.Enchant); ParseMods(statDataService, Modifiers.Explicit, result.Item.ExplicitMods, result.Item.Extended.Mods?.Explicit, result.Item.Extended.Hashes?.Explicit); ParseMods(statDataService, Modifiers.Implicit, result.Item.ImplicitMods, result.Item.Extended.Mods?.Implicit, result.Item.Extended.Hashes?.Implicit); ParseMods(statDataService, Modifiers.Pseudo, result.Item.PseudoMods, result.Item.Extended.Mods?.Pseudo, result.Item.Extended.Hashes?.Pseudo); }
public ParserService( ILogger logger, ILanguageProvider languageProvider, IStatDataService statsDataService, IItemDataService itemDataService, IParserPatterns patterns) { this.logger = logger.ForContext(GetType()); this.languageProvider = languageProvider; this.statsDataService = statsDataService; this.itemDataService = itemDataService; this.patterns = patterns; }
public ParserService( ILogger logger, ILanguageProvider languageProvider, IStatDataService statsDataService, IItemDataService itemDataService, IParserPatterns patterns) { this.logger = logger.ForContext(GetType()); this.languageProvider = languageProvider; this.statsDataService = statsDataService; this.itemDataService = itemDataService; this.patterns = patterns; NewlinePattern = new Regex("[\\r\\n]+"); SeparatorPattern = new Regex("--------"); }
public TradeSearchService(ILogger logger, ILanguageProvider languageProvider, IHttpClientProvider httpClientProvider, IStaticDataService staticDataService, SidekickSettings configuration, IPoeTradeClient poeTradeClient, INativeBrowser nativeBrowser, IStatDataService statDataService) { this.logger = logger.ForContext(GetType()); this.languageProvider = languageProvider; this.httpClientProvider = httpClientProvider; this.staticDataService = staticDataService; this.configuration = configuration; this.poeTradeClient = poeTradeClient; this.nativeBrowser = nativeBrowser; this.statDataService = statDataService; }
public PriceViewModel( ITradeSearchService tradeSearchService, IPoeNinjaCache poeNinjaCache, IStaticDataService staticDataService, ILanguageProvider languageProvider, IPoePriceInfoClient poePriceInfoClient, INativeClipboard nativeClipboard, IParserService parserService, SidekickSettings settings, IStatDataService statDataService) { this.tradeSearchService = tradeSearchService; this.poeNinjaCache = poeNinjaCache; this.staticDataService = staticDataService; this.languageProvider = languageProvider; this.poePriceInfoClient = poePriceInfoClient; this.nativeClipboard = nativeClipboard; this.parserService = parserService; this.settings = settings; this.statDataService = statDataService; Task.Run(Initialize); }