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 0902f6d..a4c9023 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
@@ -63,20 +63,7 @@ public class MainFXMLController {
renderUpper();
renderBoard();
renderLower();
-
-
- // My hand
- myHand.getChildren().clear();
- myHand.setSpacing(6);
- myHand.setAlignment(Pos.CENTER);
-
- drawMyHandCard(myHand, model.getPlayerByUsername(username).artists);
- drawMyHandCard(myHand, model.getPlayerByUsername(username).gatherers);
- drawMyHandCard(myHand, model.getPlayerByUsername(username).inventors);
- drawMyHandCard(myHand, model.getPlayerByUsername(username).builders);
- drawMyHandCard(myHand, model.getPlayerByUsername(username).shamans);
- drawMyHandCard(myHand, model.getPlayerByUsername(username).hunters);
- drawMyHandCard(myHand, model.getPlayerByUsername(username).buildingCards);
+ drawMyHand();
// Other players and info
@@ -211,37 +198,10 @@ public class MainFXMLController {
}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- void drawMyHandCard(HBox myHand, ArrayList extends PlayableCard> cardList) {
+ private void drawMyHandList(HBox myHand, ArrayList extends PlayableCard> cardList) {
if (!cardList.isEmpty()) {
- ImageView img = new ImageView(new Image(getClass().getResourceAsStream("/GUIImages/Fronts/card-" + cardList.getLast().getIdIMG() + ".png")));
- img.setFitHeight(200);
- img.setPreserveRatio(true);
-
- Rectangle clip = new Rectangle();
- clip.setWidth(img.getBoundsInLocal().getWidth());
- clip.setHeight(200);
- clip.setArcWidth(20);
- clip.setArcHeight(20);
- img.setClip(clip);
+ ImageView img = createCard(cardList.getLast());
Label label = new Label(String.valueOf(cardList.size()));
label.setTranslateY(-55);
label.setTranslateX(10);
@@ -253,47 +213,73 @@ public class MainFXMLController {
stack.setOnMouseClicked(e -> openPopup(cardList));
myHand.getChildren().add(stack);
+ } else {
+ Region placeholder = new Region();
+ placeholder.setPrefHeight(200);
+ placeholder.setPrefWidth(200 * 0.675);
+ placeholder.setStyle("-fx-background-color: transparent;");
+ myHand.getChildren().add(placeholder);
}
}
+
+
+ private void drawMyHand() {
+ myHand.getChildren().clear();
+ myHand.setSpacing(6);
+ myHand.setAlignment(Pos.CENTER);
+
+ drawMyHandList(myHand, model.getPlayerByUsername(username).artists);
+ drawMyHandList(myHand, model.getPlayerByUsername(username).gatherers);
+ drawMyHandList(myHand, model.getPlayerByUsername(username).inventors);
+ drawMyHandList(myHand, model.getPlayerByUsername(username).builders);
+ drawMyHandList(myHand, model.getPlayerByUsername(username).shamans);
+ drawMyHandList(myHand, model.getPlayerByUsername(username).hunters);
+ drawMyHandList(myHand, model.getPlayerByUsername(username).buildingCards);
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
private void initPopup() {
popupCards = new HBox(10);
popupCards.setAlignment(Pos.CENTER);
popupCards.setPadding(new Insets(10));
-
- Button closeBtn = new Button("X");
- closeBtn.setOnAction(e -> popup.hide());
-
- VBox content = new VBox(10, closeBtn, popupCards);
- content.setPadding(new Insets(20));
- content.setStyle("-fx-background-color: #222; -fx-border-color: white; -fx-border-width: 2; -fx-border-radius: 10; -fx-background-radius: 10;");
+ popupCards.setStyle("-fx-background-color: #b42224; -fx-border-color: black; -fx-border-width: 2; -fx-border-radius: 10; -fx-background-radius: 10;");
popup = new Popup();
- popup.getContent().add(content);
- popup.setAutoHide(true); // si chiude anche cliccando fuori
+ popup.getContent().add(popupCards);
+ popup.setAutoHide(true);
}
private void openPopup(ArrayList extends PlayableCard> cardList) {
popupCards.getChildren().clear();
for (PlayableCard card : cardList) {
- ImageView img = new ImageView(new Image(getClass().getResourceAsStream("/GUIImages/Fronts/card-" + card.getIdIMG() + ".png")));
- img.setFitHeight(200);
- img.setPreserveRatio(true);
+ ImageView img = createCard(card);
popupCards.getChildren().add(img);
}
javafx.stage.Window window = myHand.getScene().getWindow();
- // Mostralo prima fuori schermo
- popup.show(window, 0, 0);
-
- // Poi centralo con le dimensioni reali
- double x = window.getX() + (window.getWidth() - popup.getWidth()) / 2;
- double y = window.getY() + (window.getHeight() - popup.getHeight()) / 2;
- popup.setX(x);
- popup.setY(y);
+ popup.show(window, (window.getWidth() - popup.getWidth()) / 2, (window.getHeight() - popup.getHeight()) / 2);
}
private void renderPlayers(VBox playersHand) {
@@ -306,7 +292,7 @@ public class MainFXMLController {
"-fx-border-width: 2;" +
"-fx-border-radius: 15;" +
"-fx-background-radius: 15;" +
- "-fx-background-color: white;"
+ "-fx-background-color: #b42224;"
);
@@ -342,4 +328,6 @@ public class MainFXMLController {
}
+
+
}
diff --git a/src/main/resources/GUIScene/main.fxml b/src/main/resources/GUIScene/main.fxml
index dd35b44..ccfd6e9 100644
--- a/src/main/resources/GUIScene/main.fxml
+++ b/src/main/resources/GUIScene/main.fxml
@@ -14,22 +14,22 @@
-
+
-
+
-
+
-
+