private ItemUsefulProperties EvaluateItem(ExileBot.Entity item) { ItemUsefulProperties ip = new ItemUsefulProperties(); Mods mods = item.GetComponent <Mods>(); Sockets socks = item.GetComponent <Sockets>(); Map map = item.HasComponent <Map>() ? item.GetComponent <Map>() : null; SkillGem sk = item.HasComponent <SkillGem>() ? item.GetComponent <SkillGem>() : null; Quality q = item.HasComponent <Quality>() ? item.GetComponent <Quality>() : null; ip.Name = this.poe.Files.BaseItemTypes.Translate(item.Path); ip.ItemLevel = mods.ItemLevel; ip.NumLinks = socks.LargestLinkSize; ip.NumSockets = socks.NumberOfSockets; ip.Rarity = mods.ItemRarity; ip.MapLevel = map == null ? 0 : 1; ip.IsCurrency = item.Path.Contains("Currency"); ip.IsSkillGem = sk != null; ip.Quality = q == null ? 0 : q.ItemQuality; ip.WorthChrome = socks != null && socks.IsRGB; ip.IsVaalFragment = item.Path.Contains("VaalFragment"); CraftingBase craftingBase; if (craftingBases.TryGetValue(ip.Name, out craftingBase) && Settings.GetBool("ItemAlert.Crafting")) { ip.IsCraftingBase = ip.ItemLevel >= craftingBase.MinItemLevel && ip.Quality >= craftingBase.MinQuality && (craftingBase.Rarities == null || craftingBase.Rarities.Contains(ip.Rarity)); } return(ip); }
private void skillGemsPerLevelCtrl_GemLabelGotFocus(object sender, RoutedEventArgs e) { var label = sender as TextBox; SkillGem gem = label.DataContext as SkillGem; UpdateSkillInfoPanel(gem); }
private void skillGemList_SelectionChanged(object sender, SelectionChangedEventArgs e) { questRewardTable.SkillAquisitionList.Clear(); vendorRewardTable.SkillAquisitionList.Clear(); if (e.AddedItems.Count == 0) { return; } //get selected gem SkillGem gem = (SkillGem)e.AddedItems[0]; UpdateSkillInfoPanel(gem); }
//testing non async method public async void LoadSkillGems() { AllSkillGems.Clear(); JObject allGems = await GetAsync(_skillsUrl); foreach (var child in allGems["cargoquery"]) { string gemname = child["title"]["name"].ToString(); SkillGem gem = new SkillGem(); gem.Name = child["title"]["name"].ToString(); gem.Attribute = child["title"]["primary attribute"].ToString(); gem.RequiredLevel = child["title"]["required level"].ToString(); QuestRewards qr = FindQuestByReward(gemname); gem.QuestRewards = qr; gem.VendorRewardsList = FindRewardsByGem(gem.Name); AllSkillGems.Add(gem); } }
private void UpdateSkillInfoPanel(SkillGem gem) { questRewardTable.SkillAquisitionList.Clear(); vendorRewardTable.SkillAquisitionList.Clear(); SelectedGem.Content = gem.Name; SelectedGem.Foreground = gem.NameColor; //get aquisistion if (gem.QuestRewards != null) { SkillAquisition sa = new SkillAquisition(gem); questRewardTable.SkillAquisitionList.Add(sa); } foreach (var vendorReward in gem.VendorRewardsList) { SkillAquisition sav = new SkillAquisition(gem.Name, vendorReward); vendorRewardTable.SkillAquisitionList.Add(sav); } }
private void skillName_TextChanged(object sender, TextChangedEventArgs e) { string filterOn = skillName.Text; if (filterOn == string.Empty) { allGemsFilterView.Filter = null; } else { allGemsFilterView.Filter = (o) => { SkillGem gem = (SkillGem)o; if (gem.Name.IndexOf(filterOn, StringComparison.OrdinalIgnoreCase) >= 0) { return(true); } return(false); }; } }
private ItemUsefulProperties EvaluateItem(Entity item) { ItemUsefulProperties ip = new ItemUsefulProperties(); Mods mods = item.GetComponent <Mods>(); Sockets socks = item.GetComponent <Sockets>(); Map map = item.HasComponent <Map>() ? item.GetComponent <Map>() : null; SkillGem sk = item.HasComponent <SkillGem>() ? item.GetComponent <SkillGem>() : null; Quality q = item.HasComponent <Quality>() ? item.GetComponent <Quality>() : null; string prefix = q != null && q.ItemQuality > 0 ? "Superior " : String.Empty; ip.Name = prefix + this.poe.Files.BaseItemTypes.Translate(item.Path); ip.ItemLevel = mods.ItemLevel; ip.NumLinks = socks.LargestLinkSize; ip.NumSockets = socks.NumberOfSockets; ip.Rarity = mods.ItemRarity; ip.MapLevel = map == null ? 0 : 1; ip.IsCurrency = item.Path.Contains("Currency"); ip.IsSkillGem = sk != null; ip.Quality = q == null ? 0 : q.ItemQuality; ip.WorthChrome = socks != null && socks.IsRGB; return(ip); }
public void Add(SkillGem gem) { AppDataManager.Instance().MyBuildSkillGems.Add(gem); // UpdateGemsPerLevel(); }
// Manipulates the visual identity string in order to generate the required link from the PoE CDN private void SetImgSrc(SkillGem skillGem) { var raw = (string)skillGem.VisualIdentity.GetValueOrDefault("dds_file", ""); skillGem.ImgSrcString = "https://web.poecdn.com/image/" + raw.Split('.')[0] + ".png?scale=1"; }
// Add skillGem to pool based on index from gems list public void Select(int index) { SkillGem skillGem = gems[index].item as SkillGem; // Select/Deselect skillGem if (skillGems.Contains(skillGem)) { skillGems.Remove(skillGem); gemsUI[index].GetComponent <Image>().color = Color.white; } else { int skillGemVal = (int)skillGem.gemType; // Check if skillGem has any conflicting gems, if so remove them for (int i = skillGems.Count - 1; i >= 0; i--) { int gemVal = (int)skillGems[i].gemType; if (skillGemVal < 10) { // skillGem is an element type skillGem // Check if this gem is also an element type if (gemVal < 10) { // Remove gem skillGems.RemoveAt(i); } } else if (skillGemVal == 10 || skillGemVal == 11) { // skillGem is a damage or heal effect // Check if this gem is also a damage or heal effect if (gemVal == 10 || gemVal == 11) { // Remove gem skillGems.RemoveAt(i); } } else if (skillGemVal == gemVal) { // Remove skill gem since its of the same type skillGems.RemoveAt(i); } } skillGems.Add(skillGem); for (int i = 0; i < gems.Count; i++) { if (skillGems.Contains(gems[i].item as SkillGem)) { gemsUI[i].GetComponent <Image>().color = Color.yellow; } else { gemsUI[i].GetComponent <Image>().color = Color.white; } } } UpdateSkill(); }
private void skillGemList_MouseDoubleClick(object sender, MouseButtonEventArgs e) { SkillGem gem = (SkillGem)skillGemList.SelectedItem; skillGemsPerLevelCtrl.Add(gem); }