package magic.game.state;
public class GameCardState {
private final String cardName;
private final int quantity;
private final boolean isTapped;
GameCardState(String cardName, int quantity, boolean tapped) {
this.cardName = cardName;
this.quantity = quantity;
this.isTapped = tapped;
}
GameCardState(String cardName, int quantity) {
this(cardName, quantity, false);
}
public String getCardName() {
return cardName;
}
public int getQuantity() {
return quantity;
}
public boolean isTapped() {
return isTapped;
}
@Override
public boolean equals(Object obj) {
if (obj == this) {
return true;
} else if (!(obj instanceof GameCardState)) {
return false;
} else {
final GameCardState other = (GameCardState)obj;
return other.cardName.equals(getCardName()) &&
other.isTapped() == isTapped();
}
}
@Override
public int hashCode() {
int hash = 3;
hash = 37 * hash + (cardName == null ? 0 : cardName.hashCode());
hash = 37 * hash + (isTapped ? 1 : 0);
return hash;
}
}