foul-magics/Mage/src/main/java/mage/abilities/costs/Cost.java
2020-02-05 02:17:00 +04:00

38 lines
829 B
Java

package mage.abilities.costs;
import mage.abilities.Ability;
import mage.game.Game;
import mage.target.Targets;
import java.io.Serializable;
import java.util.UUID;
public interface Cost extends Serializable {
UUID getId();
String getText();
void setText(String text);
/**
* Check is it possible to pay
* For mana it checks only single color and amount available, not total mana cost
*/
boolean canPay(Ability ability, UUID sourceId, UUID controllerId, Game game);
boolean pay(Ability ability, Game game, UUID sourceId, UUID controllerId, boolean noMana);
boolean pay(Ability ability, Game game, UUID sourceId, UUID controllerId, boolean noMana, Cost costToPay);
boolean isPaid();
void clearPaid();
void setPaid();
Targets getTargets();
Cost copy();
}