Filtration/Filtration.ObjectModel/BlockItemTypes/SocketsBlockItem.cs

80 lines
1.7 KiB
C#

using System.Linq;
using System.Windows.Media;
using Filtration.ObjectModel.BlockItemBaseTypes;
using Filtration.ObjectModel.Enums;
using Filtration.ObjectModel.LootExplosionStudio;
namespace Filtration.ObjectModel.BlockItemTypes
{
public class SocketsBlockItem : NumericFilterPredicateBlockItem
{
public SocketsBlockItem()
{
}
public SocketsBlockItem(FilterPredicateOperator predicateOperator, int predicateOperand)
: base(predicateOperator, predicateOperand)
{
}
public override string PrefixText
{
get { return "Sockets"; }
}
public override int MaximumAllowed
{
get { return 2; }
}
public override string DisplayHeading
{
get
{
return "Sockets";
}
}
public override string SummaryText
{
get { return "Sockets " + FilterPredicate; }
}
public override Color SummaryBackgroundColor
{
get { return Colors.LightGray; }
}
public override Color SummaryTextColor
{
get { return Colors.Black; }
}
public override int SortOrder
{
get { return 5; }
}
public override int Minimum
{
get
{
return 0;
}
}
public override int Maximum
{
get
{
return 6;
}
}
public override int GetLootItemProperty(LootItem lootItem)
{
return lootItem.SocketGroups.Sum(c => c.Sockets.Count());
}
}
}