mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 11:18:01 +00:00
Fix pile effects (Fact or Fiction) for new GUI code.
This commit is contained in:
@@ -1220,32 +1220,47 @@ public class PlayerControllerHuman extends PlayerController {
|
|||||||
final String[] possibleValues = { p1Str , p2Str };
|
final String[] possibleValues = { p1Str , p2Str };
|
||||||
return SGuiDialog.confirm(getGui(), gameView.getCardView(sa.getHostCard()), "Choose a Pile", possibleValues);
|
return SGuiDialog.confirm(getGui(), gameView.getCardView(sa.getHostCard()), "Choose a Pile", possibleValues);
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
final Card[] disp = new Card[pile1.size() + pile2.size() + 2];
|
mayLookAt.addAll(pile1);
|
||||||
disp[0] = new Card(-1);
|
mayLookAt.addAll(pile2);
|
||||||
disp[0].setName("Pile 1");
|
|
||||||
for (int i = 0; i < pile1.size(); i++) {
|
final int idPile1 = Integer.MIN_VALUE, idPile2 = Integer.MIN_VALUE + 1;
|
||||||
disp[1 + i] = pile1.get(i);
|
final List<CardView> cards = Lists.newArrayListWithCapacity(pile1.size() + pile2.size() + 2);
|
||||||
|
final CardView pileView1 = new CardView(true) {
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "--- Pile 1 ---";
|
||||||
}
|
}
|
||||||
disp[pile1.size() + 1] = new Card(-2);
|
};
|
||||||
disp[pile1.size() + 1].setName("Pile 2");
|
pileView1.setId(idPile1);
|
||||||
for (int i = 0; i < pile2.size(); i++) {
|
cards.add(pileView1);
|
||||||
disp[pile1.size() + i + 2] = pile2.get(i);
|
cards.addAll(getCardViews(pile1));
|
||||||
|
|
||||||
|
final CardView pileView2 = new CardView(true) {
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "--- Pile 2 ---";
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
pileView2.setId(idPile2);
|
||||||
|
cards.add(pileView2);
|
||||||
|
cards.addAll(getCardViews(pile2));
|
||||||
|
|
||||||
// make sure Pile 1 or Pile 2 is clicked on
|
// make sure Pile 1 or Pile 2 is clicked on
|
||||||
|
boolean result;
|
||||||
while (true) {
|
while (true) {
|
||||||
final Object o = SGuiChoose.one(getGui(), "Choose a pile", disp);
|
final CardView chosen = SGuiChoose.one(getGui(), "Choose a pile", cards);
|
||||||
final Card c = (Card) o;
|
if (chosen.equals(pileView1)) {
|
||||||
String name = c.getName();
|
result = true;
|
||||||
|
break;
|
||||||
if (!(name.equals("Pile 1") || name.equals("Pile 2"))) {
|
} else if (chosen.equals(pileView2)) {
|
||||||
continue;
|
result = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return name.equals("Pile 1");
|
mayLookAt.clear();
|
||||||
}
|
return result;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user