From e6f54fe16dc7b07edf0d7431f0d61a128dadb1fc Mon Sep 17 00:00:00 2001 From: rubenpirreram Date: Tue, 12 May 2026 21:59:03 +0200 Subject: [PATCH] Add: Apply(MiniModel Added In Every Event), Added ApplyNextRound event --- .../ingsw/gc14/Network/NetworkEvent.java | 20 ++++++++ .../gc14/Network/NetworkEvents/AddPlayer.java | 13 +++++ .../Network/NetworkEvents/ApplyNextRound.java | 50 +++++++++++++++++++ .../NetworkEvents/DisconnectedPlayer.java | 13 +++++ .../NetworkEvents/DrawLowerBuildingCard.java | 17 +++++++ .../NetworkEvents/DrawLowerTribeCard.java | 15 ++++++ .../NetworkEvents/DrawUpperBuildingCard.java | 15 ++++++ .../NetworkEvents/DrawUpperTribeCard.java | 14 ++++++ .../Network/NetworkEvents/NoOptionalCard.java | 13 +++++ .../PickOptionalBuildingCard.java | 15 ++++++ .../NetworkEvents/PickOptionalTribeCard.java | 16 ++++++ .../NetworkEvents/ReconnectPlayer.java | 13 +++++ .../Network/NetworkEvents/SkipNoDrawable.java | 14 ++++++ .../Network/NetworkEvents/SlotChoice.java | 14 ++++++ 14 files changed, 242 insertions(+) create mode 100644 src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/ApplyNextRound.java 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 6d6a159..aeacecd 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvent.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvent.java @@ -1,8 +1,14 @@ package it.polimi.ingsw.gc14.Network; import it.polimi.ingsw.gc14.Controller.GameController; +import it.polimi.ingsw.gc14.Model.GamePackage.CurrentState; +import it.polimi.ingsw.gc14.Model.MiniModel; +import it.polimi.ingsw.gc14.Model.OrderLogicCard; +import it.polimi.ingsw.gc14.Model.Player; +import it.polimi.ingsw.gc14.Model.Slot; import java.io.Serializable; +import java.util.Map; /** * Represents an event sent over the network @@ -21,6 +27,17 @@ public abstract class NetworkEvent implements Serializable { /** EventType of the event */ protected EventType eventType; + protected Map slotPlayerMap; + protected OrderLogicCard orderLogicCard; + protected CurrentState currentState; + protected Player player; + + public void setData(Map slotPlayerMap, OrderLogicCard orderLogicCard, CurrentState currentState,Player player) { + this.slotPlayerMap = slotPlayerMap; + this.orderLogicCard = orderLogicCard; + this.currentState = currentState; + this.player = player; + } /** * @return the type of the event */ @@ -73,4 +90,7 @@ public abstract class NetworkEvent implements Serializable { * @return true if the event could be applied; false otherwise */ public abstract boolean apply(GameController gameController); + + //TODO + public abstract boolean apply(MiniModel model); } 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 607d3e9..9513190 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 @@ -1,6 +1,7 @@ package it.polimi.ingsw.gc14.Network.NetworkEvents; import it.polimi.ingsw.gc14.Controller.GameController; +import it.polimi.ingsw.gc14.Model.MiniModel; import it.polimi.ingsw.gc14.Network.EventType; import it.polimi.ingsw.gc14.Network.NetworkEvent; import it.polimi.ingsw.gc14.View.IView; @@ -41,4 +42,16 @@ public class AddPlayer extends NetworkEvent implements Serializable { { return gameController.addPlayer(username); } + + //TODO + @Override + public boolean apply(MiniModel miniModel){ + if(isError) + return false; + miniModel.setPlayer(player); + miniModel.setOrderLogicCard(orderLogicCard); + miniModel.setCurrentState(currentState); + miniModel.setSlotPlayerMap(slotPlayerMap); + return true; + } } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/ApplyNextRound.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/ApplyNextRound.java new file mode 100644 index 0000000..cddbb0b --- /dev/null +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/ApplyNextRound.java @@ -0,0 +1,50 @@ +package it.polimi.ingsw.gc14.Network.NetworkEvents; + +import it.polimi.ingsw.gc14.Controller.GameController; +import it.polimi.ingsw.gc14.Model.GamePackage.CurrentState; +import it.polimi.ingsw.gc14.Model.MiniModel; +import it.polimi.ingsw.gc14.Model.OrderLogicCard; +import it.polimi.ingsw.gc14.Model.Player; +import it.polimi.ingsw.gc14.Model.Slot; +import it.polimi.ingsw.gc14.Network.EventType; +import it.polimi.ingsw.gc14.Network.NetworkEvent; +import it.polimi.ingsw.gc14.View.IView; + +import java.io.Serializable; +import java.util.List; +import java.util.Map; + +/** + * NetworkEvent to draw a tribe card from the lower card list. + */ +public class ApplyNextRound extends NetworkEvent implements Serializable{ + + List players; + //TODO + public ApplyNextRound(Map slotPlayerMap, OrderLogicCard orderLogicCard, CurrentState currentState, List players){ + super("SERVER",EventType.DISCONNECTED_PLAYER,false); + this.slotPlayerMap = slotPlayerMap; + this.orderLogicCard = orderLogicCard; + this.currentState = currentState; + this.players = players; + } + + /** + * @param gameController the Game Controller on which to apply the event + * @return true if the player could draw the card, false otherwise + */ + @Override + public boolean apply(GameController gameController){ + return false; + } + public boolean apply(MiniModel miniModel) + { + miniModel.setSlotPlayerMap(slotPlayerMap); + miniModel.setOrderLogicCard(orderLogicCard); + miniModel.setCurrentState(currentState); + miniModel.setPlayers(players); + miniModel.board.nextRound(); + return true; + } + +} 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 f38151a..06234c7 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 @@ -1,6 +1,7 @@ package it.polimi.ingsw.gc14.Network.NetworkEvents; import it.polimi.ingsw.gc14.Controller.GameController; +import it.polimi.ingsw.gc14.Model.MiniModel; import it.polimi.ingsw.gc14.Network.EventType; import it.polimi.ingsw.gc14.Network.NetworkEvent; @@ -29,5 +30,17 @@ public class DisconnectedPlayer extends NetworkEvent implements Serializable{ return gameController.DisconnectedPlayer(username); } + //TODO + @Override + public boolean apply(MiniModel miniModel){ + if(isError) + return false; + miniModel.setPlayer(player); + miniModel.setOrderLogicCard(orderLogicCard); + miniModel.setCurrentState(currentState); + miniModel.setSlotPlayerMap(slotPlayerMap); + return true; + } + } 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 b2499cf..b5c6ba4 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 @@ -1,6 +1,7 @@ package it.polimi.ingsw.gc14.Network.NetworkEvents; import it.polimi.ingsw.gc14.Controller.GameController; +import it.polimi.ingsw.gc14.Model.MiniModel; import it.polimi.ingsw.gc14.Network.EventType; import it.polimi.ingsw.gc14.Network.NetworkEvent; import it.polimi.ingsw.gc14.View.IView; @@ -34,4 +35,20 @@ public class DrawLowerBuildingCard extends NetworkEvent implements Serializable return gameController.drawLowerBuildingCard(username, pos); } + + //TODO + @Override + public boolean apply(MiniModel miniModel){ + if(isError) + return false; + + miniModel.board.removeLowerBuildingCard(miniModel.board.lowerListBuilding.get(pos)); + miniModel.setPlayer(player); + miniModel.setOrderLogicCard(orderLogicCard); + miniModel.setCurrentState(currentState); + miniModel.setSlotPlayerMap(slotPlayerMap); + return true; + + } + } 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 d06c34e..0095579 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 @@ -1,6 +1,7 @@ package it.polimi.ingsw.gc14.Network.NetworkEvents; import it.polimi.ingsw.gc14.Controller.GameController; +import it.polimi.ingsw.gc14.Model.MiniModel; import it.polimi.ingsw.gc14.Network.EventType; import it.polimi.ingsw.gc14.Network.NetworkEvent; import it.polimi.ingsw.gc14.View.IView; @@ -34,5 +35,19 @@ public class DrawLowerTribeCard extends NetworkEvent implements Serializable{ public boolean apply(GameController gameController){ return gameController.drawLowerTribeCard(username, pos); } + //TODO + @Override + public boolean apply(MiniModel miniModel){ + if(isError) + return false; + + miniModel.board.removeLowerTribeCard(miniModel.board.lowerListTribe.get(pos)); + miniModel.setPlayer(player); + miniModel.setOrderLogicCard(orderLogicCard); + miniModel.setCurrentState(currentState); + miniModel.setSlotPlayerMap(slotPlayerMap); + return true; + + } } 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 1da744e..3ff7415 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 @@ -1,6 +1,7 @@ package it.polimi.ingsw.gc14.Network.NetworkEvents; import it.polimi.ingsw.gc14.Controller.GameController; +import it.polimi.ingsw.gc14.Model.MiniModel; import it.polimi.ingsw.gc14.Network.EventType; import it.polimi.ingsw.gc14.Network.NetworkEvent; import it.polimi.ingsw.gc14.View.IView; @@ -35,4 +36,18 @@ public class DrawUpperBuildingCard extends NetworkEvent implements Serializable return gameController.drawUpperBuildingCard(username, pos); } + //TODO + @Override + public boolean apply(MiniModel miniModel){ + if(isError) + return false; + + miniModel.board.removeUpperTribeCard(miniModel.board.upperListTribe.get(pos)); + miniModel.setPlayer(player); + miniModel.setOrderLogicCard(orderLogicCard); + miniModel.setCurrentState(currentState); + miniModel.setSlotPlayerMap(slotPlayerMap); + return true; + + } } 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 7794b10..c426172 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 @@ -1,6 +1,7 @@ package it.polimi.ingsw.gc14.Network.NetworkEvents; import it.polimi.ingsw.gc14.Controller.GameController; +import it.polimi.ingsw.gc14.Model.MiniModel; import it.polimi.ingsw.gc14.Network.EventType; import it.polimi.ingsw.gc14.Network.NetworkEvent; import it.polimi.ingsw.gc14.View.IView; @@ -34,6 +35,19 @@ public class DrawUpperTribeCard extends NetworkEvent implements Serializable{ public boolean apply(GameController gameController){ return gameController.drawUpperTribeCard(username, pos); } + //TODO + @Override + public boolean apply(MiniModel miniModel){ + if(isError) + return false; + miniModel.board.removeUpperTribeCard(miniModel.board.upperListTribe.get(pos)); + miniModel.setPlayer(player); + miniModel.setOrderLogicCard(orderLogicCard); + miniModel.setCurrentState(currentState); + miniModel.setSlotPlayerMap(slotPlayerMap); + return true; + + } } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/NoOptionalCard.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/NoOptionalCard.java index 6e5e328..985a9e4 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/NoOptionalCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/NoOptionalCard.java @@ -1,6 +1,7 @@ package it.polimi.ingsw.gc14.Network.NetworkEvents; import it.polimi.ingsw.gc14.Controller.GameController; +import it.polimi.ingsw.gc14.Model.MiniModel; import it.polimi.ingsw.gc14.Network.EventType; import it.polimi.ingsw.gc14.Network.NetworkEvent; import it.polimi.ingsw.gc14.View.IView; @@ -29,4 +30,16 @@ public class NoOptionalCard extends NetworkEvent implements Serializable{ public boolean apply(GameController gameController){ return gameController.noOptionalCard(username); } + //TODO + @Override + public boolean apply(MiniModel miniModel){ + if(isError) + return false; + miniModel.setPlayer(player); + miniModel.setOrderLogicCard(orderLogicCard); + miniModel.setCurrentState(currentState); + miniModel.setSlotPlayerMap(slotPlayerMap); + return true; + + } } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/PickOptionalBuildingCard.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/PickOptionalBuildingCard.java index dc3a420..ebe5933 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/PickOptionalBuildingCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/PickOptionalBuildingCard.java @@ -1,6 +1,7 @@ package it.polimi.ingsw.gc14.Network.NetworkEvents; import it.polimi.ingsw.gc14.Controller.GameController; +import it.polimi.ingsw.gc14.Model.MiniModel; import it.polimi.ingsw.gc14.Network.EventType; import it.polimi.ingsw.gc14.Network.NetworkEvent; import it.polimi.ingsw.gc14.View.IView; @@ -34,4 +35,18 @@ public class PickOptionalBuildingCard extends NetworkEvent implements Serializa public boolean apply(GameController gameController){ return gameController.pickOptionalBuildingCard(username, pos); } + //TODO + @Override + public boolean apply(MiniModel miniModel){ + if(isError) + return false; + + miniModel.board.removeUpperBuildingCard(miniModel.board.upperListBuilding.get(pos)); + miniModel.setPlayer(player); + miniModel.setOrderLogicCard(orderLogicCard); + miniModel.setCurrentState(currentState); + miniModel.setSlotPlayerMap(slotPlayerMap); + return true; + + } } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/PickOptionalTribeCard.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/PickOptionalTribeCard.java index 8da74be..bd4d10f 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/PickOptionalTribeCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/PickOptionalTribeCard.java @@ -1,6 +1,7 @@ package it.polimi.ingsw.gc14.Network.NetworkEvents; import it.polimi.ingsw.gc14.Controller.GameController; +import it.polimi.ingsw.gc14.Model.MiniModel; import it.polimi.ingsw.gc14.Network.EventType; import it.polimi.ingsw.gc14.Network.NetworkEvent; import it.polimi.ingsw.gc14.View.IView; @@ -35,4 +36,19 @@ public class PickOptionalTribeCard extends NetworkEvent implements Serializable return gameController.pickOptionalTribeCard(username, pos); } + //TODO + @Override + public boolean apply(MiniModel miniModel){ + if(isError) + return false; + + miniModel.board.removeUpperTribeCard(miniModel.board.upperListTribe.get(pos)); + miniModel.setPlayer(player); + miniModel.setOrderLogicCard(orderLogicCard); + miniModel.setCurrentState(currentState); + miniModel.setSlotPlayerMap(slotPlayerMap); + return true; + + } + } 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 d6f61a9..2289a58 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 @@ -1,6 +1,7 @@ package it.polimi.ingsw.gc14.Network.NetworkEvents; import it.polimi.ingsw.gc14.Controller.GameController; +import it.polimi.ingsw.gc14.Model.MiniModel; import it.polimi.ingsw.gc14.Network.EventType; import it.polimi.ingsw.gc14.Network.NetworkEvent; @@ -27,4 +28,16 @@ public class ReconnectPlayer extends NetworkEvent implements Serializable{ return gameController.ReconnectPlayer(username); } + //TODO + @Override + public boolean apply(MiniModel miniModel){ + if(isError) + return false; + miniModel.setPlayer(player); + miniModel.setOrderLogicCard(orderLogicCard); + miniModel.setCurrentState(currentState); + miniModel.setSlotPlayerMap(slotPlayerMap); + return true; + } + } \ No newline at end of file diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipNoDrawable.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipNoDrawable.java index 249c218..cd13f3b 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipNoDrawable.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipNoDrawable.java @@ -1,6 +1,7 @@ package it.polimi.ingsw.gc14.Network.NetworkEvents; import it.polimi.ingsw.gc14.Controller.GameController; +import it.polimi.ingsw.gc14.Model.MiniModel; import it.polimi.ingsw.gc14.Network.EventType; import it.polimi.ingsw.gc14.Network.NetworkEvent; @@ -29,4 +30,17 @@ public class SkipNoDrawable extends NetworkEvent implements Serializable{ return gameController.SkipNoDrawable(username); } + //TODO + @Override + public boolean apply(MiniModel miniModel){ + if(isError) + return false; + miniModel.setPlayer(player); + miniModel.setOrderLogicCard(orderLogicCard); + miniModel.setCurrentState(currentState); + miniModel.setSlotPlayerMap(slotPlayerMap); + return true; + + } + } 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 6de4ea0..541d5b2 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 @@ -1,6 +1,7 @@ package it.polimi.ingsw.gc14.Network.NetworkEvents; import it.polimi.ingsw.gc14.Controller.GameController; +import it.polimi.ingsw.gc14.Model.MiniModel; import it.polimi.ingsw.gc14.Network.EventType; import it.polimi.ingsw.gc14.Network.NetworkEvent; import it.polimi.ingsw.gc14.View.IView; @@ -35,4 +36,17 @@ public class SlotChoice extends NetworkEvent implements Serializable { return gameController.slotChoice(username, pos); } + //TODO + @Override + public boolean apply(MiniModel miniModel){ + if(isError) + return false; + miniModel.setPlayer(player); + miniModel.setOrderLogicCard(orderLogicCard); + miniModel.setCurrentState(currentState); + miniModel.setSlotPlayerMap(slotPlayerMap); + return true; + + } + }