From 84776c71b2f3013385670c8eae11e9f4099301f1 Mon Sep 17 00:00:00 2001 From: Daniel Grigencha Date: Fri, 6 Dec 2024 00:47:33 +0100 Subject: [PATCH] Updated 'SelectedPiecesMessage' class. Updated the 'SelectedPiecesMessage' class by removing 'pieceIdentifier' attribute and its getter method from it. In Addition, the 'pieces' attribute and its getter method was added. --- .../message/client/SelectedPiecesMessage.java | 73 +++++++++++-------- 1 file changed, 41 insertions(+), 32 deletions(-) diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/SelectedPiecesMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/SelectedPiecesMessage.java index 210b38d2..b243873c 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/SelectedPiecesMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/SelectedPiecesMessage.java @@ -1,8 +1,10 @@ package pp.mdga.message.client; import com.jme3.network.serializing.Serializable; +import pp.mdga.game.Piece; -import java.util.UUID; +import java.util.ArrayList; +import java.util.List; /** * A message sent by a client to indicate that a piece has been selected for a bonus cards. @@ -10,43 +12,24 @@ @Serializable public class SelectedPiecesMessage extends ClientMessage { /** - * The piece identifier. + * Create SelectedPiecesMessage attributes. */ - private final UUID pieceIdentifier; + private final List pieces; + + /** + * Constructor. + */ + private SelectedPiecesMessage() { + this.pieces = new ArrayList<>(); + } /** * Constructor for SelectedPieces * - * @param pieceIdentifier the piece identifier + * @param pieces the piece identifier */ - public SelectedPiecesMessage(UUID pieceIdentifier) { - this.pieceIdentifier = pieceIdentifier; - } - - /** - * Default constructor for serialization purposes. - */ - private SelectedPiecesMessage() { - pieceIdentifier = null; - } - - /** - * Getter for the piece identifier - * - * @return the piece identifier - */ - public UUID getPieceIdentifier() { - return pieceIdentifier; - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "SelectedPieces{pieceIdentifier=" + pieceIdentifier + '}'; + public SelectedPiecesMessage(List pieces) { + this.pieces = pieces; } /** @@ -59,4 +42,30 @@ public String toString() { public void accept(ClientInterpreter interpreter, int from) { interpreter.received(this, from); } + + /** + * This method will be used to return pieces of SelectedPiecesMessage class. + * + * @return pieces as a List of Piece objects. + */ + public List getPieces() { + return pieces; + } + + /** + * Returns a string representation of this message. + * + * @return a string representation of this message + */ + @Override + public String toString() { + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append("SelectedPieces{Number of pieces: ").append(this.pieces.size()).append(" | "); + for (Piece piece : this.pieces) { + stringBuilder.append(piece).append(", "); + } + stringBuilder.deleteCharAt(stringBuilder.length() - 1); + stringBuilder.deleteCharAt(stringBuilder.length() - 1); + return stringBuilder.toString(); + } }