package eu.jonahbauer.wizard.common.messages.observer;

import eu.jonahbauer.wizard.common.model.Card;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.jetbrains.annotations.NotNull;

import java.util.UUID;

/**
 * A {@link CardMessage} is sent whenever a player plays a card.
 */
@Getter
@RequiredArgsConstructor
@EqualsAndHashCode(callSuper = true)
public final class CardMessage extends ObserverMessage {
    /**
     * The UUID of the player.
     */
    private final @NotNull UUID player;
    /**
     * The card played.
     */
    private final @NotNull Card card;
}
