mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
Prevent stack order being reversed
This commit is contained in:
@@ -766,6 +766,10 @@ public class MagicStack /* extends MyObservable */ implements Iterable<SpellAbil
|
||||
return hasFizzled(sa.getSubAbility(), source, fizzle) && fizzle;
|
||||
}
|
||||
|
||||
public final SpellAbilityStackInstance peek() {
|
||||
return this.stack.peekFirst();
|
||||
}
|
||||
|
||||
public final SpellAbility peekAbility() {
|
||||
return this.stack.peekFirst().getSpellAbility();
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ import java.awt.event.ActionListener;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.util.List;
|
||||
|
||||
import javax.swing.JCheckBoxMenuItem;
|
||||
import javax.swing.JPopupMenu;
|
||||
@@ -134,7 +135,7 @@ public enum VStack implements IVDoc<CStack> {
|
||||
* @param model
|
||||
* @param viewer */
|
||||
public void updateStack(final IGameView model, final PlayerView localPlayer) {
|
||||
final java.util.List<StackItemView> items = model.getStack();
|
||||
final List<StackItemView> items = model.getStack();
|
||||
tab.setText("Stack : " + items.size());
|
||||
|
||||
// No need to update the rest unless it's showing
|
||||
|
||||
@@ -2,7 +2,6 @@ package forge.screens.match.views;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
@@ -138,9 +137,8 @@ public class VStack extends FDropDown {
|
||||
StackItemView stackInstance = null;
|
||||
StackInstanceDisplay display = null;
|
||||
float overlap = Math.round(CARD_HEIGHT / 2 + PADDING + BORDER_THICKNESS);
|
||||
Iterator<StackItemView> iterator = stack.iterator();
|
||||
while (iterator.hasNext()) {
|
||||
stackInstance = iterator.next();
|
||||
for (int i = stack.size() - 1; i >= 0; i--) {
|
||||
stackInstance = stack.get(i);
|
||||
display = new StackInstanceDisplay(stackInstance, width);
|
||||
if (activeStackInstance == stackInstance) {
|
||||
activeItem = display;
|
||||
@@ -149,7 +147,7 @@ public class VStack extends FDropDown {
|
||||
add(display);
|
||||
}
|
||||
//use full preferred height of display for topmost item on stack, overlap amount for other items
|
||||
display.setBounds(x, y, width, iterator.hasNext() ? overlap : display.preferredHeight);
|
||||
display.setBounds(x, y, width, i > 0 ? overlap : display.preferredHeight);
|
||||
y += display.getHeight();
|
||||
}
|
||||
if (activeStackInstance == null) {
|
||||
|
||||
@@ -248,8 +248,7 @@ public abstract class LocalGameView implements IGameView {
|
||||
*/
|
||||
@Override
|
||||
public StackItemView peekStack() {
|
||||
final SpellAbilityStackInstance top =
|
||||
Iterables.getFirst(game.getStack(), null);
|
||||
final SpellAbilityStackInstance top = game.getStack().peek();
|
||||
if (top == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user