Пример #1
0
        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;
        }
Пример #2
0
 private void setItemFilter(ItemFilterEnum filter)
 {
     if (_model == null)
     {
         return;
     }
     _model !.filter.setValue = filter;
 }
Пример #3
0
        public void loadFilteredItems(ItemFilterEnum filter, string?selectedItem = null)
        {
            Title   = getTitleForFilter(filter);
            Content = _listBox;

            buildItemList(filter, selectedItem: selectedItem);

            _isProcessing = false;
        }
Пример #4
0
        private Item createDefaultItemForFilter(ItemFilterEnum filter)
        {
            var itemID = Constants.defaultItemIDForFilter(filter);

            return(new Item()
            {
                MarkedNew = true,
                Upgraded = false,
                Power = 1,
                Rarity = Rarity.Common,
                Type = itemID,
            });
        }
Пример #5
0
        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);
        }
Пример #6
0
        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");
        }
Пример #7
0
        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);
            }
        }
Пример #8
0
        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]);
        }
Пример #9
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();
        }
Пример #10
0
 private ImageSource?imageSourceForFilter(ItemFilterEnum filter)
 {
     return(AppModel.instance.imageSourceForItem(mysteryBoxStringForFilter(filter)));
 }
Пример #11
0
 private ImageSource?imageSourceForFilter(ItemFilterEnum filter)
 {
     return(ImageUriHelper.instance.imageSourceForItem(mysteryBoxStringForFilter(filter)));
 }