Fix:"Dynamic dimension board line"-> now height can be fissed at any value. Order playerList fixed , now pushNoEffect doesn't clear playerList
This commit is contained in:
@@ -27,6 +27,8 @@ public abstract class OrderLogicCard implements Serializable {
|
||||
*/
|
||||
public List<OrderPlayer> playerList;
|
||||
|
||||
protected final int nPlayers;
|
||||
|
||||
|
||||
/**
|
||||
* Creates an order logic card with the specified list of players.
|
||||
@@ -37,7 +39,7 @@ public abstract class OrderLogicCard implements Serializable {
|
||||
public OrderLogicCard(ArrayList<Player> players) {
|
||||
Collections.shuffle(players);
|
||||
this.players = new LinkedList<>(players);
|
||||
|
||||
nPlayers = players.size();
|
||||
this.playerList=new ArrayList<>(players.stream().map(x->new OrderPlayer(x,false)).toList());
|
||||
}
|
||||
|
||||
@@ -51,8 +53,7 @@ public abstract class OrderLogicCard implements Serializable {
|
||||
effect(player,players.size());
|
||||
if(players.size()==0)
|
||||
{
|
||||
playerList=new ArrayList<>();
|
||||
|
||||
playerList.clear();
|
||||
}
|
||||
playerList.add(new OrderPlayer(player,false));
|
||||
players.add(player);
|
||||
@@ -65,11 +66,6 @@ public abstract class OrderLogicCard implements Serializable {
|
||||
* @param player the player to be pushed into the queue.
|
||||
*/
|
||||
public void pushNoEffect(Player player){
|
||||
if(players.size()==0)
|
||||
{
|
||||
playerList=new ArrayList<>();
|
||||
|
||||
}
|
||||
players.removeIf(x->player.getUserName().equals(x.getUserName()));
|
||||
playerList.removeIf(x->player.getUserName().equals(x.player.getUserName()));
|
||||
playerList.add(new OrderPlayer(player,false));
|
||||
|
||||
@@ -192,10 +192,13 @@ public class MainFXMLController {
|
||||
Player player = controller.miniModel.slotPlayerMap.get(slot);
|
||||
if (player != null && controller.miniModel.getPositionByUsername(player.getUserName()) != -1) {
|
||||
ImageView totem = new ImageView(loadImage("/GUIImages/Totems/totem_" + player.totem.toString().toLowerCase(Locale.ROOT) + ".png"));
|
||||
totem.setFitHeight(68);
|
||||
totem.fitHeightProperty().bind(img.fitHeightProperty().multiply(0.332));
|
||||
totem.setPreserveRatio(true);
|
||||
StackPane.setAlignment(totem, Pos.TOP_LEFT);
|
||||
StackPane.setMargin(totem, new Insets(0, 0, 0, 46));
|
||||
StackPane.setMargin(totem, new Insets(0, 0, 0, 0.224 * img.getFitHeight()));
|
||||
img.fitHeightProperty().addListener((obs, ov, nv) -> {
|
||||
StackPane.setMargin(totem, new Insets(0, 0, 0, 0.224 * nv.doubleValue()));
|
||||
});
|
||||
wrapper.getChildren().add(totem);
|
||||
}
|
||||
|
||||
@@ -498,14 +501,21 @@ public class MainFXMLController {
|
||||
final double yRatio = positions[i];
|
||||
overlay.prefHeightProperty().bind(card.heightProperty());
|
||||
overlay.prefWidthProperty().bind(card.widthProperty());
|
||||
|
||||
// posizione X fissa, Y proporzionale
|
||||
rect.setX(41);
|
||||
card.heightProperty().addListener((obs, ov, nv) -> {
|
||||
rect.setY(nv.doubleValue() * yRatio);
|
||||
rect.setHeight(0.127*nv.doubleValue());
|
||||
});
|
||||
if (card.getHeight() > 0) {
|
||||
card.widthProperty().addListener((obs, ov, nv) -> {
|
||||
rect.setX(nv.doubleValue() * 0.323);
|
||||
rect.setWidth(0.375*nv.doubleValue());
|
||||
});
|
||||
if (card.getHeight() > 0 && card.getWidth() > 0) {
|
||||
rect.setY(card.getHeight() * yRatio);
|
||||
rect.setHeight(0.127*yRatio);
|
||||
|
||||
rect.setX(card.getHeight() * 0.323);
|
||||
rect.setWidth(0.375*card.getHeight());
|
||||
}
|
||||
|
||||
overlay.getChildren().add(rect);
|
||||
|
||||
Reference in New Issue
Block a user