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

import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;

/**
 * A {@link StateMessage} is sent whenever the game changes its internal state.
 */
@Getter
@RequiredArgsConstructor
@EqualsAndHashCode(callSuper = true)
public final class StateMessage extends ObserverMessage {
    /**
     * The name of the new state in snake_case.
     */
    private final @NonNull String state;
}
