foul-magics/Mage/src/main/java/mage/abilities/dynamicvalue/common/PredicateCardAssignment.java

24 lines
702 B
Java

package mage.abilities.dynamicvalue.common;
import mage.abilities.dynamicvalue.RoleAssignment;
import mage.cards.Card;
import mage.filter.predicate.Predicate;
import mage.game.Game;
import java.util.Set;
import java.util.stream.Collectors;
public class PredicateCardAssignment extends RoleAssignment<Predicate<? super Card>> {
public PredicateCardAssignment(Predicate<? super Card>... predicates) {
super(predicates);
}
@Override
protected Set<Predicate<? super Card>> makeSet(Card card, Game game) {
return attributes
.stream()
.filter(predicate -> predicate.apply(card, game))
.collect(Collectors.toSet());
}
}