From 711d57e4cdf2a64af3152d2ba85d6171597ebe1e Mon Sep 17 00:00:00 2001 From: AleandroPagani Date: Thu, 14 May 2026 16:42:19 +0200 Subject: [PATCH] Removed property changes --- .../it/polimi/ingsw/gc14/Model/MiniModel.java | 33 ++----------------- .../ingsw/gc14/Model/OrderLogicCard.java | 2 +- .../gc14/View/GUI/MainFXMLController.java | 27 +++------------ 3 files changed, 8 insertions(+), 54 deletions(-) diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/MiniModel.java b/src/main/java/it/polimi/ingsw/gc14/Model/MiniModel.java index 4a51fb8..78c9d10 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/MiniModel.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/MiniModel.java @@ -6,15 +6,12 @@ import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character; import it.polimi.ingsw.gc14.Model.GamePackage.Board; import it.polimi.ingsw.gc14.Model.GamePackage.CurrentState; -import java.beans.PropertyChangeListener; -import java.beans.PropertyChangeSupport; + import java.io.Serializable; import java.util.*; public class MiniModel implements Serializable { - private final PropertyChangeSupport support = new PropertyChangeSupport(this); - public Board board; public Map slotPlayerMap; public OrderLogicCard orderLogicCard; @@ -22,7 +19,7 @@ public class MiniModel implements Serializable { public Map players; public List availableTotems; - // --- Costruttori invariati --- + // --- Costruttori --- public MiniModel() { @@ -43,63 +40,39 @@ public class MiniModel implements Serializable { setPlayers(players); } - // --- Gestione listener --- - public void addPropertyChangeListener(PropertyChangeListener listener) { - support.addPropertyChangeListener(listener); - } - - public void removePropertyChangeListener(PropertyChangeListener listener) { - support.removePropertyChangeListener(listener); - } - - // --- Setter con notifica --- + // --- Setter --- public void setBoard(Board board) { - Board old = this.board; this.board = board; - support.firePropertyChange("board", old, board); } public void setAvailableTotems(List availableTotems) { - List old = this.availableTotems; this.availableTotems = availableTotems; - support.firePropertyChange("availableTotems", old, availableTotems); } public void setSlotPlayerMap(Map slotPlayerMap) { - Map old = this.slotPlayerMap; this.slotPlayerMap = slotPlayerMap; - support.firePropertyChange("slotPlayerMap", old, slotPlayerMap); } public void setOrderLogicCard(OrderLogicCard orderLogicCard) { - OrderLogicCard old = this.orderLogicCard; this.orderLogicCard = orderLogicCard; - support.firePropertyChange("orderLogicCard", old, orderLogicCard); } public void setCurrentState(CurrentState currentState) { - CurrentState old = this.currentState; this.currentState = currentState; - support.firePropertyChange("currentState", old, currentState); } public void setPlayers(List players) { - Map old = new HashMap<>(this.players != null ? this.players : new HashMap<>()); for (Player player : players) { this.players.put(player.getUserName(), player); } - support.firePropertyChange("players", old, this.players); } public void setPlayer(Player player) { - Map old = new HashMap<>(this.players); players.put(player.getUserName(), player); - support.firePropertyChange("players", old, this.players); } - // --- Metodi invariati --- public int getPositionByUsername(String username) { int i = 0; diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/OrderLogicCard.java b/src/main/java/it/polimi/ingsw/gc14/Model/OrderLogicCard.java index f90ecfd..2d4e293 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/OrderLogicCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/OrderLogicCard.java @@ -25,7 +25,7 @@ public abstract class OrderLogicCard implements Serializable { /** * The list of {@link Player Players} associated with this order logic card. */ - protected List playerList; + public List playerList; /** diff --git a/src/main/java/it/polimi/ingsw/gc14/View/GUI/MainFXMLController.java b/src/main/java/it/polimi/ingsw/gc14/View/GUI/MainFXMLController.java index 1b6f676..7e359cd 100644 --- a/src/main/java/it/polimi/ingsw/gc14/View/GUI/MainFXMLController.java +++ b/src/main/java/it/polimi/ingsw/gc14/View/GUI/MainFXMLController.java @@ -6,6 +6,7 @@ import it.polimi.ingsw.gc14.Model.Cards.BuildingCard; import it.polimi.ingsw.gc14.Model.Cards.TribeCard; import it.polimi.ingsw.gc14.Model.GamePackage.Board; import it.polimi.ingsw.gc14.Model.GamePackage.CurrentState; +import it.polimi.ingsw.gc14.Model.Orders.OrderPlayer; import javafx.animation.ScaleTransition; import javafx.application.Platform; import javafx.event.Event; @@ -70,25 +71,9 @@ public class MainFXMLController { // Initialize popup initPopup(); - - - controller.miniModel.addPropertyChangeListener(evt -> { - switch (evt.getPropertyName()) { - case "board" -> ciao("board"); - case "currentState" -> ciao("currentState"); - case "players" -> Platform.runLater(() -> renderSidePanel()); - case "slotPlayerMap" -> Platform.runLater(() -> renderBoard()); - case "orderLogicCard"-> Platform.runLater(() -> renderBoard()); - case "availableTotems"-> ciao("availableTotems"); - } - }); } - public void ciao(String s) { - System.out.println(s); - } - public void render() { renderBackground(); @@ -309,15 +294,11 @@ public class MainFXMLController { StackPane.setAlignment(overlay, Pos.TOP_LEFT); StackPane.setMargin(overlay, new Insets(9, 0, 0, 57)); - List ordered = controller.miniModel.players.values().stream() - .filter(p -> !controller.miniModel.orderLogicCard.players.contains(p)) - .collect(Collectors.toList()); - ordered.addAll(controller.miniModel.orderLogicCard.players); - for (Player player : ordered) { - ImageView totem = new ImageView(new Image(getClass().getResourceAsStream("/GUIImages/Totems/totem_" + player.totem.toString().toLowerCase(Locale.ROOT) + ".png"))); + for (OrderPlayer player : controller.miniModel.orderLogicCard.playerList) { + ImageView totem = new ImageView(new Image(getClass().getResourceAsStream("/GUIImages/Totems/totem_" + player.player.totem.toString().toLowerCase(Locale.ROOT) + ".png"))); totem.setFitHeight(70); totem.setPreserveRatio(true); - if (!controller.miniModel.orderLogicCard.players.contains(player)) { + if(controller.miniModel.slotPlayerMap.containsValue(player.player)) { totem.setOpacity(0.5); } overlay.getChildren().add(totem);