forked from External/mage
44 lines
1.1 KiB
Java
44 lines
1.1 KiB
Java
package mage.abilities.costs;
|
|
|
|
import mage.abilities.Ability;
|
|
import mage.game.Game;
|
|
|
|
public class AlternativeCostImpl extends CostsImpl implements AlternativeCost {
|
|
|
|
protected String name;
|
|
|
|
public AlternativeCostImpl(String name) {
|
|
this.name = name;
|
|
}
|
|
|
|
public AlternativeCostImpl(String name, Cost cost) {
|
|
this.name = name;
|
|
this.add(cost);
|
|
}
|
|
|
|
public AlternativeCostImpl(final AlternativeCostImpl cost) {
|
|
super(cost);
|
|
this.name = cost.name;
|
|
}
|
|
|
|
@Override
|
|
public boolean isAvailable(Game game, Ability source) {
|
|
for (int x=0; x < ((Costs) this).size(); x++) {
|
|
Cost cost = (Cost) ((Costs) this).get(x);
|
|
if (!cost.canPay(source.getSourceId(), source.getControllerId(), game)) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public String getName() {
|
|
return this.name;
|
|
}
|
|
|
|
@Override
|
|
public AlternativeCostImpl copy() {
|
|
return new AlternativeCostImpl(this);
|
|
}
|
|
}
|