Restructured Mage module

This commit is contained in:
poixen 2015-11-29 21:56:49 +01:00
parent 727d62babb
commit 46eb6c0525
1502 changed files with 11 additions and 9 deletions

View file

@ -0,0 +1,57 @@
package mage;
import java.io.Serializable;
import java.util.List;
import java.util.UUID;
import mage.abilities.Abilities;
import mage.abilities.Ability;
import mage.abilities.costs.mana.ManaCost;
import mage.abilities.costs.mana.ManaCosts;
import mage.constants.CardType;
import mage.game.Game;
public interface MageObject extends MageItem, Serializable {
String getName();
String getIdName();
String getLogName();
String getImageName();
void setName(String name);
List<CardType> getCardType();
List<String> getSubtype();
boolean hasSubtype(String subtype);
List<String> getSupertype();
Abilities<Ability> getAbilities();
boolean hasAbility(UUID abilityId, Game game);
ObjectColor getColor(Game game);
ManaCosts<ManaCost> getManaCost();
MageInt getPower();
MageInt getToughness();
void adjustChoices(Ability ability, Game game);
void adjustCosts(Ability ability, Game game);
void adjustTargets(Ability ability, Game game);
MageObject copy();
/**
* Defines that MageObject is a copy of another object
* @param isCopy
*/
void setCopy(boolean isCopy);
/**
* Checks if current MageObject is a copy of another object
* @return
*/
boolean isCopy();
int getZoneChangeCounter(Game game);
void updateZoneChangeCounter(Game game);
void setZoneChangeCounter(int value, Game game);
}