private void buildItemList(ItemFilterEnum filter = ItemFilterEnum.All, string?selectedItem = null) { _isProcessing = true; _listBox.Items.Clear(); foreach (var item in itemsForFilter(filter).OrderBy(str => str)) { var imageSource = AppModel.instance.imageSourceForItem(item); if (imageSource == null) { continue; } var stackPanel = createStackPanel(imageSource, R.itemName(item)); var listItem = new ListBoxItem { Content = stackPanel, Tag = item }; if (item.ToLowerInvariant().Contains("unique")) { var backgroundImage = AppModel.instance.imageSourceForRarity(Rarity.Unique); var brush = new ImageBrush(backgroundImage); listItem.Background = brush; } _listBox.Items.Add(listItem); if (selectedItem == item) { _listBox.SelectedItem = listItem; } } _isProcessing = false; }
private void setItemFilter(ItemFilterEnum filter) { if (_model == null) { return; } _model !.filter.setValue = filter; }
public void loadFilteredItems(ItemFilterEnum filter, string?selectedItem = null) { Title = getTitleForFilter(filter); Content = _listBox; buildItemList(filter, selectedItem: selectedItem); _isProcessing = false; }
private Item createDefaultItemForFilter(ItemFilterEnum filter) { var itemID = Constants.defaultItemIDForFilter(filter); return(new Item() { MarkedNew = true, Upgraded = false, Power = 1, Rarity = Rarity.Common, Type = itemID, }); }
private Button createFilterButton(ItemFilterEnum filter) { var button = new Button { Margin = new Thickness(5), }; button.Content = new Image { Source = imageSourceForFilter(filter) }; button.Command = new RelayCommand <object>(filterItems); button.CommandParameter = filter; return(button); }
private string defaultItemIDForFilter(ItemFilterEnum filter) { switch (filter) { case ItemFilterEnum.MeleeWeapons: return(Constants.DEFAULT_MELEE_WEAPON_ID); case ItemFilterEnum.Armor: return(Constants.DEFAULT_ARMOR_ID); case ItemFilterEnum.RangedWeapons: return(Constants.DEFAULT_RANGED_WEAPON_ID); case ItemFilterEnum.Artifacts: return(Constants.DEFAULT_ARTIFACT_ID); } throw new ArgumentException($"Invalid filter value {filter}", "filter"); }
private string getTitleForFilter(ItemFilterEnum filter) { switch (filter) { case ItemFilterEnum.Armor: return(R.SELECT_ARMOR); case ItemFilterEnum.Artifacts: return(R.SELECT_ARTIFACT); case ItemFilterEnum.MeleeWeapons: return(R.SELECT_MELEE_WEAPON); case ItemFilterEnum.RangedWeapons: return(R.SELECT_RANGED_WEAPON); default: return(R.SELECT_ITEM); } }
private IEnumerable <string> itemsForFilter(ItemFilterEnum filter) { switch (filter) { case ItemFilterEnum.Artifacts: return(ItemExtensions.artifacts); case ItemFilterEnum.Armor: return(ItemExtensions.armor); case ItemFilterEnum.MeleeWeapons: return(ItemExtensions.meleeWeapons); case ItemFilterEnum.RangedWeapons: return(ItemExtensions.rangedWeapons); case ItemFilterEnum.All: return(ItemExtensions.all); } return(new string[0]); }
private string mysteryBoxStringForFilter(ItemFilterEnum filter) { switch (filter) { case ItemFilterEnum.All: return("MysteryBoxAny"); case ItemFilterEnum.Armor: return("MysteryBoxArmor"); case ItemFilterEnum.Artifacts: return("MysteryBoxArtifact"); case ItemFilterEnum.MeleeWeapons: return("MysteryBoxMelee"); case ItemFilterEnum.RangedWeapons: return("MysteryBoxRanged"); } throw new Exception(); }
private ImageSource?imageSourceForFilter(ItemFilterEnum filter) { return(AppModel.instance.imageSourceForItem(mysteryBoxStringForFilter(filter))); }
private ImageSource?imageSourceForFilter(ItemFilterEnum filter) { return(ImageUriHelper.instance.imageSourceForItem(mysteryBoxStringForFilter(filter))); }