From bb20b03073340ceec00bee61ccd277e903c95294 Mon Sep 17 00:00:00 2001 From: rubenpirreram Date: Wed, 20 May 2026 17:48:27 +0200 Subject: [PATCH] Fixed: now at every action is sent all playersList --- .../it/polimi/ingsw/gc14/Network/NetworkEvent.java | 11 ++++++----- .../ingsw/gc14/Network/NetworkEvents/AddPlayer.java | 2 +- .../Network/NetworkEvents/DisconnectedPlayer.java | 2 +- .../Network/NetworkEvents/DrawLowerBuildingCard.java | 2 +- .../Network/NetworkEvents/DrawLowerTribeCard.java | 2 +- .../Network/NetworkEvents/DrawUpperBuildingCard.java | 2 +- .../Network/NetworkEvents/DrawUpperTribeCard.java | 2 +- .../gc14/Network/NetworkEvents/ReconnectPlayer.java | 2 +- .../ingsw/gc14/Network/NetworkEvents/SkipTurn.java | 2 +- .../ingsw/gc14/Network/NetworkEvents/SlotChoice.java | 2 +- .../ingsw/gc14/Network/NetworkEvents/TotemChoice.java | 2 +- .../java/it/polimi/ingsw/gc14/ServerLauncher.java | 2 +- 12 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvent.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvent.java index d5eecad..7b58ba0 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvent.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvent.java @@ -8,6 +8,7 @@ import it.polimi.ingsw.gc14.Model.Player; import it.polimi.ingsw.gc14.Model.Slot; import java.io.Serializable; +import java.util.List; import java.util.Map; /** @@ -55,9 +56,9 @@ public abstract class NetworkEvent implements Serializable { protected CurrentState currentState; /** - * Player directly involved in the event, when required. + * List of all players. */ - protected Player player; + protected List playerList; /** * Sets the game data associated with this network event. @@ -65,16 +66,16 @@ public abstract class NetworkEvent implements Serializable { * @param slotPlayerMap the map associating each slot with the player occupying it. * @param orderLogicCard the order logic card used to manage turn order. * @param currentState the current state of the game. - * @param player the player directly associated with the event. + * @param playerList the list of the actual state of the players */ public void setData(Map slotPlayerMap, OrderLogicCard orderLogicCard, CurrentState currentState, - Player player) { + List playerList) { this.slotPlayerMap = slotPlayerMap; this.orderLogicCard = orderLogicCard; this.currentState = currentState; - this.player = player; + this.playerList = playerList; } /** diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/AddPlayer.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/AddPlayer.java index 9513190..c61f28d 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/AddPlayer.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/AddPlayer.java @@ -48,7 +48,7 @@ public class AddPlayer extends NetworkEvent implements Serializable { public boolean apply(MiniModel miniModel){ if(isError) return false; - miniModel.setPlayer(player); + miniModel.setPlayers(playerList); miniModel.setOrderLogicCard(orderLogicCard); miniModel.setCurrentState(currentState); miniModel.setSlotPlayerMap(slotPlayerMap); diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DisconnectedPlayer.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DisconnectedPlayer.java index a7db467..e73a323 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DisconnectedPlayer.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DisconnectedPlayer.java @@ -37,7 +37,7 @@ public class DisconnectedPlayer extends NetworkEvent implements Serializable{ return false; if(miniModel!=null) { - miniModel.setPlayer(player); + miniModel.setPlayers(playerList); miniModel.setOrderLogicCard(orderLogicCard); miniModel.setCurrentState(currentState); miniModel.setSlotPlayerMap(slotPlayerMap); diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerBuildingCard.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerBuildingCard.java index 95fbdfd..d0cfb5a 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerBuildingCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerBuildingCard.java @@ -43,7 +43,7 @@ public class DrawLowerBuildingCard extends NetworkEvent implements Serializable return false; miniModel.lowerListBuildingCards.remove(pos); - miniModel.setPlayer(player); + miniModel.setPlayers(playerList); miniModel.setOrderLogicCard(orderLogicCard); miniModel.setCurrentState(currentState); miniModel.setSlotPlayerMap(slotPlayerMap); diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerTribeCard.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerTribeCard.java index 628a9c8..b9b7394 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerTribeCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerTribeCard.java @@ -42,7 +42,7 @@ public class DrawLowerTribeCard extends NetworkEvent implements Serializable{ return false; miniModel.lowerListTribeCards.remove(pos); - miniModel.setPlayer(player); + miniModel.setPlayers(playerList); miniModel.setOrderLogicCard(orderLogicCard); miniModel.setCurrentState(currentState); miniModel.setSlotPlayerMap(slotPlayerMap); diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperBuildingCard.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperBuildingCard.java index 09909d3..147e7d5 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperBuildingCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperBuildingCard.java @@ -43,7 +43,7 @@ public class DrawUpperBuildingCard extends NetworkEvent implements Serializable return false; miniModel.upperListBuildingCards.remove(pos); - miniModel.setPlayer(player); + miniModel.setPlayers(playerList); miniModel.setOrderLogicCard(orderLogicCard); miniModel.setCurrentState(currentState); miniModel.setSlotPlayerMap(slotPlayerMap); diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperTribeCard.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperTribeCard.java index 06de614..94ee411 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperTribeCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperTribeCard.java @@ -41,7 +41,7 @@ public class DrawUpperTribeCard extends NetworkEvent implements Serializable{ if(isError) return false; miniModel.upperListTribeCards.remove(pos); - miniModel.setPlayer(player); + miniModel.setPlayers(playerList); miniModel.setOrderLogicCard(orderLogicCard); miniModel.setCurrentState(currentState); miniModel.setSlotPlayerMap(slotPlayerMap); diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/ReconnectPlayer.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/ReconnectPlayer.java index cf38d51..1ef0305 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/ReconnectPlayer.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/ReconnectPlayer.java @@ -49,7 +49,7 @@ public class ReconnectPlayer extends NetworkEvent implements Serializable { return false; if (miniModel != null) { - miniModel.setPlayer(player); + miniModel.setPlayers(playerList); miniModel.setOrderLogicCard(orderLogicCard); miniModel.setCurrentState(currentState); miniModel.setSlotPlayerMap(slotPlayerMap); diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipTurn.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipTurn.java index 0eecf0b..a0e84ae 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipTurn.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipTurn.java @@ -35,7 +35,7 @@ public class SkipTurn extends NetworkEvent implements Serializable{ public boolean apply(MiniModel miniModel){ if(isError) return false; - miniModel.setPlayer(player); + miniModel.setPlayers(playerList); miniModel.setOrderLogicCard(orderLogicCard); miniModel.setCurrentState(currentState); miniModel.setSlotPlayerMap(slotPlayerMap); diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SlotChoice.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SlotChoice.java index 541d5b2..612a9c1 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SlotChoice.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SlotChoice.java @@ -41,7 +41,7 @@ public class SlotChoice extends NetworkEvent implements Serializable { public boolean apply(MiniModel miniModel){ if(isError) return false; - miniModel.setPlayer(player); + miniModel.setPlayers(playerList); miniModel.setOrderLogicCard(orderLogicCard); miniModel.setCurrentState(currentState); miniModel.setSlotPlayerMap(slotPlayerMap); diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/TotemChoice.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/TotemChoice.java index 04ace18..fe0aad0 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/TotemChoice.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/TotemChoice.java @@ -72,7 +72,7 @@ public class TotemChoice extends NetworkEvent implements Serializable { if (isError) return false; - miniModel.setPlayer(player); + miniModel.setPlayers(playerList); miniModel.setOrderLogicCard(orderLogicCard); miniModel.setCurrentState(currentState); miniModel.setSlotPlayerMap(slotPlayerMap); diff --git a/src/main/java/it/polimi/ingsw/gc14/ServerLauncher.java b/src/main/java/it/polimi/ingsw/gc14/ServerLauncher.java index aa62a70..a986bd6 100644 --- a/src/main/java/it/polimi/ingsw/gc14/ServerLauncher.java +++ b/src/main/java/it/polimi/ingsw/gc14/ServerLauncher.java @@ -129,7 +129,7 @@ public class ServerLauncher { { playerList.remove(event.getUsername()); }else { - event.setData(game.getSlotMap(), game.orderLogicCard, game.getCurrentState(), game.getPlayerByUsername(event.getUsername())); + event.setData(game.getSlotMap(), game.orderLogicCard, game.getCurrentState(), game.getPlayers()); if (event.getEventType().equals(EventType.TOTEM_CHOICE)) { ((TotemChoice) event).setAvailableTotems(gameController.getModel().getAvailableTotems()); } else if (event.getEventType().equals(EventType.DISCONNECTED_PLAYER) && game.getCurrentState().equals(GameStages.WAITING)) {