Beispiel #1
0
 private static bool Match(this IItemFilters filters, ItemModelBase item)
 {
     return((filters.Category == default || filters.Category == item.Category) &&
            (filters.Rarity == default || filters.Rarity == item.Rarity) &&
            (filters.Element == default || filters.Element == item.Definition.Element) &&
            (filters.ArmorType == default || filters.ArmorType == item.Definition.ArmorType) &&
            (filters.ItemName.Length == 0 || item.DisplayName.IndexOf(filters.ItemName, StringComparison.InvariantCultureIgnoreCase) != -1));
 }
Beispiel #2
0
 public static IReadOnlyList <TItem> GetFilteredItems <TItem>(this IReadOnlyList <TItem> items, IItemFilters filters)
     where TItem : ItemModelBase
 {
     return(filters.IsEmpty() ? items : items.Where(filters.Match).ToList());
 }
Beispiel #3
0
 private static bool IsEmpty(this IItemFilters filters)
 {
     return(filters.Category == default && filters.Rarity == default && filters.Element == default && filters.ArmorType == default && filters.ItemName.Length == 0);
 }
Beispiel #4
0
 public static int GetFilteredItemCount(this IReadOnlyCollection <ItemModelBase> items, IItemFilters filters)
 {
     return(filters.IsEmpty() ? items.Count : items.Count(filters.Match));
 }