Fehler in Spiellogik von Jongleur und Wolke behoben (#12)
This commit is contained in:
@@ -1,8 +0,0 @@
|
||||
package eu.jonahbauer.wizard.common.messages.observer;
|
||||
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public final class JugglingMessage extends ObserverMessage {
|
||||
|
||||
}
|
||||
|
@@ -6,7 +6,7 @@ import eu.jonahbauer.wizard.common.util.SealedClassTypeAdapterFactory;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@EqualsAndHashCode
|
||||
public abstract sealed class ObserverMessage permits CardMessage, HandMessage, JugglingMessage, PredictionMessage, ScoreMessage, StateMessage, TrickMessage, TrumpMessage, UserInputMessage {
|
||||
public abstract sealed class ObserverMessage permits CardMessage, HandMessage, PredictionMessage, ScoreMessage, StateMessage, TrickMessage, TrumpMessage, UserInputMessage {
|
||||
public static final Gson GSON = new GsonBuilder()
|
||||
.registerTypeAdapterFactory(SealedClassTypeAdapterFactory.of(ObserverMessage.class, "Message"))
|
||||
.create();
|
||||
|
@@ -1,8 +1,10 @@
|
||||
package eu.jonahbauer.wizard.common.messages.observer;
|
||||
|
||||
import eu.jonahbauer.wizard.common.messages.player.JuggleMessage;
|
||||
import eu.jonahbauer.wizard.common.messages.player.PickTrumpMessage;
|
||||
import eu.jonahbauer.wizard.common.messages.player.PlayCardMessage;
|
||||
import eu.jonahbauer.wizard.common.messages.player.PredictMessage;
|
||||
import eu.jonahbauer.wizard.common.model.card.Card;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -17,7 +19,8 @@ import java.util.UUID;
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public final class UserInputMessage extends ObserverMessage {
|
||||
/**
|
||||
* The UUID of the player whose input is required.
|
||||
* The UUID of the player whose input is required. May be {@code null} to indicate that an input is required from
|
||||
* every player.
|
||||
*/
|
||||
private final UUID player;
|
||||
/**
|
||||
@@ -45,6 +48,12 @@ public final class UserInputMessage extends ObserverMessage {
|
||||
* {@link UserInputMessage#getAction()} should be responded to with a {@link PlayCardMessage}.
|
||||
*/
|
||||
PLAY_CARD,
|
||||
/**
|
||||
* An action that indicates that a player should choose a card that will be given to his left neighbor as a
|
||||
* result of a played {@link Card#JUGGLER}. A {@link UserInputMessage} with this
|
||||
* {@link UserInputMessage#getAction()} should be responded to with a {@link JuggleMessage}.
|
||||
*/
|
||||
JUGGLE_CARD,
|
||||
/**
|
||||
* An action that indicates that a player should pick a trump suit. A {@link UserInputMessage} with this
|
||||
* {@link UserInputMessage#getAction()} should be responded to with a {@link PickTrumpMessage}.
|
||||
|
@@ -0,0 +1,13 @@
|
||||
package eu.jonahbauer.wizard.common.messages.player;
|
||||
|
||||
import eu.jonahbauer.wizard.common.model.card.Card;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
@Getter
|
||||
@RequiredArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public final class JuggleMessage extends PlayerMessage {
|
||||
private final Card card;
|
||||
}
|
@@ -6,7 +6,7 @@ import eu.jonahbauer.wizard.common.util.SealedClassTypeAdapterFactory;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@EqualsAndHashCode
|
||||
public abstract sealed class PlayerMessage permits PickTrumpMessage, PlayCardMessage, PredictMessage {
|
||||
public abstract sealed class PlayerMessage permits JuggleMessage, PickTrumpMessage, PlayCardMessage, PredictMessage {
|
||||
public static final Gson GSON = new GsonBuilder()
|
||||
.registerTypeAdapterFactory(SealedClassTypeAdapterFactory.of(PlayerMessage.class, "Message"))
|
||||
.create();
|
||||
|
Reference in New Issue
Block a user