Filtration/Filtration.ObjectModel/BlockItemTypes/LinkedSocketsBlockItem.cs

80 lines
1.8 KiB
C#
Raw Normal View History

using System.Linq;
using System.Windows.Media;
2015-06-24 14:57:16 -04:00
using Filtration.ObjectModel.BlockItemBaseTypes;
using Filtration.ObjectModel.Enums;
using Filtration.ObjectModel.LootExplosionStudio;
2015-06-04 13:15:54 -04:00
2015-06-24 14:57:16 -04:00
namespace Filtration.ObjectModel.BlockItemTypes
2015-06-04 13:15:54 -04:00
{
2015-06-24 14:57:16 -04:00
public class LinkedSocketsBlockItem : NumericFilterPredicateBlockItem
2015-06-04 13:15:54 -04:00
{
public LinkedSocketsBlockItem()
{
}
public LinkedSocketsBlockItem(FilterPredicateOperator predicateOperator, int predicateOperand)
: base(predicateOperator, predicateOperand)
{
}
public override string PrefixText
{
get { return "LinkedSockets"; }
}
public override int MaximumAllowed
{
get { return 2; }
}
public override string DisplayHeading
{
get
{
return "Linked Sockets";
}
}
public override string SummaryText
{
get { return "Linked Sockets " + FilterPredicate; }
}
public override Color SummaryBackgroundColor
{
get { return Colors.Gold; }
}
public override Color SummaryTextColor
{
get { return Colors.Black; }
}
public override int SortOrder
{
get { return 6; }
}
public override int Minimum
{
get
{
return 0;
}
}
public override int Maximum
{
get
{
return 6;
}
}
public override int GetLootItemProperty(LootItem lootItem)
{
return lootItem.SocketGroups.Where(c => c.Sockets.Count > 1).Sum(socketGroup => socketGroup.Sockets.Count);
}
2015-06-04 13:15:54 -04:00
}
}