Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        private void skillGemsPerLevelCtrl_GemLabelGotFocus(object sender, RoutedEventArgs e)
        {
            var      label = sender as TextBox;
            SkillGem gem   = label.DataContext as SkillGem;

            UpdateSkillInfoPanel(gem);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        //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);
            }
        }
Ejemplo n.º 5
0
        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);
            }
        }
Ejemplo n.º 6
0
        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);
                };
            }
        }
Ejemplo n.º 7
0
        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();
 }
Ejemplo n.º 9
0
        // 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";
        }
Ejemplo n.º 10
0
    // 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();
    }
Ejemplo n.º 11
0
        private void skillGemList_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            SkillGem gem = (SkillGem)skillGemList.SelectedItem;

            skillGemsPerLevelCtrl.Add(gem);
        }