From 9759b6871b1c4a7419aeb93305ed081fcbf77723 Mon Sep 17 00:00:00 2001 From: Daniel Grigencha Date: Mon, 25 Nov 2024 16:14:15 +0100 Subject: [PATCH] reverted server messages --- .../pp.mdga/message/server/ActivePlayer.java | 71 +++++++ .../java/pp.mdga/message/server/AnyPiece.java | 73 +++++++ .../java/pp.mdga/message/server/Briefing.java | 46 ++++ .../message/server/CeremonyMessage.java | 46 ++++ .../java/pp.mdga/message/server/Dice.java | 110 ++++++++++ .../pp.mdga/message/server/DiceAgain.java | 46 ++++ .../java/pp.mdga/message/server/DiceNow.java | 46 ++++ .../pp.mdga/message/server/EndOfTurn.java | 46 ++++ .../pp.mdga/message/server/LobbyAccept.java | 46 ++++ .../pp.mdga/message/server/LobbyDeny.java | 46 ++++ .../message/server/LobbyPlayerJoin.java | 71 +++++++ .../message/server/LobbyPlayerLeave.java | 88 ++++++++ .../pp.mdga/message/server/MoveMessage.java | 70 +++++++ .../java/pp.mdga/message/server/NoTurn.java | 46 ++++ .../pp.mdga/message/server/PauseGame.java | 46 ++++ .../java/pp.mdga/message/server/PlayCard.java | 131 ++++++++++++ .../pp.mdga/message/server/PossibleCard.java | 74 +++++++ .../pp.mdga/message/server/PossiblePiece.java | 119 +++++++++++ .../message/server/RankingResponse.java | 46 ++++ .../message/server/RankingRollAgain.java | 46 ++++ .../message/server/ReconnectBriefing.java | 69 ++++++ .../pp.mdga/message/server/ResumeGame.java | 46 ++++ .../message/server/ServerInterpreter.java | 196 ++++++++++++++++++ .../pp.mdga/message/server/ServerMessage.java | 31 +++ .../message/server/ServerStartGame.java | 46 ++++ .../pp.mdga/message/server/StartPiece.java | 71 +++++++ .../pp.mdga/message/server/UpdateReady.java | 89 ++++++++ .../pp.mdga/message/server/UpdateTSK.java | 87 ++++++++ .../pp.mdga/message/server/WaitPiece.java | 46 ++++ 29 files changed, 1994 insertions(+) create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/ActivePlayer.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/AnyPiece.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/Briefing.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/CeremonyMessage.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/Dice.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/DiceAgain.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/DiceNow.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/EndOfTurn.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyAccept.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyDeny.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyPlayerJoin.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyPlayerLeave.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/MoveMessage.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/NoTurn.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/PauseGame.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/PlayCard.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/PossibleCard.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/PossiblePiece.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/RankingResponse.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/RankingRollAgain.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/ReconnectBriefing.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/ResumeGame.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/ServerInterpreter.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/ServerMessage.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/ServerStartGame.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/StartPiece.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/UpdateReady.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/UpdateTSK.java create mode 100644 Projekte/mdga/model/src/main/java/pp.mdga/message/server/WaitPiece.java diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ActivePlayer.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ActivePlayer.java new file mode 100644 index 00000000..551cd305 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ActivePlayer.java @@ -0,0 +1,71 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; +import pp.mdga.game.Color; + +/** + * A message sent by the server to inform the clients about the active player. + */ +@Serializable +public class ActivePlayer extends ServerMessage { + /** + * The color of the active player. + */ + private final Color color; + + /** + * Constructor for ActivePlayer + * + * @param color the color of the active player + */ + public ActivePlayer(Color color) { + super(); + this.color = color; + } + + /** + * Default constructor for serialization purposes. + */ + private ActivePlayer() { + color = null; + } + + /** + * Getter for the color of the active player + * + * @return the color of the active player + */ + public Color getColor() { + return color; + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return "ActivePlayer{color=" + color + '}'; + } + + /** + * Returns the key for the informational text associated with this message. + * + * @return the key for the informational text + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/AnyPiece.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/AnyPiece.java new file mode 100644 index 00000000..eaf69c6d --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/AnyPiece.java @@ -0,0 +1,73 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; + +import java.util.ArrayList; +import java.util.List; + +/** + * A message sent by the server to the active player containing a list of pieces that the player can move any piece of the list on the board. + */ +@Serializable +public class AnyPiece extends ServerMessage { + /** + * The list of pieces + */ + private final ArrayList piece; + + /** + * Constructor for AnyPiece + */ + public AnyPiece() { + super(); + piece = new ArrayList<>(); + } + + /** + * Add a piece to the list of pieces + * + * @param piece the piece to add + */ + public void addPiece(String piece) { + this.piece.add(piece); + } + + /** + * Getter for the list of pieces + * + * @return the list of pieces + */ + public List getPiece() { + return piece; + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return "AnyPiece{piece=" + piece + '}'; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/Briefing.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/Briefing.java new file mode 100644 index 00000000..86942872 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/Briefing.java @@ -0,0 +1,46 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; + +/** + * A message sent by the server to the reconnected player to provide a briefing about the current game state. + */ +@Serializable +public class Briefing extends ServerMessage { + /** + * Constructs a new Briefing instance. + */ + public Briefing() { + super(); + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/CeremonyMessage.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/CeremonyMessage.java new file mode 100644 index 00000000..10197038 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/CeremonyMessage.java @@ -0,0 +1,46 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; + +/** + * A message sent by the server to indicate the beginning of the ceremony. + */ +@Serializable +public class CeremonyMessage extends ServerMessage { + /** + * Constructs a new Ceremony instance. + */ + public CeremonyMessage() { + super(); + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/Dice.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/Dice.java new file mode 100644 index 00000000..6b4bc1ee --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/Dice.java @@ -0,0 +1,110 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; + +import java.util.List; + +/** + * A message sent by the server to the client to inform about the dice roll. + */ +@Serializable +public class Dice extends ServerMessage { + /** + * The eye of the dice + */ + private final int diceEye; + + /** + * The pieces that can be moved + */ + private final List moveablePieces; + + /** + * Constructor for Dice + * + * @param diceEye the eye of the dice + * @param moveablePieces the pieces that can be moved + */ + public Dice(int diceEye, List moveablePieces) { + super(); + this.diceEye = diceEye; + this.moveablePieces = moveablePieces; + } + + /** + * Default constructor for serialization purposes. + */ + private Dice() { + diceEye = 0; + moveablePieces = null; + } + + /** + * Constructor for inactivePlayer + * + * @param diceEye the eye of the dice + * @return a new Dice object + */ + public static Dice inactivePlayer(int diceEye) { + return new Dice(diceEye, null); + } + + /** + * Constructor for activePlayer + * + * @param diceEye the eye of the dice + * @param moveablePieces the pieces that can be moved + * @return a new Dice object + */ + public static Dice activePlayer(int diceEye, List moveablePieces) { + return new Dice(diceEye, moveablePieces); + } + + /** + * Getter for the eye of the dice + * + * @return the eye of the dice + */ + public int getDiceEye() { + return diceEye; + } + + /** + * Getter for the pieces that can be moved + * + * @return the pieces that can be moved + */ + public List getMoveablePieces() { + return moveablePieces; + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/DiceAgain.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/DiceAgain.java new file mode 100644 index 00000000..c3402946 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/DiceAgain.java @@ -0,0 +1,46 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; + +/** + * A message sent by the server to the active player to indicate that they can roll the dice again. + */ +@Serializable +public class DiceAgain extends ServerMessage { + /** + * Constructs a new DiceAgain instance. + */ + public DiceAgain() { + super(); + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/DiceNow.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/DiceNow.java new file mode 100644 index 00000000..b72f22a7 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/DiceNow.java @@ -0,0 +1,46 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; + +/** + * A message sent by the server to the active player to enable the dice now button. + */ +@Serializable +public class DiceNow extends ServerMessage { + /** + * Constructs a new DiceNow instance. + */ + public DiceNow() { + super(); + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/EndOfTurn.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/EndOfTurn.java new file mode 100644 index 00000000..d9ac9cb0 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/EndOfTurn.java @@ -0,0 +1,46 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; + +/** + * A message sent by the server to indicate the end of the turn of the active player. + */ +@Serializable +public class EndOfTurn extends ServerMessage { + /** + * Constructs a new EndOfTurn instance. + */ + public EndOfTurn() { + super(); + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyAccept.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyAccept.java new file mode 100644 index 00000000..d252148d --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyAccept.java @@ -0,0 +1,46 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; + +/** + * A message sent by the server to indicate that the client has been accepted into the lobby. + */ +@Serializable +public class LobbyAccept extends ServerMessage { + /** + * Constructs a new LobbyAccept instance. + */ + public LobbyAccept() { + super(); + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyDeny.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyDeny.java new file mode 100644 index 00000000..0717f814 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyDeny.java @@ -0,0 +1,46 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; + +/** + * A message sent by the server to deny a client's request to join the lobby. + */ +@Serializable +public class LobbyDeny extends ServerMessage { + /** + * Constructs a new LobbyDeny instance. + */ + public LobbyDeny() { + super(); + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyPlayerJoin.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyPlayerJoin.java new file mode 100644 index 00000000..9472a150 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyPlayerJoin.java @@ -0,0 +1,71 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; + +/** + * A message sent from the server to the client indicating that a player has joined the lobby. + */ +@Serializable +public class LobbyPlayerJoin extends ServerMessage { + + /** + * The name of the player joining the lobby. + */ + private final String name; + + /** + * Constructs a new LobbyPlayerJoin instance with the specified player name. + * + * @param name the name of the player joining the lobby + */ + public LobbyPlayerJoin(String name) { + super(); + this.name = name; + } + + /** + * Default constructor for serialization purposes. + */ + private LobbyPlayerJoin() { + name = null; + } + + /** + * Returns the name of the player joining the lobby. + * + * @return the name of the player joining the lobby + */ + public String getName() { + return name; + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyPlayerLeave.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyPlayerLeave.java new file mode 100644 index 00000000..f68b7054 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyPlayerLeave.java @@ -0,0 +1,88 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; +import pp.mdga.game.Color; + +/** + * A message sent by the server to indicate that a player has left the lobby. + */ +@Serializable +public class LobbyPlayerLeave extends ServerMessage { + /** + * The name of the player leaving the lobby. + */ + private final String name; + + /** + * The color associated with the player leaving the lobby. + */ + private final Color color; + + /** + * Constructs a new LobbyPlayerLeave instance with the specified player name and color. + * + * @param name the name of the player leaving the lobby + * @param color the color associated with the player leaving the lobby + */ + public LobbyPlayerLeave(String name, Color color) { + super(); + this.name = name; + this.color = color; + } + + /** + * Default constructor for serialization purposes. + */ + private LobbyPlayerLeave() { + name = null; + color = null; + } + + /** + * Returns the name of the player leaving the lobby. + * + * @return the name of the player leaving the lobby + */ + public String getName() { + return name; + } + + /** + * Returns the color associated with the player leaving the lobby. + * + * @return the color associated with the player leaving the lobby + */ + public Color getColor() { + return color; + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/MoveMessage.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/MoveMessage.java new file mode 100644 index 00000000..27dbe370 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/MoveMessage.java @@ -0,0 +1,70 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; + +/** + * A message sent by the server to the client to move a piece on the board. + */ +@Serializable +public class MoveMessage extends ServerMessage { + /** + * The identifier of the piece that should be moved. + */ + private final String pieceIdentifier; + + /** + * Constructs a new MoveMessage instance. + * + * @param identifier the identifier of the piece that should be moved + */ + public MoveMessage(String identifier) { + super(); + this.pieceIdentifier = identifier; + } + + /** + * Default constructor for serialization purposes. + */ + private MoveMessage() { + pieceIdentifier = null; + } + + /** + * Returns the identifier of the piece that should be moved. + * + * @return the identifier of the piece that should be moved + */ + public String getIdentifier() { + return pieceIdentifier; + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/NoTurn.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/NoTurn.java new file mode 100644 index 00000000..8a412de4 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/NoTurn.java @@ -0,0 +1,46 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; + +/** + * A message sent by the server to the active player to indicate that he has no valid moves. + */ +@Serializable +public class NoTurn extends ServerMessage { + /** + * Constructs a new NoTurn instance. + */ + public NoTurn() { + super(); + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PauseGame.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PauseGame.java new file mode 100644 index 00000000..19c95651 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PauseGame.java @@ -0,0 +1,46 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; + +/** + * A message sent by the server to indicate that the game is paused. + */ +@Serializable +public class PauseGame extends ServerMessage { + /** + * Constructs a new PauseGame instance. + */ + public PauseGame() { + super(); + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PlayCard.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PlayCard.java new file mode 100644 index 00000000..743bcbe8 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PlayCard.java @@ -0,0 +1,131 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; +import pp.mdga.game.BonusCard; + +/** + * A message sent by the server to the active player to play a card. + */ +@Serializable +public class PlayCard extends ServerMessage { + /** + * The card that should be played. + */ + private final BonusCard card; + + /** + * The identifier of the piece that should be moved. + */ + private final String pieceIdentifier; + + private final String pieceIdentifierEnemy; + + /** + * Constructs a new PlayCard message. + * + * @param card the card that should be played + * @param pieceIdentifier the identifier of the piece that should be moved + */ + public PlayCard(BonusCard card, String pieceIdentifier, String pieceIdentifierEnemy) { + super(); + this.card = card; + this.pieceIdentifier = pieceIdentifier; + this.pieceIdentifierEnemy = pieceIdentifierEnemy; + } + + /** + * Default constructor for serialization purposes. + */ + private PlayCard() { + this.pieceIdentifierEnemy = null; + card = null; + pieceIdentifier = null; + } + + /** + * Creates a new PlayCard message for the given card and piece identifier. + * + * @param pieceIdentifier the identifier of the piece of the player that should be affected + * @param pieceIdentifierEnemy the identifier of the enemy piece that should be affected + * @return a new PlayCard message + */ + public static PlayCard swap(String pieceIdentifier, String pieceIdentifierEnemy) { + return new PlayCard(BonusCard.SWAP, pieceIdentifier, pieceIdentifierEnemy); + } + + /** + * Creates a new PlayCard message for the given card and piece identifier. + * + * @return a new PlayCard message + */ + public static PlayCard turbo() { + return new PlayCard(BonusCard.TURBO, null, null); + } + + /** + * Creates a new PlayCard message for the given card and piece identifier. + * + * @param pieceIdentifier the identifier of the piece of the player that should be affected + * @return a new PlayCard message + */ + public static PlayCard shield(String pieceIdentifier) { + return new PlayCard(BonusCard.SHIELD, pieceIdentifier, null); + } + + /** + * Returns the card that should be played. + * + * @return the card that should be played + */ + public BonusCard getCard() { + return card; + } + + /** + * Returns the identifier of the piece that should be moved. + * + * @return the identifier of the piece that should be moved + */ + public String getPieceIdentifier() { + return pieceIdentifier; + } + + /** + * Returns the identifier of the enemy piece that should be moved. + * + * @return the identifier of the enemy piece that should be moved + */ + public String getPieceIdentifierEnemy() { + return pieceIdentifierEnemy; + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PossibleCard.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PossibleCard.java new file mode 100644 index 00000000..35df9bef --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PossibleCard.java @@ -0,0 +1,74 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; +import pp.mdga.game.BonusCard; + +import java.util.ArrayList; +import java.util.List; + +/** + * A message sent by the server to the client to indicate the possible cards that can be chosen. + */ +@Serializable +public class PossibleCard extends ServerMessage { + /** + * The list of possible cards. + */ + private final List possibleCards; + + /** + * Constructor for a PossibleCard instance. + */ + public PossibleCard() { + super(); + possibleCards = new ArrayList<>(); + } + + /** + * Add a possible card to the list of possible cards + * + * @param card the possible card to add + */ + public void addPossibleCard(BonusCard card) { + this.possibleCards.add(card); + } + + /** + * Getter for the list of possible cards + * + * @return the list of possible cards + */ + public List getPossibleCards() { + return possibleCards; + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PossiblePiece.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PossiblePiece.java new file mode 100644 index 00000000..04bc73fa --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PossiblePiece.java @@ -0,0 +1,119 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; + +import java.util.ArrayList; +import java.util.List; + +/** + * A message sent by the server to the active player to give all possible pieces to choose from. + */ +@Serializable +public class PossiblePiece extends ServerMessage { + /** + * The list of possible own pieces + */ + private final List possibleOwnPieces; + + /** + * The list of possible enemy pieces + */ + private final List possibleEnemyPieces; + + /** + * Constructor for PossiblePiece + */ + public PossiblePiece() { + super(); + possibleOwnPieces = new ArrayList<>(); + possibleEnemyPieces = new ArrayList<>(); + } + + /** + * Swap the possible pieces + * + * @param possibleOwnPieces the list of possible own pieces + * @param possibleEnemyPieces the list of possible enemy pieces + * @return the swapped possible pieces + */ + public static PossiblePiece swapPossiblePieces(ArrayList possibleOwnPieces, ArrayList possibleEnemyPieces) { + PossiblePiece possiblePiece = new PossiblePiece(); + possiblePiece.possibleOwnPieces.addAll(possibleOwnPieces); + possiblePiece.possibleEnemyPieces.addAll(possibleEnemyPieces); + return possiblePiece; + } + + /** + * Get the possible pieces for the shield + * + * @param possibleOwnPieces the list of possible own pieces + * @return the possible pieces for the shield + */ + public static PossiblePiece shieldPossiblePieces(ArrayList possibleOwnPieces){ + PossiblePiece possiblePiece = new PossiblePiece(); + possiblePiece.possibleOwnPieces.addAll(possibleOwnPieces); + return possiblePiece; + } + + /** + * Add a piece to the list of possible pieces + * + * @param piece the piece to add + */ + public void addOwnPossiblePiece(String piece) { + this.possibleOwnPieces.add(piece); + } + + /** + * Add a piece to the list of possible enemy pieces + * + * @param piece the piece to add + */ + public void addEnemyPossiblePiece(String piece) { + this.possibleEnemyPieces.add(piece); + } + + /** Getter for the list of possible pieces + * @return the list of possible pieces + */ + public List getOwnPossiblePieces() { + return possibleOwnPieces; + } + + /** Getter for the list of possible enemy pieces + * @return the list of possible enemy pieces + */ + public List getEnemyPossiblePieces() { + return possibleEnemyPieces; + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/RankingResponse.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/RankingResponse.java new file mode 100644 index 00000000..9b5eda2f --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/RankingResponse.java @@ -0,0 +1,46 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; + +/** + * A message sent by the server to all client to inform them about the current ranking. (only in DetermineStartPlayer) + */ +@Serializable +public class RankingResponse extends ServerMessage { + /** + * Constructs a new RankingResponse instance. + */ + public RankingResponse() { + super(); + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/RankingRollAgain.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/RankingRollAgain.java new file mode 100644 index 00000000..eaf06392 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/RankingRollAgain.java @@ -0,0 +1,46 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; + +/** + * A message sent by the server to the clients to indicate that the ranking shall be rolled again. (only in DetermineStartPlayer) + */ +@Serializable +public class RankingRollAgain extends ServerMessage { + /** + * Constructs a new RankingRollAgain instance. + */ + public RankingRollAgain() { + super(); + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ReconnectBriefing.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ReconnectBriefing.java new file mode 100644 index 00000000..5a72f341 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ReconnectBriefing.java @@ -0,0 +1,69 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; +import pp.mdga.game.Game; + +/** + * A message sent by the server to a client that has reconnected to the game. (give the last saved model) + */ +@Serializable +public class ReconnectBriefing extends ServerMessage { + /** + * The game. + */ + private final Game game; + + /** + * Constructs a new ReconnectBriefing message. + */ + public ReconnectBriefing(Game game) { + super(); + this.game = game; + } + + /** + * Default constructor for serialization purposes. + */ + private ReconnectBriefing() { + this(null); + } + + /** + * Returns the game. + * + * @return the game + */ + public Game getGame() { + return game; + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ResumeGame.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ResumeGame.java new file mode 100644 index 00000000..1ebfd673 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ResumeGame.java @@ -0,0 +1,46 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; + +/** + * A message sent by the server to resume the game. + */ +@Serializable +public class ResumeGame extends ServerMessage { + /** + * Constructs a new ResumeGame instance. + */ + public ResumeGame() { + super(); + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ServerInterpreter.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ServerInterpreter.java new file mode 100644 index 00000000..c83abefd --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ServerInterpreter.java @@ -0,0 +1,196 @@ +package pp.mdga.message.server; + +/** + * An interface for processing server messages. + * Implementations of this interface can be used to handle different types of server messages. + */ +public interface ServerInterpreter { + /** + * Handles an ActivePlayer message received from the server. + * + * @param msg the ActivePlayer message received + */ + void received(ActivePlayer msg); + + /** + * Handles an AnyPiece message received from the server. + * + * @param msg the AnyPiece message received + */ + void received(AnyPiece msg); + + /** + * Handles a Briefing message received from the server. + * + * @param msg the Briefing message received + */ + void received(Briefing msg); + + /** + * Handles a Ceremony message received from the server. + * + * @param msg the Ceremony message received + */ + void received(CeremonyMessage msg); + + /** + * Handles a Dice message received from the server. + * + * @param msg the Dice message received + */ + void received(Dice msg); + + /** + * Handles a DiceAgain message received from the server. + * + * @param msg the DiceAgain message received + */ + void received(DiceAgain msg); + + /** + * Handles a DiceNow message received from the server. + * + * @param msg the DiceNow message received + */ + void received(DiceNow msg); + + /** + * Handles an EndOfGame message received from the server. + * + * @param msg the EndOfGame message received + */ + void received(EndOfTurn msg); + + /** + * Handles a GameOver message received from the server. + * + * @param msg the GameOver message received + */ + void received(LobbyAccept msg); + + /** + * Handles a LobbyDeny message received from the server. + * + * @param msg the LobbyDeny message received + */ + void received(LobbyDeny msg); + + /** + * Handles a LobbyPlayerJoin message received from the server. + * + * @param msg the LobbyPlayerJoin message received + */ + void received(LobbyPlayerJoin msg); + + /** + * Handles a LobbyPlayerLeave message received from the server. + * + * @param msg the LobbyPlayerLeave message received + */ + void received(LobbyPlayerLeave msg); + + /** + * Handles a MoveMessage message received from the server. + * + * @param msg the MoveMessage message received + */ + void received(MoveMessage msg); + + /** + * Handles a NoTurn message received from the server. + * + * @param msg the NoTurn message received + */ + void received(NoTurn msg); + + /** + * Handles a PauseGame message received from the server. + * + * @param msg the PauseGame message received + */ + void received(PauseGame msg); + + /** + * Handles a PlayCard message received from the server. + * + * @param msg the PlayCard message received + */ + void received(PlayCard msg); + + /** + * Handles a PossibleCard message received from the server. + * + * @param msg the PossibleCard message received + */ + void received(PossibleCard msg); + + /** + * Handles a PossiblePiece message received from the server. + * + * @param msg the PossiblePiece message received + */ + void received(PossiblePiece msg); + + /** + * Handles a RankingResponce message received from the server. + * + * @param msg the RankingResponce message received + */ + void received(RankingResponse msg); + + /** + * Handles a RankingRollAgain message received from the server. + * + * @param msg the RankingRollAgain message received + */ + void received(RankingRollAgain msg); + + /** + * Handles a ReconnectBriefing message received from the server. + * + * @param msg the ReconnectBriefing message received + */ + void received(ReconnectBriefing msg); + + /** + * Handles a ResumeGame message received from the server. + * + * @param msg the ResumeGame message received + */ + void received(ResumeGame msg); + + /** + * Handles a ServerStartGame message received from the server. + * + * @param msg the ServerStartGame message received + */ + void received(ServerStartGame msg); + + /** + * Handles a StartPiece message received from the server. + * + * @param msg the StartPiece message received + */ + void received(StartPiece msg); + + /** + * Handles a UpdateReady message received from the server. + * + * @param msg the UpdateReady message received + */ + void received(UpdateReady msg); + + /** + * Handles a UpdateTSK message received from the server. + * + * @param msg the UpdateTSK message received + */ + void received(UpdateTSK msg); + + /** + * Handles a WaitPiece message received from the server. + * + * @param msg the WaitPiece message received + */ + void received(WaitPiece msg); +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ServerMessage.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ServerMessage.java new file mode 100644 index 00000000..bc1d6b7d --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ServerMessage.java @@ -0,0 +1,31 @@ +package pp.mdga.message.server; + +import com.jme3.network.AbstractMessage; + +/** + * An abstract base class for server messages used in network transfer. + * It extends the AbstractMessage class provided by the jme3-network library. + */ +public abstract class ServerMessage extends AbstractMessage { + /** + * Constructs a new ServerMessage instance. + */ + protected ServerMessage() { + super(true); + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + public abstract void accept(ServerInterpreter interpreter); + + /** + * Gets the bundle key of the informational text to be shown at the client. + * This key is used to retrieve the appropriate localized text for display. + * + * @return the bundle key of the informational text + */ + public abstract String getInfoTextKey(); +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ServerStartGame.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ServerStartGame.java new file mode 100644 index 00000000..d6ec553d --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ServerStartGame.java @@ -0,0 +1,46 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; + +/** + * A message indicating that the game shall start. + */ +@Serializable +public class ServerStartGame extends ServerMessage { + /** + * Constructs a new ServerStartGame instance. + */ + public ServerStartGame() { + super(); + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/StartPiece.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/StartPiece.java new file mode 100644 index 00000000..eb9c5508 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/StartPiece.java @@ -0,0 +1,71 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; + +/** + * A message sent by the server to the active player that he has to move a start piece. + */ +@Serializable +public class StartPiece extends ServerMessage { + /** + * The identifier for the piece. + */ + private final String pieceIdentifier; + + /** + * Constructs a new StartPiece instance with the specified piece identifier. + * + * @param pieceIdentifier the identifier for the piece + */ + public StartPiece(String pieceIdentifier) { + super(); + this.pieceIdentifier = pieceIdentifier; + } + + /** + * Default constructor for serialization purposes. + */ + private StartPiece() { + super(); + this.pieceIdentifier = ""; + } + + /** + * Gets the identifier for the piece. + * + * @return the piece identifier + */ + public String getPieceIdentifier() { + return pieceIdentifier; + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/UpdateReady.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/UpdateReady.java new file mode 100644 index 00000000..6e815c95 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/UpdateReady.java @@ -0,0 +1,89 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; +import pp.mdga.game.Color; + +/** + * A message sent by the server to every client to update the readiness status of a player. + */ +@Serializable +public class UpdateReady extends ServerMessage { + /** + * The color associated with the update. + */ + private final Color color; + + /** + * Indicates whether the player is ready. + */ + private final boolean ready; + + /** + * Constructs a new UpdateReady instance with the specified color and readiness status. + * + * @param color the color associated with the update + * @param ready the readiness status + */ + public UpdateReady(Color color, boolean ready) { + super(); + this.color = color; + this.ready = ready; + } + + /** + * Default constructor for serialization purposes. + */ + private UpdateReady() { + super(); + this.color = null; + this.ready = false; + } + + /** + * Gets the color associated with the update. + * + * @return the color + */ + public Color getColor() { + return color; + } + + /** + * Checks if the player is ready. + * + * @return true if the player is ready, false otherwise + */ + public boolean isReady() { + return ready; + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/UpdateTSK.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/UpdateTSK.java new file mode 100644 index 00000000..017dd29b --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/UpdateTSK.java @@ -0,0 +1,87 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; +import pp.mdga.game.Color; + +/** + * A message sent by the server to every client to update the TSK. + */ +@Serializable +public class UpdateTSK extends ServerMessage { + /** + * The name associated with the update. + */ + private final String name; + + /** + * The color associated with the update. + */ + private final Color color; + + /** + * Constructs a new UpdateTSK instance with the specified name and color. + * + * @param name the name associated with the update + * @param color the color associated with the update + */ + public UpdateTSK(String name, Color color) { + super(); + this.name = name; + this.color = color; + } + + /** + * Default constructor for serialization purposes. + */ + private UpdateTSK() { + this("", null); + } + + /** + * Gets the name associated with the update. + * + * @return the name + */ + public String getName() { + return name; + } + + /** + * Gets the color associated with the update. + * + * @return the color + */ + public Color getColor() { + return color; + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/WaitPiece.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/WaitPiece.java new file mode 100644 index 00000000..5e32338a --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/WaitPiece.java @@ -0,0 +1,46 @@ +package pp.mdga.message.server; + +import com.jme3.network.serializing.Serializable; + +/** + * A message sent by the server to the active player to choose a piece from the waiting area. + */ +@Serializable +public class WaitPiece extends ServerMessage { + /** + * Constructs a new WaitPiece instance. + */ + public WaitPiece() { + super(); + } + + /** + * Accepts a visitor to process this message. + * + * @param interpreter the visitor to process this message + */ + @Override + public void accept(ServerInterpreter interpreter) { + interpreter.received(this); + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + return ""; + } + + /** + * Returns the key for the info text of this message. + * + * @return the key for the info text of this message + */ + @Override + public String getInfoTextKey() { + return ""; + } +}