package eu.jonahbauer.wizard.core.model.card;

import eu.jonahbauer.wizard.common.model.Card;
import eu.jonahbauer.wizard.common.util.Pair;
import lombok.Getter;

import java.util.List;
import java.util.UUID;

@Getter
public final class NonPlayableCard extends GameCard {
    private final Card.Suit suit;

    public NonPlayableCard(Card card, Card.Suit suit) {
        super(card);
        this.suit = suit;
    }

    @Override
    public void play(UUID player, List<Card> hand, List<Pair<UUID, Card>> stack) {
        throw new IllegalArgumentException("This card cannot be played.");
    }

    @Override
    public Card.Suit getTrumpSuit() {
        return getSuit();
    }

    @Override
    public Card.Suit getTrickSuit() {
        throw new UnsupportedOperationException();
    }

    @Override
    public boolean isPlayable(List<Card> hand, List<Pair<UUID, Card>> stack) {
        return false;
    }
}
