Merge remote-tracking branch 'origin/gui' into gui

This commit is contained in:
Simon Wilkening 2024-11-22 00:44:55 +01:00
commit fe68d991fc
4 changed files with 31 additions and 6 deletions

View File

@ -246,11 +246,12 @@ public class ServerGameLogic implements ClientInterpreter {
*/
@Override
public void received(ViewAssetsRequest msg, int from) {
Player player = playerHandler.getPlayerById(from);
if (player != null) {
LOGGER.log(Level.DEBUG, "Processing ViewAssetsRequest for player {0}", player.getName());
Player sender = playerHandler.getPlayerById(from);
Player player = msg.getPlayer();
if (sender != null && player != null) {
LOGGER.log(Level.DEBUG, "Processing ViewAssetsRequest for player {0}", sender.getName());
send(player, new ViewAssetsResponse(player.getProperties(), player.getAccountBalance(), player.getNumJailCard()));
send(sender, new ViewAssetsResponse(boardManager, player.getProperties(), player.getAccountBalance(), player.getNumJailCard()));
}
}

View File

@ -1,12 +1,25 @@
package pp.monopoly.message.client;
import pp.monopoly.game.server.Player;
/**
* Represents a request from a player to view their assets.
*/
public class ViewAssetsRequest extends ClientMessage{
private final Player player;
public ViewAssetsRequest(Player player) {
this.player = player;
}
@Override
public void accept(ClientInterpreter interpreter, int from) {
interpreter.received(this, from);
}
public Player getPlayer() {
return player;
}
}

View File

@ -2,13 +2,16 @@ package pp.monopoly.message.server;
import java.util.List;
import pp.monopoly.model.fields.BoardManager;
import pp.monopoly.model.fields.PropertyField;
/**
* Represents a response containing the player's assets.
*/
public class ViewAssetsResponse extends ServerMessage{
private final List<PropertyField> properties;
private final BoardManager board;
private final int accountBalance;
private final int jailCards;
@ -18,7 +21,8 @@ public class ViewAssetsResponse extends ServerMessage{
* @param properties a List of PropertyField objects representing the player's properties
* @param accountBalance the player's current account balance
*/
public ViewAssetsResponse(List<PropertyField> properties, int accountBalance, int jailCards) {
public ViewAssetsResponse(BoardManager board, List<PropertyField> properties, int accountBalance, int jailCards) {
this.board = board;
this.properties = properties;
this.accountBalance = accountBalance;
this.jailCards = jailCards;
@ -47,4 +51,7 @@ public class ViewAssetsResponse extends ServerMessage{
return jailCards;
}
public BoardManager getboard() {
return board;
}
}

View File

@ -22,7 +22,7 @@ public class BoardManager {
* Creates a Monopoly GameBoard
* @return the List of Fields in correct Order
*/
private static List<Field> createBoard() {
private List<Field> createBoard() {
ArrayList<Field> fields = new ArrayList<>();
fields.add(new GoField());
@ -88,4 +88,8 @@ public class BoardManager {
if (board.contains(field)) return field.getId();
else throw new NoSuchElementException();
}
public List<Field> getBoard() {
return board;
}
}