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