private void CraftButton_Click(object sender, RoutedEventArgs e) { BigBox.Text = ""; object c = CurrencyBox.GetSelected(); if (c == null) { BigBox.Text = "No currency selected"; return; } string res; if (c is PoEEssenceData) { res = Bench.ApplyEssence(c as PoEEssenceData); if (res != null) { BigBox.Text = res; } } else if (c is PoECurrencyData) { res = Bench.ApplyCurrency(c as PoECurrencyData); if (res != null) { BigBox.Text = res; } } else { IEnumerable <PoEFossilData> collection = ((System.Collections.IList)c).Cast <PoEFossilData>(); if (collection != null && collection.Count() > 0) { res = Bench.ApplyFossils(collection.ToList()); if (res != null) { BigBox.Text = res; } } else { BigBox.Text = "No fossil selected"; return; } } if (res == null) { ItemSlot.UpdateData(Bench.BenchItem); CollectionViewSource.GetDefaultView(Bench.CurrencySpent).Refresh(); ModPreview.UpdatePreviews(); } }
private void BenchMove_Click(object sender, EventArgs e) { ItemCraft item = ((MenuItem)sender).Tag as ItemCraft; bool samebase = item != null && Bench.BenchItem != null && item.SourceData == Bench.BenchItem.SourceData; Bench.BenchItem = item.Copy(); ItemSlot.UpdateData(Bench.BenchItem); ModPreview.UpdatePreviews(); if (!samebase) { ModPreview.UpdateCrafts(); ModPreview.UpdateEnchantments(); Bench.PostRoll = new PostRollOptions(); PostCraftButton.ClearValue(Button.BackgroundProperty); } }
private void ForceAddMod(object sender, ModsControl.AddModEventArgs e) { BigBox.Text = ""; object o = e.SelectedMod; if (o == null) { return; } KeyValuePair <PoEModData, object> kv = (KeyValuePair <PoEModData, object>)o; string res = null; if (kv.Value is int || kv.Value is string) { if (kv.Key.generation_type == ModLogic.Enchantment) { Bench.BenchItem.AddEnchantment(kv.Key); } else { res = Bench.ForceAddMod(kv.Key); } } else if (kv.Value is IDictionary <string, int> dict) { res = Bench.ForceAddMod(kv.Key, costs: dict); } else { BigBox.Text = "Unrecognized key-value format for selected mod"; return; } if (res != null) { BigBox.Text = res; } else { ItemSlot.UpdateData(Bench.BenchItem); ModPreview.UpdatePreviews(); CollectionViewSource.GetDefaultView(Bench.CurrencySpent).Refresh(); } }
private void ItemBaseButton_Click(object sender, RoutedEventArgs e) { BigBox.Text = ""; if (CraftingDatabase.CoreBaseItems == null) { return; } BaseItemDialog d = new BaseItemDialog(CraftingDatabase.CoreBaseItems) { Owner = this }; bool?res = d.ShowDialog(); if (!res.HasValue || !res.Value || d.ItemNameView.SelectedItem == null) { return; } if (int.TryParse(d.ILvlBox.Text, out int ilvl)) { ilvl = (ilvl < 1) ? 1 : (ilvl > 100) ? 100 : ilvl; } else { ilvl = 100; } ISet <ItemInfluence> infs = new HashSet <ItemInfluence>(); if (d.ShaperCheck.IsChecked ?? false) { infs.Add(ItemInfluence.Shaper); } if (d.ElderCheck.IsChecked ?? false) { infs.Add(ItemInfluence.Elder); } if (d.RedeemerCheck.IsChecked ?? false) { infs.Add(ItemInfluence.Redeemer); } if (d.HunterCheck.IsChecked ?? false) { infs.Add(ItemInfluence.Hunter); } if (d.WarlordCheck.IsChecked ?? false) { infs.Add(ItemInfluence.Warlord); } if (d.CrusaderCheck.IsChecked ?? false) { infs.Add(ItemInfluence.Crusader); } Bench.BenchItem = new ItemCraft(d.SelectedBase, ilvl, infs); ItemSlot.UpdateData(Bench.BenchItem); ModPreview.UpdatePreviews(); ModPreview.UpdateCrafts(); ModPreview.UpdateEnchantments(); Bench.PostRoll = new PostRollOptions(); PostCraftButton.ClearValue(Button.BackgroundProperty); }
private void BenchItem_Edited(object sender, EventArgs e) { ModPreview.UpdatePreviews(); }
private void Currency_SelectionChanged(object sender, CurrencySelector.CurrencyEventArgs e) { ModPreview.UpdatePreviews(); }