2014-04-06 02:34:49 -07:00
|
|
|
package magic.model.target;
|
|
|
|
|
|
|
|
import magic.model.MagicPermanent;
|
|
|
|
import magic.model.MagicPlayer;
|
2020-01-15 12:02:42 -08:00
|
|
|
import magic.model.MagicSource;
|
2014-04-06 02:34:49 -07:00
|
|
|
|
|
|
|
public class MagicCMCPermanentFilter extends MagicPermanentFilterImpl {
|
|
|
|
|
|
|
|
private final MagicTargetFilter<MagicPermanent> targetFilter;
|
|
|
|
private final Operator operator;
|
|
|
|
private final int cmc;
|
|
|
|
|
|
|
|
public MagicCMCPermanentFilter(final MagicTargetFilter<MagicPermanent> targetFilter,final Operator operator,final int cmc) {
|
|
|
|
this.targetFilter = targetFilter;
|
|
|
|
this.operator = operator;
|
|
|
|
this.cmc = cmc;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2015-04-14 02:19:25 -07:00
|
|
|
public boolean accept(final MagicSource source,final MagicPlayer player,final MagicPermanent target) {
|
|
|
|
return targetFilter.accept(source,player,target) &&
|
2014-04-06 02:34:49 -07:00
|
|
|
operator.cmp(target.getConvertedCost(), cmc) ;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean acceptType(final MagicTargetType targetType) {
|
|
|
|
return targetFilter.acceptType(targetType);
|
|
|
|
}
|
|
|
|
}
|