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

import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Range;

import java.util.UUID;

/**
 * A {@link PredictionMessage} is sent after a player makes (or changes) his prediction.
 */
@Getter
@RequiredArgsConstructor
@EqualsAndHashCode(callSuper = true)
public final class PredictionMessage extends ObserverMessage {
    /**
     * The UUID of the player who made a prediction.
     */
    private final @NotNull UUID player;
    /**
     * The prediction.
     */
    private final @Range(from = 0, to = Integer.MAX_VALUE) int prediction;
}
