mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +00:00
Resolve some merge conflicts and actually commit mobile game Auto-Yields menu item to SVN
This commit is contained in:
@@ -5,27 +5,34 @@ import forge.LobbyPlayer;
|
|||||||
import forge.assets.FSkinImage;
|
import forge.assets.FSkinImage;
|
||||||
import forge.deck.Deck;
|
import forge.deck.Deck;
|
||||||
import forge.deck.FDeckViewer;
|
import forge.deck.FDeckViewer;
|
||||||
import forge.game.io.GameStateDeserializer;
|
import forge.game.Game;
|
||||||
import forge.game.io.GameStateSerializer;
|
import forge.game.player.Player;
|
||||||
|
import forge.game.spellability.SpellAbility;
|
||||||
import forge.menu.FDropDownMenu;
|
import forge.menu.FDropDownMenu;
|
||||||
import forge.menu.FMenuItem;
|
import forge.menu.FMenuItem;
|
||||||
import forge.properties.ForgeConstants;
|
|
||||||
import forge.screens.match.FControl;
|
import forge.screens.match.FControl;
|
||||||
import forge.screens.settings.SettingsScreen;
|
import forge.screens.settings.SettingsScreen;
|
||||||
import forge.toolbox.FEvent;
|
import forge.toolbox.FEvent;
|
||||||
import forge.toolbox.FOptionPane;
|
|
||||||
import forge.toolbox.FEvent.FEventHandler;
|
import forge.toolbox.FEvent.FEventHandler;
|
||||||
|
import forge.view.IGameView;
|
||||||
|
|
||||||
public class VGameMenu extends FDropDownMenu {
|
public class VGameMenu extends FDropDownMenu {
|
||||||
|
private final IGameView gameView;
|
||||||
|
|
||||||
|
public VGameMenu(IGameView gameView0) {
|
||||||
|
gameView = gameView0;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void buildMenu() {
|
protected void buildMenu() {
|
||||||
|
final Game game = FControl.getGame();
|
||||||
addItem(new FMenuItem("Concede", FSkinImage.CONCEDE, new FEventHandler() {
|
addItem(new FMenuItem("Concede", FSkinImage.CONCEDE, new FEventHandler() {
|
||||||
@Override
|
@Override
|
||||||
public void handleEvent(FEvent e) {
|
public void handleEvent(FEvent e) {
|
||||||
FControl.concede();
|
FControl.concede();
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
addItem(new FMenuItem("Save Game", FSkinImage.SAVE, new FEventHandler() {
|
/*addItem(new FMenuItem("Save Game", FSkinImage.SAVE, new FEventHandler() {
|
||||||
@Override
|
@Override
|
||||||
public void handleEvent(FEvent e) {
|
public void handleEvent(FEvent e) {
|
||||||
GameStateSerializer.saveGameState(FControl.getGame(), ForgeConstants.USER_GAMES_DIR + "GameSave.txt");
|
GameStateSerializer.saveGameState(FControl.getGame(), ForgeConstants.USER_GAMES_DIR + "GameSave.txt");
|
||||||
@@ -37,7 +44,7 @@ public class VGameMenu extends FDropDownMenu {
|
|||||||
public void handleEvent(FEvent e) {
|
public void handleEvent(FEvent e) {
|
||||||
GameStateDeserializer.loadGameState(FControl.getGame(), ForgeConstants.USER_GAMES_DIR + "GameSave.txt");
|
GameStateDeserializer.loadGameState(FControl.getGame(), ForgeConstants.USER_GAMES_DIR + "GameSave.txt");
|
||||||
}
|
}
|
||||||
}));
|
}));*/
|
||||||
addItem(new FMenuItem("Deck List", FSkinImage.DECKLIST, new FEventHandler() {
|
addItem(new FMenuItem("Deck List", FSkinImage.DECKLIST, new FEventHandler() {
|
||||||
@Override
|
@Override
|
||||||
public void handleEvent(FEvent e) {
|
public void handleEvent(FEvent e) {
|
||||||
@@ -48,6 +55,31 @@ public class VGameMenu extends FDropDownMenu {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
addItem(new FMenuItem("Auto-Yields", FSkinImage.WARNING, new FEventHandler() {
|
||||||
|
@Override
|
||||||
|
public void handleEvent(FEvent e) {
|
||||||
|
final Player localPlayer = FControl.getCurrentPlayer();
|
||||||
|
if (localPlayer == null) { return; }
|
||||||
|
|
||||||
|
final boolean autoYieldsDisabled = game.getDisableAutoYields();
|
||||||
|
VAutoYields autoYields = new VAutoYields(game, localPlayer) {
|
||||||
|
@Override
|
||||||
|
public void setVisible(boolean b0) {
|
||||||
|
super.setVisible(b0);
|
||||||
|
if (!b0) {
|
||||||
|
if (autoYieldsDisabled && !game.getDisableAutoYields()) {
|
||||||
|
//if re-enabling auto-yields, auto-yield to current ability on stack if applicable
|
||||||
|
SpellAbility ability = game.getStack().peekAbility();
|
||||||
|
if (ability != null && ability.isAbility() && localPlayer.getController().shouldAutoYield(ability.toUnsuppressedString())) {
|
||||||
|
gameView.passPriority();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
autoYields.show();
|
||||||
|
}
|
||||||
|
}));
|
||||||
addItem(new FMenuItem("Settings", FSkinImage.SETTINGS, new FEventHandler() {
|
addItem(new FMenuItem("Settings", FSkinImage.SETTINGS, new FEventHandler() {
|
||||||
@Override
|
@Override
|
||||||
public void handleEvent(FEvent e) {
|
public void handleEvent(FEvent e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user