move removeVariableManaCost from CardUtil to ManaCosts interface

This commit is contained in:
igoudt 2017-04-26 21:01:27 +02:00
parent 05785f71b9
commit 7a4a0b9faa
2 changed files with 13 additions and 9 deletions

View file

@ -61,4 +61,16 @@ public interface ManaCosts<T extends ManaCost> extends List<T>, ManaCost {
@Override
ManaCosts<T> copy();
static ManaCosts<ManaCost> removeVariableManaCost(ManaCosts<ManaCost> m) {
ManaCosts<ManaCost> manaCosts = new ManaCostsImpl<>();
for(ManaCost manaCost : m){
if(!(manaCost instanceof VariableManaCost)){
manaCosts.add(manaCost);
}
}
return manaCosts;
}
}

View file

@ -163,15 +163,7 @@ public final class CardUtil {
return adjustedCost;
}
public static ManaCosts<ManaCost> removeVariableManaCost(ManaCosts<ManaCost> manaCosts) {
ManaCosts<ManaCost> adjustedCost = new ManaCostsImpl<>();
for (ManaCost manaCost : manaCosts) {
if (!(manaCost instanceof VariableManaCost)) {
adjustedCost.add(manaCost);
}
}
return adjustedCost;
}
public static void reduceCost(SpellAbility spellAbility, ManaCosts<ManaCost> manaCostsToReduce) {
adjustCost(spellAbility, manaCostsToReduce, true);