mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
Match UI multiplayer go for takeoff.
- Up to 8 fields can be used - Up to 4 hands can be used - Multiplayer submenu added in home screen Please delete your old match_preferred.xml layout; old match layouts are invalid.
This commit is contained in:
4
.gitattributes
vendored
4
.gitattributes
vendored
@@ -12744,6 +12744,7 @@ src/main/java/forge/gui/framework/SLayoutIO.java -text
|
|||||||
src/main/java/forge/gui/framework/SOverflowUtil.java -text
|
src/main/java/forge/gui/framework/SOverflowUtil.java -text
|
||||||
src/main/java/forge/gui/framework/SRearrangingUtil.java -text
|
src/main/java/forge/gui/framework/SRearrangingUtil.java -text
|
||||||
src/main/java/forge/gui/framework/SResizingUtil.java -text
|
src/main/java/forge/gui/framework/SResizingUtil.java -text
|
||||||
|
src/main/java/forge/gui/framework/VEmptyDoc.java -text
|
||||||
src/main/java/forge/gui/framework/package-info.java svneol=native#text/plain
|
src/main/java/forge/gui/framework/package-info.java svneol=native#text/plain
|
||||||
src/main/java/forge/gui/home/CMainMenu.java -text
|
src/main/java/forge/gui/home/CMainMenu.java -text
|
||||||
src/main/java/forge/gui/home/EMenuGroup.java -text
|
src/main/java/forge/gui/home/EMenuGroup.java -text
|
||||||
@@ -12762,6 +12763,8 @@ src/main/java/forge/gui/home/gauntlet/VSubmenuGauntletBuild.java -text
|
|||||||
src/main/java/forge/gui/home/gauntlet/VSubmenuGauntletContests.java -text
|
src/main/java/forge/gui/home/gauntlet/VSubmenuGauntletContests.java -text
|
||||||
src/main/java/forge/gui/home/gauntlet/VSubmenuGauntletLoad.java -text
|
src/main/java/forge/gui/home/gauntlet/VSubmenuGauntletLoad.java -text
|
||||||
src/main/java/forge/gui/home/gauntlet/VSubmenuGauntletQuick.java -text
|
src/main/java/forge/gui/home/gauntlet/VSubmenuGauntletQuick.java -text
|
||||||
|
src/main/java/forge/gui/home/multiplayer/CSubmenuMultiTest.java -text
|
||||||
|
src/main/java/forge/gui/home/multiplayer/VSubmenuMultiTest.java -text
|
||||||
src/main/java/forge/gui/home/package-info.java svneol=native#text/plain
|
src/main/java/forge/gui/home/package-info.java svneol=native#text/plain
|
||||||
src/main/java/forge/gui/home/quest/CSubmenuChallenges.java -text
|
src/main/java/forge/gui/home/quest/CSubmenuChallenges.java -text
|
||||||
src/main/java/forge/gui/home/quest/CSubmenuDuels.java -text
|
src/main/java/forge/gui/home/quest/CSubmenuDuels.java -text
|
||||||
@@ -12818,6 +12821,7 @@ src/main/java/forge/gui/match/controllers/CPicture.java -text
|
|||||||
src/main/java/forge/gui/match/controllers/CPlayers.java -text
|
src/main/java/forge/gui/match/controllers/CPlayers.java -text
|
||||||
src/main/java/forge/gui/match/controllers/CStack.java -text
|
src/main/java/forge/gui/match/controllers/CStack.java -text
|
||||||
src/main/java/forge/gui/match/controllers/package-info.java svneol=native#text/plain
|
src/main/java/forge/gui/match/controllers/package-info.java svneol=native#text/plain
|
||||||
|
src/main/java/forge/gui/match/nonsingleton/CEmptyDoc.java -text
|
||||||
src/main/java/forge/gui/match/nonsingleton/CField.java -text
|
src/main/java/forge/gui/match/nonsingleton/CField.java -text
|
||||||
src/main/java/forge/gui/match/nonsingleton/CHand.java -text
|
src/main/java/forge/gui/match/nonsingleton/CHand.java -text
|
||||||
src/main/java/forge/gui/match/nonsingleton/VField.java -text
|
src/main/java/forge/gui/match/nonsingleton/VField.java -text
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
<doc>HOME_GAUNTLETLOAD</doc>
|
<doc>HOME_GAUNTLETLOAD</doc>
|
||||||
<doc>HOME_GAUNTLETQUICK</doc>
|
<doc>HOME_GAUNTLETQUICK</doc>
|
||||||
<doc>HOME_GAUNTLETCONTESTS</doc>
|
<doc>HOME_GAUNTLETCONTESTS</doc>
|
||||||
|
<doc>HOME_MULTITEST</doc>
|
||||||
<doc>HOME_CONSTRUCTED</doc>
|
<doc>HOME_CONSTRUCTED</doc>
|
||||||
<doc>HOME_DRAFT</doc>
|
<doc>HOME_DRAFT</doc>
|
||||||
<doc>HOME_SEALED</doc>
|
<doc>HOME_SEALED</doc>
|
||||||
|
|||||||
@@ -13,16 +13,16 @@
|
|||||||
<doc>BUTTON_DOCK</doc>
|
<doc>BUTTON_DOCK</doc>
|
||||||
</cell>
|
</cell>
|
||||||
<cell x="0.2" y="0.0" w="0.6" h="0.364">
|
<cell x="0.2" y="0.0" w="0.6" h="0.364">
|
||||||
<doc>FIELD_0</doc>
|
<doc>FIELD_1</doc>
|
||||||
</cell>
|
</cell>
|
||||||
<cell x="0.2" y="0.732" w="0.6" h="0.268">
|
<cell x="0.2" y="0.732" w="0.6" h="0.268">
|
||||||
<doc>HAND_1</doc>
|
<doc>HAND_0</doc>
|
||||||
</cell>
|
</cell>
|
||||||
<cell x="0.8" y="0.0" w="0.2" h="0.466">
|
<cell x="0.8" y="0.0" w="0.2" h="0.466">
|
||||||
<doc>CARD_DETAIL</doc>
|
<doc>CARD_DETAIL</doc>
|
||||||
</cell>
|
</cell>
|
||||||
<cell x="0.2" y="0.364" w="0.6" h="0.368">
|
<cell x="0.2" y="0.364" w="0.6" h="0.368">
|
||||||
<doc>FIELD_1</doc>
|
<doc>FIELD_0</doc>
|
||||||
</cell>
|
</cell>
|
||||||
<cell x="0.8" y="0.466" w="0.2" h="0.534">
|
<cell x="0.8" y="0.466" w="0.2" h="0.534">
|
||||||
<doc>CARD_PICTURE</doc>
|
<doc>CARD_PICTURE</doc>
|
||||||
|
|||||||
@@ -271,6 +271,7 @@ public enum FControl {
|
|||||||
if (children.length != 0) { children[0].setSize(display.getSize()); }
|
if (children.length != 0) { children[0].setSize(display.getSize()); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @return {@link forge.game.player.Player} */
|
||||||
public Player getPlayer() {
|
public Player getPlayer() {
|
||||||
return AllZone.getHumanPlayer();
|
return AllZone.getHumanPlayer();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ public class GameNew {
|
|||||||
newGameCleanup();
|
newGameCleanup();
|
||||||
newMatchCleanup();
|
newMatchCleanup();
|
||||||
|
|
||||||
|
Singletons.getModel().getPreferences().actuateMatchPreferences();
|
||||||
Card.resetUniqueNumber();
|
Card.resetUniqueNumber();
|
||||||
|
|
||||||
for( PlayerStartsGame p : players ) {
|
for( PlayerStartsGame p : players ) {
|
||||||
@@ -284,9 +285,9 @@ public class GameNew {
|
|||||||
private static void newMatchCleanup() {
|
private static void newMatchCleanup() {
|
||||||
if (Singletons.getModel().getMatchState().getGamesPlayedCount() != 0) { return; }
|
if (Singletons.getModel().getMatchState().getGamesPlayedCount() != 0) { return; }
|
||||||
|
|
||||||
|
|
||||||
// TODO restore this functionality!!!
|
// TODO restore this functionality!!!
|
||||||
//VMatchUI.SINGLETON_INSTANCE.getViewDevMode().getDocument().setVisible(Preferences.DEV_MODE);
|
//VMatchUI.SINGLETON_INSTANCE.getViewDevMode().getDocument().setVisible(Preferences.DEV_MODE);
|
||||||
|
|
||||||
final List<VField> allFields = VMatchUI.SINGLETON_INSTANCE.getFieldViews();
|
final List<VField> allFields = VMatchUI.SINGLETON_INSTANCE.getFieldViews();
|
||||||
|
|
||||||
for (final VField field : allFields) {
|
for (final VField field : allFields) {
|
||||||
@@ -297,8 +298,6 @@ public class GameNew {
|
|||||||
VAntes.SINGLETON_INSTANCE.clearAnteCards();
|
VAntes.SINGLETON_INSTANCE.clearAnteCards();
|
||||||
AllZone.getInputControl().resetInput();
|
AllZone.getInputControl().resetInput();
|
||||||
Singletons.getModel().getMatchState().reset();
|
Singletons.getModel().getMatchState().reset();
|
||||||
|
|
||||||
Singletons.getModel().getPreferences().actuateMatchPreferences();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// this is where the computer cheats
|
// this is where the computer cheats
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ import com.google.common.base.Predicate;
|
|||||||
import forge.AllZone;
|
import forge.AllZone;
|
||||||
import forge.AllZoneUtil;
|
import forge.AllZoneUtil;
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
|
|
||||||
import forge.CardLists;
|
import forge.CardLists;
|
||||||
import forge.CardPredicates.Presets;
|
import forge.CardPredicates.Presets;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
@@ -426,8 +425,8 @@ public class PhaseUtil {
|
|||||||
final Player p = Singletons.getModel().getGameState().getPhaseHandler().getPlayerTurn();
|
final Player p = Singletons.getModel().getGameState().getPhaseHandler().getPlayerTurn();
|
||||||
final CMatchUI t = CMatchUI.SINGLETON_INSTANCE;
|
final CMatchUI t = CMatchUI.SINGLETON_INSTANCE;
|
||||||
|
|
||||||
// Index of field; computer is 0, human is 1
|
// Index of field; computer is 1, human is 0
|
||||||
int i = p.isComputer() ? 0 : 1;
|
int i = p.isComputer() ? 1 : 0;
|
||||||
|
|
||||||
switch(s) {
|
switch(s) {
|
||||||
case UPKEEP:
|
case UPKEEP:
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ import com.google.common.collect.Iterables;
|
|||||||
import forge.AllZone;
|
import forge.AllZone;
|
||||||
import forge.AllZoneUtil;
|
import forge.AllZoneUtil;
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
|
|
||||||
import forge.CardLists;
|
import forge.CardLists;
|
||||||
import forge.CardPredicates;
|
import forge.CardPredicates;
|
||||||
import forge.CardPredicates.Presets;
|
import forge.CardPredicates.Presets;
|
||||||
|
|||||||
@@ -271,6 +271,7 @@ public final class DragCell extends JPanel implements ILocalRepaint {
|
|||||||
/** Adds a document to the tabs.
|
/** Adds a document to the tabs.
|
||||||
* @param doc0   {@link forge.gui.framework.IVDoc} */
|
* @param doc0   {@link forge.gui.framework.IVDoc} */
|
||||||
public void addDoc(final IVDoc doc0) {
|
public void addDoc(final IVDoc doc0) {
|
||||||
|
if (doc0 instanceof VEmptyDoc) { return; }
|
||||||
allDocs.add(doc0);
|
allDocs.add(doc0);
|
||||||
doc0.setParentCell(this);
|
doc0.setParentCell(this);
|
||||||
pnlHead.add(doc0.getTabLabel(), "h 100%!, gap " + tabPaddingPx + "px " + tabPaddingPx + "px 0 0", allDocs.size() - 1);
|
pnlHead.add(doc0.getTabLabel(), "h 100%!, gap " + tabPaddingPx + "px " + tabPaddingPx + "px 0 0", allDocs.size() - 1);
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import forge.gui.home.gauntlet.VSubmenuGauntletBuild;
|
|||||||
import forge.gui.home.gauntlet.VSubmenuGauntletContests;
|
import forge.gui.home.gauntlet.VSubmenuGauntletContests;
|
||||||
import forge.gui.home.gauntlet.VSubmenuGauntletLoad;
|
import forge.gui.home.gauntlet.VSubmenuGauntletLoad;
|
||||||
import forge.gui.home.gauntlet.VSubmenuGauntletQuick;
|
import forge.gui.home.gauntlet.VSubmenuGauntletQuick;
|
||||||
|
import forge.gui.home.multiplayer.VSubmenuMultiTest;
|
||||||
import forge.gui.home.quest.VSubmenuChallenges;
|
import forge.gui.home.quest.VSubmenuChallenges;
|
||||||
import forge.gui.home.quest.VSubmenuDuels;
|
import forge.gui.home.quest.VSubmenuDuels;
|
||||||
import forge.gui.home.quest.VSubmenuQuestData;
|
import forge.gui.home.quest.VSubmenuQuestData;
|
||||||
@@ -69,6 +70,7 @@ public enum EDocID { /** */
|
|||||||
HOME_GAUNTLETLOAD (VSubmenuGauntletLoad.SINGLETON_INSTANCE), /** */
|
HOME_GAUNTLETLOAD (VSubmenuGauntletLoad.SINGLETON_INSTANCE), /** */
|
||||||
HOME_GAUNTLETQUICK (VSubmenuGauntletQuick.SINGLETON_INSTANCE), /** */
|
HOME_GAUNTLETQUICK (VSubmenuGauntletQuick.SINGLETON_INSTANCE), /** */
|
||||||
HOME_GAUNTLETCONTESTS (VSubmenuGauntletContests.SINGLETON_INSTANCE), /** */
|
HOME_GAUNTLETCONTESTS (VSubmenuGauntletContests.SINGLETON_INSTANCE), /** */
|
||||||
|
HOME_MULTITEST (VSubmenuMultiTest.SINGLETON_INSTANCE), /** */
|
||||||
HOME_PREFERENCES (VSubmenuPreferences.SINGLETON_INSTANCE), /** */
|
HOME_PREFERENCES (VSubmenuPreferences.SINGLETON_INSTANCE), /** */
|
||||||
HOME_AVATARS (VSubmenuAvatars.SINGLETON_INSTANCE), /** */
|
HOME_AVATARS (VSubmenuAvatars.SINGLETON_INSTANCE), /** */
|
||||||
HOME_DECKEDITOR (VSubmenuDeckEditor.SINGLETON_INSTANCE), /** */
|
HOME_DECKEDITOR (VSubmenuDeckEditor.SINGLETON_INSTANCE), /** */
|
||||||
@@ -91,10 +93,18 @@ public enum EDocID { /** */
|
|||||||
// Non-user battlefields (AI or teammate), use setDoc to register.
|
// Non-user battlefields (AI or teammate), use setDoc to register.
|
||||||
FIELD_0 (null), /** */
|
FIELD_0 (null), /** */
|
||||||
FIELD_1 (null), /** */
|
FIELD_1 (null), /** */
|
||||||
|
FIELD_2 (null), /** */
|
||||||
|
FIELD_3 (null), /** */
|
||||||
|
FIELD_4 (null), /** */
|
||||||
|
FIELD_5 (null), /** */
|
||||||
|
FIELD_6 (null), /** */
|
||||||
|
FIELD_7 (null), /** */
|
||||||
|
|
||||||
// Non-user hands (AI or teammate), use setDoc to register.
|
// Non-user hands (AI or teammate), use setDoc to register.
|
||||||
HAND_0 (null), /** */
|
HAND_0 (null), /** */
|
||||||
HAND_1 (null);
|
HAND_1 (null), /** */
|
||||||
|
HAND_2 (null), /** */
|
||||||
|
HAND_3 (null);
|
||||||
|
|
||||||
// End enum declarations, start enum methods.
|
// End enum declarations, start enum methods.
|
||||||
private IVDoc vDoc;
|
private IVDoc vDoc;
|
||||||
|
|||||||
71
src/main/java/forge/gui/framework/VEmptyDoc.java
Normal file
71
src/main/java/forge/gui/framework/VEmptyDoc.java
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
package forge.gui.framework;
|
||||||
|
|
||||||
|
import forge.gui.match.nonsingleton.CEmptyDoc;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An intentionally empty IVDoc to fill field slots unused
|
||||||
|
* by the current layout of a match UI.
|
||||||
|
*/
|
||||||
|
public class VEmptyDoc implements IVDoc {
|
||||||
|
// Fields used with interface IVDoc
|
||||||
|
private final CEmptyDoc control;
|
||||||
|
private final EDocID docID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An intentionally empty IVDoc to fill field slots unused
|
||||||
|
* by the current layout of a match UI.
|
||||||
|
*
|
||||||
|
* @param id0 EDocID
|
||||||
|
*/
|
||||||
|
public VEmptyDoc(final EDocID id0) {
|
||||||
|
id0.setDoc(this);
|
||||||
|
docID = id0;
|
||||||
|
control = new CEmptyDoc();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.gui.framework.IVDoc#getDocumentID()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public EDocID getDocumentID() {
|
||||||
|
return docID;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.gui.framework.IVDoc#getTabLabel()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public DragTab getTabLabel() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.gui.framework.IVDoc#getLayoutControl()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public ICDoc getLayoutControl() {
|
||||||
|
return control;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.gui.framework.IVDoc#setParentCell(forge.gui.framework.DragCell)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setParentCell(DragCell cell0) {
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.gui.framework.IVDoc#getParentCell()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public DragCell getParentCell() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.gui.framework.IVDoc#populate()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void populate() {
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -11,6 +11,7 @@ public enum EMenuGroup { /** */
|
|||||||
SANCTIONED ("Sanctioned Game Formats"), /** */
|
SANCTIONED ("Sanctioned Game Formats"), /** */
|
||||||
QUEST ("Quest Mode"), /** */
|
QUEST ("Quest Mode"), /** */
|
||||||
GAUNTLET ("Gauntlets"), /** */
|
GAUNTLET ("Gauntlets"), /** */
|
||||||
|
MULTIPLAYER ("Multiplayer"), /** */
|
||||||
SETTINGS ("Game Settings"), /** */
|
SETTINGS ("Game Settings"), /** */
|
||||||
UTILITIES ("Tools");
|
UTILITIES ("Tools");
|
||||||
|
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ import forge.gui.home.gauntlet.VSubmenuGauntletBuild;
|
|||||||
import forge.gui.home.gauntlet.VSubmenuGauntletContests;
|
import forge.gui.home.gauntlet.VSubmenuGauntletContests;
|
||||||
import forge.gui.home.gauntlet.VSubmenuGauntletLoad;
|
import forge.gui.home.gauntlet.VSubmenuGauntletLoad;
|
||||||
import forge.gui.home.gauntlet.VSubmenuGauntletQuick;
|
import forge.gui.home.gauntlet.VSubmenuGauntletQuick;
|
||||||
|
import forge.gui.home.multiplayer.VSubmenuMultiTest;
|
||||||
import forge.gui.home.quest.VSubmenuChallenges;
|
import forge.gui.home.quest.VSubmenuChallenges;
|
||||||
import forge.gui.home.quest.VSubmenuDuels;
|
import forge.gui.home.quest.VSubmenuDuels;
|
||||||
import forge.gui.home.quest.VSubmenuQuestData;
|
import forge.gui.home.quest.VSubmenuQuestData;
|
||||||
@@ -109,6 +110,8 @@ public enum VMainMenu implements IVDoc {
|
|||||||
allSubmenus.add(VSubmenuGauntletLoad.SINGLETON_INSTANCE);
|
allSubmenus.add(VSubmenuGauntletLoad.SINGLETON_INSTANCE);
|
||||||
allSubmenus.add(VSubmenuGauntletContests.SINGLETON_INSTANCE);
|
allSubmenus.add(VSubmenuGauntletContests.SINGLETON_INSTANCE);
|
||||||
|
|
||||||
|
allSubmenus.add(VSubmenuMultiTest.SINGLETON_INSTANCE);
|
||||||
|
|
||||||
allSubmenus.add(VSubmenuPreferences.SINGLETON_INSTANCE);
|
allSubmenus.add(VSubmenuPreferences.SINGLETON_INSTANCE);
|
||||||
allSubmenus.add(VSubmenuAvatars.SINGLETON_INSTANCE);
|
allSubmenus.add(VSubmenuAvatars.SINGLETON_INSTANCE);
|
||||||
|
|
||||||
|
|||||||
112
src/main/java/forge/gui/home/multiplayer/CSubmenuMultiTest.java
Normal file
112
src/main/java/forge/gui/home/multiplayer/CSubmenuMultiTest.java
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
package forge.gui.home.multiplayer;
|
||||||
|
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
|
||||||
|
import javax.swing.JRadioButton;
|
||||||
|
import javax.swing.SwingUtilities;
|
||||||
|
import javax.swing.SwingWorker;
|
||||||
|
|
||||||
|
import forge.AllZone;
|
||||||
|
import forge.Command;
|
||||||
|
import forge.Singletons;
|
||||||
|
import forge.deck.Deck;
|
||||||
|
import forge.deck.DeckgenUtil;
|
||||||
|
import forge.game.GameNew;
|
||||||
|
import forge.game.GameType;
|
||||||
|
import forge.game.PlayerStartsGame;
|
||||||
|
import forge.game.player.PlayerType;
|
||||||
|
import forge.gui.SOverlayUtils;
|
||||||
|
import forge.gui.framework.ICDoc;
|
||||||
|
import forge.gui.match.CMatchUI;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Controls the deck editor submenu option in the home UI.
|
||||||
|
*
|
||||||
|
* <br><br><i>(C at beginning of class name denotes a control class.)</i>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public enum CSubmenuMultiTest implements ICDoc {
|
||||||
|
/** */
|
||||||
|
SINGLETON_INSTANCE;
|
||||||
|
|
||||||
|
private final VSubmenuMultiTest view = VSubmenuMultiTest.SINGLETON_INSTANCE;
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.control.home.IControlSubmenu#update()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void initialize() {
|
||||||
|
// Checkbox event handling
|
||||||
|
view.getBtnStart().addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(final ActionEvent arg0) {
|
||||||
|
start();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.control.home.IControlSubmenu#update()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void update() { }
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.gui.framework.ICDoc#getCommandOnSelect()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Command getCommandOnSelect() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void start() {
|
||||||
|
// Retrieve selections
|
||||||
|
JRadioButton radTemp = null;
|
||||||
|
final int numFields;
|
||||||
|
final int numHands;
|
||||||
|
|
||||||
|
for (JRadioButton rad : view.getFieldRadios()) {
|
||||||
|
if (rad.isSelected()) { radTemp = rad; break; } }
|
||||||
|
|
||||||
|
numFields = (radTemp == null ? 2 : Integer.valueOf(radTemp.getText()));
|
||||||
|
|
||||||
|
radTemp = null;
|
||||||
|
for (JRadioButton rad : view.getHandRadios()) {
|
||||||
|
if (rad.isSelected()) { radTemp = rad; break; } }
|
||||||
|
|
||||||
|
numHands = (radTemp == null ? 1 : Integer.valueOf(radTemp.getText()));
|
||||||
|
|
||||||
|
// Boilerplate start game code
|
||||||
|
SwingUtilities.invokeLater(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
SOverlayUtils.startGameOverlay();
|
||||||
|
SOverlayUtils.showOverlay();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
final SwingWorker<Object, Void> worker = new SwingWorker<Object, Void>() {
|
||||||
|
@Override
|
||||||
|
public Object doInBackground() {
|
||||||
|
Deck humanDeck = DeckgenUtil.getRandomColorDeck(PlayerType.HUMAN);
|
||||||
|
Deck aiDeck = DeckgenUtil.getRandomColorDeck(PlayerType.COMPUTER);
|
||||||
|
|
||||||
|
CMatchUI.SINGLETON_INSTANCE.initMatch(numFields, numHands);
|
||||||
|
Singletons.getModel().getMatchState().setGameType(GameType.Constructed);
|
||||||
|
|
||||||
|
if (humanDeck != null && aiDeck != null) {
|
||||||
|
GameNew.newGame(new PlayerStartsGame(AllZone.getHumanPlayer(), humanDeck),
|
||||||
|
new PlayerStartsGame(AllZone.getComputerPlayer(), aiDeck));
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void done() {
|
||||||
|
SOverlayUtils.hideOverlay();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
worker.execute();
|
||||||
|
}
|
||||||
|
}
|
||||||
180
src/main/java/forge/gui/home/multiplayer/VSubmenuMultiTest.java
Normal file
180
src/main/java/forge/gui/home/multiplayer/VSubmenuMultiTest.java
Normal file
@@ -0,0 +1,180 @@
|
|||||||
|
package forge.gui.home.multiplayer;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.swing.ButtonGroup;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JRadioButton;
|
||||||
|
|
||||||
|
import net.miginfocom.swing.MigLayout;
|
||||||
|
import forge.gui.framework.DragCell;
|
||||||
|
import forge.gui.framework.DragTab;
|
||||||
|
import forge.gui.framework.EDocID;
|
||||||
|
import forge.gui.framework.ICDoc;
|
||||||
|
import forge.gui.home.EMenuGroup;
|
||||||
|
import forge.gui.home.IVSubmenu;
|
||||||
|
import forge.gui.home.StartButton;
|
||||||
|
import forge.gui.toolbox.FLabel;
|
||||||
|
import forge.gui.toolbox.FPanel;
|
||||||
|
import forge.gui.toolbox.FRadioButton;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Assembles Swing components of deck editor submenu option singleton.
|
||||||
|
*
|
||||||
|
* <br><br><i>(V at beginning of class name denotes a view class.)</i>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public enum VSubmenuMultiTest implements IVSubmenu {
|
||||||
|
/** */
|
||||||
|
SINGLETON_INSTANCE;
|
||||||
|
|
||||||
|
// Fields used with interface IVDoc
|
||||||
|
private DragCell parentCell;
|
||||||
|
private final DragTab tab = new DragTab("Multiplayer Test");
|
||||||
|
private final JPanel pnlFields, pnlHands;
|
||||||
|
|
||||||
|
/** */
|
||||||
|
private final List<JRadioButton> fieldRadios = new ArrayList<JRadioButton>();
|
||||||
|
private final List<JRadioButton> handRadios = new ArrayList<JRadioButton>();
|
||||||
|
private final StartButton btnStart = new StartButton();
|
||||||
|
private final ButtonGroup grpFields = new ButtonGroup();
|
||||||
|
private final ButtonGroup grpHands = new ButtonGroup();
|
||||||
|
|
||||||
|
private VSubmenuMultiTest() {
|
||||||
|
FRadioButton temp;
|
||||||
|
|
||||||
|
for (int i = 1; i < 8; i++) {
|
||||||
|
temp = new FRadioButton();
|
||||||
|
temp.setText(String.valueOf(i + 1));
|
||||||
|
fieldRadios.add(temp);
|
||||||
|
grpFields.add(temp);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < 4; i++) {
|
||||||
|
temp = new FRadioButton();
|
||||||
|
temp.setText(String.valueOf(i + 1));
|
||||||
|
handRadios.add(temp);
|
||||||
|
grpHands.add(temp);
|
||||||
|
}
|
||||||
|
|
||||||
|
pnlFields = new FPanel();
|
||||||
|
pnlFields.setLayout(new MigLayout("insets 0, gap 0, wrap"));
|
||||||
|
pnlFields.add(new FLabel.Builder().text("Player panels:").build(), "w 100px!, h 30px!");
|
||||||
|
|
||||||
|
for (JRadioButton rad : fieldRadios) {
|
||||||
|
pnlFields.add(rad, "w 100px!, h 30px!, gap 30px 0 0 0");
|
||||||
|
}
|
||||||
|
|
||||||
|
pnlHands = new FPanel();
|
||||||
|
pnlHands.setLayout(new MigLayout("insets 0, gap 0, wrap"));
|
||||||
|
pnlHands.add(new FLabel.Builder().text("Hand panels:").build(), "w 100px!, h 30px!");
|
||||||
|
|
||||||
|
for (JRadioButton rad : handRadios) {
|
||||||
|
pnlHands.add(rad, "w 100px!, h 30px!, gap 30px 0 0 0");
|
||||||
|
}
|
||||||
|
|
||||||
|
handRadios.get(0).setSelected(true);
|
||||||
|
fieldRadios.get(0).setSelected(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @return {@link javax.swing.JButton} */
|
||||||
|
public JButton getBtnStart() {
|
||||||
|
return btnStart;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @return {@link java.util.List} */
|
||||||
|
public List<JRadioButton> getFieldRadios() {
|
||||||
|
return fieldRadios;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @return {@link java.util.List} */
|
||||||
|
public List<JRadioButton> getHandRadios() {
|
||||||
|
return handRadios;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.view.home.IViewSubmenu#populate()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void populate() {
|
||||||
|
parentCell.getBody().setLayout(new MigLayout("insets 0, gap 0, wrap 2"));
|
||||||
|
|
||||||
|
parentCell.getBody().add(pnlFields, "w 41%!, gap 6% 6% 50px 0, growy, pushy");
|
||||||
|
parentCell.getBody().add(pnlHands, "w 41%!, gap 0 0 50px 0, growy, pushy");
|
||||||
|
parentCell.getBody().add(new FLabel.Builder()
|
||||||
|
.text("Starts a new game with preconstructed 2 color decks for each field.")
|
||||||
|
.build(), "gap 0 0 50px 5px, ax center, span 2");
|
||||||
|
parentCell.getBody().add(new FLabel.Builder()
|
||||||
|
.text("Field 0 is Human, the rest are AI [AllZone.getComputerPlayer()].")
|
||||||
|
.build(), "gap 0 0 0 5px, ax center, span 2");
|
||||||
|
parentCell.getBody().add(btnStart, "gap 0 0 50px 50px, ax center, span 2");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.view.home.IViewSubmenu#getGroup()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public EMenuGroup getGroupEnum() {
|
||||||
|
return EMenuGroup.MULTIPLAYER;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.gui.home.IVSubmenu#getMenuTitle()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String getMenuTitle() {
|
||||||
|
return "Testing (Temporary)";
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.gui.home.IVSubmenu#getItemEnum()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public EDocID getItemEnum() {
|
||||||
|
return EDocID.HOME_MULTITEST;
|
||||||
|
}
|
||||||
|
|
||||||
|
//========== Overridden from IVDoc
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.gui.framework.IVDoc#getDocumentID()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public EDocID getDocumentID() {
|
||||||
|
return EDocID.HOME_MULTITEST;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.gui.framework.IVDoc#getTabLabel()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public DragTab getTabLabel() {
|
||||||
|
return tab;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.gui.framework.IVDoc#getLayoutControl()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public ICDoc getLayoutControl() {
|
||||||
|
return CSubmenuMultiTest.SINGLETON_INSTANCE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.gui.framework.IVDoc#setParentCell(forge.gui.framework.DragCell)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setParentCell(DragCell cell0) {
|
||||||
|
this.parentCell = cell0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.gui.framework.IVDoc#getParentCell()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public DragCell getParentCell() {
|
||||||
|
return parentCell;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -17,28 +17,21 @@
|
|||||||
*/
|
*/
|
||||||
package forge.gui.match;
|
package forge.gui.match;
|
||||||
|
|
||||||
import java.awt.Image;
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import javax.swing.ImageIcon;
|
import forge.AllZone;
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
import forge.Singletons;
|
|
||||||
import forge.game.GameType;
|
|
||||||
import forge.game.phase.PhaseType;
|
import forge.game.phase.PhaseType;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.gui.CardContainer;
|
import forge.gui.CardContainer;
|
||||||
|
import forge.gui.framework.EDocID;
|
||||||
import forge.gui.match.controllers.CDetail;
|
import forge.gui.match.controllers.CDetail;
|
||||||
import forge.gui.match.controllers.CMessage;
|
import forge.gui.match.controllers.CMessage;
|
||||||
import forge.gui.match.controllers.CPicture;
|
import forge.gui.match.controllers.CPicture;
|
||||||
import forge.gui.match.nonsingleton.CField;
|
import forge.gui.match.nonsingleton.CField;
|
||||||
import forge.gui.match.nonsingleton.VField;
|
import forge.gui.match.nonsingleton.VField;
|
||||||
import forge.gui.toolbox.FSkin;
|
import forge.gui.match.nonsingleton.VHand;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
|
||||||
import forge.properties.ForgeProps;
|
|
||||||
import forge.properties.NewConstants;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs instance of match UI controller, used as a single point of
|
* Constructs instance of match UI controller, used as a single point of
|
||||||
@@ -53,19 +46,31 @@ public enum CMatchUI implements CardContainer {
|
|||||||
SINGLETON_INSTANCE;
|
SINGLETON_INSTANCE;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fires up controllers for each component of UI.
|
* Due to be deprecated with new multiplayer changes. Doublestrike 13-10-12.
|
||||||
*
|
*
|
||||||
* @param strAvatarIcon   Filename of non-default avatar icon, if desired.
|
* @param strAvatarIcon   Filename of non-default avatar icon, if desired.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public void initMatch(final String strAvatarIcon) {
|
public void initMatch(final String strAvatarIcon) {
|
||||||
|
this.initMatch(2, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates at a match with a specified number of players
|
||||||
|
* and hands.
|
||||||
|
*
|
||||||
|
* @param numFieldPanels int
|
||||||
|
* @param numHandPanels int
|
||||||
|
*/
|
||||||
|
public void initMatch(int numFieldPanels, int numHandPanels) {
|
||||||
|
// TODO fix for use with multiplayer
|
||||||
// Update avatars
|
// Update avatars
|
||||||
final String[] indices = Singletons.getModel().getPreferences().getPref(FPref.UI_AVATARS).split(",");
|
/*final String[] indices = Singletons.getModel().getPreferences().getPref(FPref.UI_AVATARS).split(",");
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (VField view : VMatchUI.SINGLETON_INSTANCE.getFieldViews()) {
|
for (VField view : VMatchUI.SINGLETON_INSTANCE.getFieldViews()) {
|
||||||
final Image img;
|
final Image img;
|
||||||
// Update AI quest icon
|
// Update AI quest icon
|
||||||
if (i != 1 && Singletons.getModel().getMatchState().getGameType() == GameType.Quest) {
|
if (i == 1 && Singletons.getModel().getMatchState().getGameType() == GameType.Quest) {
|
||||||
String filename = ForgeProps.getFile(NewConstants.IMAGE_ICON) + File.separator;
|
String filename = ForgeProps.getFile(NewConstants.IMAGE_ICON) + File.separator;
|
||||||
|
|
||||||
if (strAvatarIcon != null) {
|
if (strAvatarIcon != null) {
|
||||||
@@ -86,7 +91,45 @@ public enum CMatchUI implements CardContainer {
|
|||||||
|
|
||||||
view.getLblAvatar().setIcon(new ImageIcon(img));
|
view.getLblAvatar().setIcon(new ImageIcon(img));
|
||||||
view.getLblAvatar().getResizeTimer().start();
|
view.getLblAvatar().getResizeTimer().start();
|
||||||
|
}*/
|
||||||
|
|
||||||
|
// Instantiate all required field slots (user at 0)
|
||||||
|
final List<VField> fields = new ArrayList<VField>();
|
||||||
|
for (int i = 0; i < numFieldPanels; i++) {
|
||||||
|
switch (i) {
|
||||||
|
case 0:
|
||||||
|
fields.add(0, new VField(EDocID.FIELD_0, AllZone.getHumanPlayer()));
|
||||||
|
fields.get(0).getLayoutControl().initialize();
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
fields.add(1, new VField(EDocID.FIELD_1, AllZone.getComputerPlayer()));
|
||||||
|
fields.get(1).getLayoutControl().initialize();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
// A field must be initialized after it's instantiated, to update player info.
|
||||||
|
// No player, no init.
|
||||||
|
fields.add(i, new VField(EDocID.valueOf("FIELD_" + i), null));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Instantiate all required hand slots (user at 0)
|
||||||
|
final List<VHand> hands = new ArrayList<VHand>();
|
||||||
|
for (int i = 0; i < numHandPanels; i++) {
|
||||||
|
switch (i) {
|
||||||
|
case 0:
|
||||||
|
// A hand must be initialized after it's instantiated, to update player info.
|
||||||
|
// No player, no init.
|
||||||
|
hands.add(0, new VHand(EDocID.HAND_0, AllZone.getHumanPlayer()));
|
||||||
|
hands.get(0).getLayoutControl().initialize();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
hands.add(i, new VHand(EDocID.valueOf("HAND_" + i), null));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Replace old instances
|
||||||
|
VMatchUI.SINGLETON_INSTANCE.setFieldViews(fields);
|
||||||
|
VMatchUI.SINGLETON_INSTANCE.setHandViews(hands);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -156,8 +199,8 @@ public enum CMatchUI implements CardContainer {
|
|||||||
public final boolean stopAtPhase(final Player turn, final PhaseType phase) {
|
public final boolean stopAtPhase(final Player turn, final PhaseType phase) {
|
||||||
final List<CField> fieldControllers = CMatchUI.this.getFieldControls();
|
final List<CField> fieldControllers = CMatchUI.this.getFieldControls();
|
||||||
|
|
||||||
// AI field is at index [0]
|
// Index of field; computer is 1, human is 0
|
||||||
int index = turn.isComputer() ? 0 : 1;
|
int index = turn.isComputer() ? 1 : 0;
|
||||||
VField vf = fieldControllers.get(index).getView();
|
VField vf = fieldControllers.get(index).getView();
|
||||||
|
|
||||||
switch (phase) {
|
switch (phase) {
|
||||||
|
|||||||
@@ -83,6 +83,7 @@ public class ControlWinLose {
|
|||||||
// Clear cards off of playing areas
|
// Clear cards off of playing areas
|
||||||
final List<VHand> hands = VMatchUI.SINGLETON_INSTANCE.getHandViews();
|
final List<VHand> hands = VMatchUI.SINGLETON_INSTANCE.getHandViews();
|
||||||
for (VHand h : hands) {
|
for (VHand h : hands) {
|
||||||
|
if (h.getPlayer() == null) { continue; }
|
||||||
h.getPlayer().getZone(ZoneType.Battlefield).reset();
|
h.getPlayer().getZone(ZoneType.Battlefield).reset();
|
||||||
h.getPlayer().getZone(ZoneType.Hand).reset();
|
h.getPlayer().getZone(ZoneType.Hand).reset();
|
||||||
}
|
}
|
||||||
@@ -112,7 +113,7 @@ public class ControlWinLose {
|
|||||||
Singletons.getModel().getPreferences().save();
|
Singletons.getModel().getPreferences().save();
|
||||||
|
|
||||||
CMatchUI.SINGLETON_INSTANCE.initMatch(null);
|
CMatchUI.SINGLETON_INSTANCE.initMatch(null);
|
||||||
GameNew.newGame( new PlayerStartsGame(AllZone.getHumanPlayer(), AllZone.getHumanPlayer().getDeck()),
|
GameNew.newGame(new PlayerStartsGame(AllZone.getHumanPlayer(), AllZone.getHumanPlayer().getDeck()),
|
||||||
new PlayerStartsGame(AllZone.getComputerPlayer(), AllZone.getComputerPlayer().getDeck()));
|
new PlayerStartsGame(AllZone.getComputerPlayer(), AllZone.getComputerPlayer().getDeck()));
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -124,15 +125,21 @@ public class ControlWinLose {
|
|||||||
*/
|
*/
|
||||||
private void executeAnte() {
|
private void executeAnte() {
|
||||||
List<GameSummary> games = Singletons.getModel().getMatchState().getGamesPlayed();
|
List<GameSummary> games = Singletons.getModel().getMatchState().getGamesPlayed();
|
||||||
if ( games.isEmpty() ) return;
|
if (games.isEmpty()) {
|
||||||
GameSummary lastGame = games.get(games.size()-1);
|
return;
|
||||||
for (Player p: Singletons.getModel().getGameState().getPlayers()) {
|
}
|
||||||
if (!p.getName().equals(lastGame.getWinner())) continue; // not a loser
|
GameSummary lastGame = games.get(games.size() - 1);
|
||||||
|
for (Player p : Singletons.getModel().getGameState().getPlayers()) {
|
||||||
|
if (!p.getName().equals(lastGame.getWinner())) {
|
||||||
|
continue; // not a loser
|
||||||
|
}
|
||||||
|
|
||||||
// remove all the lost cards from owners' decks
|
// remove all the lost cards from owners' decks
|
||||||
List<CardPrinted> losses = new ArrayList<CardPrinted>();
|
List<CardPrinted> losses = new ArrayList<CardPrinted>();
|
||||||
for (Player loser: Singletons.getModel().getGameState().getPlayers()) {
|
for (Player loser : Singletons.getModel().getGameState().getPlayers()) {
|
||||||
if( loser.equals(p)) continue; // not a loser
|
if (loser.equals(p)) {
|
||||||
|
continue; // not a loser
|
||||||
|
}
|
||||||
|
|
||||||
List<Card> compAntes = loser.getCardsIn(ZoneType.Ante);
|
List<Card> compAntes = loser.getCardsIn(ZoneType.Ante);
|
||||||
Deck cDeck = loser.getDeck();
|
Deck cDeck = loser.getDeck();
|
||||||
@@ -144,7 +151,7 @@ public class ControlWinLose {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// offer to winner, if he is human
|
// offer to winner, if he is human
|
||||||
if( p.isHuman() ) {
|
if (p.isHuman()) {
|
||||||
List<CardPrinted> o = GuiChoose.noneOrMany("Select cards to add to your deck", losses);
|
List<CardPrinted> o = GuiChoose.noneOrMany("Select cards to add to your deck", losses);
|
||||||
if (null != o) {
|
if (null != o) {
|
||||||
for (CardPrinted c : o) {
|
for (CardPrinted c : o) {
|
||||||
|
|||||||
@@ -6,14 +6,13 @@ import java.util.List;
|
|||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
|
|
||||||
import forge.AllZone;
|
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.gui.framework.DragCell;
|
import forge.gui.framework.DragCell;
|
||||||
import forge.gui.framework.EDocID;
|
import forge.gui.framework.EDocID;
|
||||||
import forge.gui.framework.IVDoc;
|
|
||||||
import forge.gui.framework.IVTopLevelUI;
|
import forge.gui.framework.IVTopLevelUI;
|
||||||
import forge.gui.framework.SLayoutIO;
|
import forge.gui.framework.SLayoutIO;
|
||||||
import forge.gui.framework.SRearrangingUtil;
|
import forge.gui.framework.SRearrangingUtil;
|
||||||
|
import forge.gui.framework.VEmptyDoc;
|
||||||
import forge.gui.match.nonsingleton.VField;
|
import forge.gui.match.nonsingleton.VField;
|
||||||
import forge.gui.match.nonsingleton.VHand;
|
import forge.gui.match.nonsingleton.VHand;
|
||||||
import forge.gui.match.views.VDev;
|
import forge.gui.match.views.VDev;
|
||||||
@@ -32,17 +31,26 @@ public enum VMatchUI implements IVTopLevelUI {
|
|||||||
/** */
|
/** */
|
||||||
SINGLETON_INSTANCE;
|
SINGLETON_INSTANCE;
|
||||||
|
|
||||||
// Instantiate non-singleton tab instances
|
private List<VField> lstFields = new ArrayList<VField>();
|
||||||
private final IVDoc field0 = new VField(EDocID.FIELD_0, AllZone.getComputerPlayer());
|
private List<VHand> lstHands = new ArrayList<VHand>();
|
||||||
private final IVDoc field1 = new VField(EDocID.FIELD_1, AllZone.getHumanPlayer());
|
|
||||||
|
|
||||||
private final IVDoc hand0 = new VHand(EDocID.HAND_0, AllZone.getComputerPlayer());
|
|
||||||
private final IVDoc hand1 = new VHand(EDocID.HAND_1, AllZone.getHumanPlayer());
|
|
||||||
|
|
||||||
|
|
||||||
// Other instantiations
|
// Other instantiations
|
||||||
private final CMatchUI control = null;
|
private final CMatchUI control = null;
|
||||||
|
|
||||||
|
private VMatchUI() {
|
||||||
|
// Create empty docs for all field slots
|
||||||
|
for (int i = 0; i < 8; i++) {
|
||||||
|
EDocID.valueOf("FIELD_" + i).setDoc(
|
||||||
|
new VEmptyDoc(EDocID.valueOf("FIELD_" + i)));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create empty docs for all hand slots
|
||||||
|
for (int i = 0; i < 4; i++) {
|
||||||
|
EDocID.valueOf("HAND_" + i).setDoc(
|
||||||
|
new VEmptyDoc(EDocID.valueOf("HAND_" + i)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
@Override
|
@Override
|
||||||
public void instantiate() {
|
public void instantiate() {
|
||||||
@@ -73,6 +81,31 @@ public enum VMatchUI implements IVTopLevelUI {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add extra players alternatively to existing user/AI field panels.
|
||||||
|
for (int i = 2; i < lstFields.size(); i++) {
|
||||||
|
// If already in layout, no need to add again.
|
||||||
|
if (lstFields.get(i).getParentCell() != null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (i % 2 == 0) {
|
||||||
|
lstFields.get(0).getParentCell().addDoc(lstFields.get(i));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
lstFields.get(1).getParentCell().addDoc(lstFields.get(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add extra hands to existing hand panel.
|
||||||
|
for (int i = 0; i < lstHands.size(); i++) {
|
||||||
|
// If already in layout, no need to add again.
|
||||||
|
if (lstHands.get(i).getParentCell() != null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
lstHands.get(0).getParentCell().addDoc(lstHands.get(i));
|
||||||
|
}
|
||||||
|
|
||||||
// Fill in gaps
|
// Fill in gaps
|
||||||
SwingUtilities.invokeLater(new Runnable() {
|
SwingUtilities.invokeLater(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
@@ -94,20 +127,24 @@ public enum VMatchUI implements IVTopLevelUI {
|
|||||||
return this.control;
|
return this.control;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @return {@link java.util.List}<{@link forge.gui.match.nonsigleton.VField}> */
|
/** @param lst0 List<VField> */
|
||||||
|
public void setFieldViews(final List<VField> lst0) {
|
||||||
|
this.lstFields = lst0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @return {@link java.util.List}<{@link forge.gui.match.nonsigleton.VHand}> */
|
||||||
public List<VField> getFieldViews() {
|
public List<VField> getFieldViews() {
|
||||||
final List<VField> lst = new ArrayList<VField>();
|
return lstFields;
|
||||||
lst.add((VField) field0);
|
}
|
||||||
lst.add((VField) field1);
|
|
||||||
return lst;
|
/** @param lst0 List<VField> */
|
||||||
|
public void setHandViews(final List<VHand> lst0) {
|
||||||
|
this.lstHands = lst0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @return {@link java.util.List}<{@link forge.gui.match.nonsigleton.VHand}> */
|
/** @return {@link java.util.List}<{@link forge.gui.match.nonsigleton.VHand}> */
|
||||||
public List<VHand> getHandViews() {
|
public List<VHand> getHandViews() {
|
||||||
final List<VHand> lst = new ArrayList<VHand>();
|
return lstHands;
|
||||||
lst.add((VHand) hand0);
|
|
||||||
lst.add((VHand) hand1);
|
|
||||||
return lst;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @return {@link javax.swing.JButton} */
|
/** @return {@link javax.swing.JButton} */
|
||||||
|
|||||||
34
src/main/java/forge/gui/match/nonsingleton/CEmptyDoc.java
Normal file
34
src/main/java/forge/gui/match/nonsingleton/CEmptyDoc.java
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
package forge.gui.match.nonsingleton;
|
||||||
|
|
||||||
|
import forge.Command;
|
||||||
|
import forge.gui.framework.ICDoc;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An intentionally empty ICDoc to fill field slots unused
|
||||||
|
* by the current layout of a match UI.
|
||||||
|
*/
|
||||||
|
public class CEmptyDoc implements ICDoc {
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.gui.framework.ICDoc#getCommandOnSelect()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Command getCommandOnSelect() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.gui.framework.ICDoc#initialize()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void initialize() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.gui.framework.ICDoc#update()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void update() {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -194,7 +194,7 @@ public class CHand implements ICDoc {
|
|||||||
final PlayerZone pZone = (PlayerZone) a;
|
final PlayerZone pZone = (PlayerZone) a;
|
||||||
final HandArea p = view.getHandArea();
|
final HandArea p = view.getHandArea();
|
||||||
final Rectangle rctLibraryLabel = CMatchUI.SINGLETON_INSTANCE
|
final Rectangle rctLibraryLabel = CMatchUI.SINGLETON_INSTANCE
|
||||||
.getFieldControls().get(1)
|
.getFieldControls().get(0)
|
||||||
.getView().getLblLibrary().getBounds();
|
.getView().getLblLibrary().getBounds();
|
||||||
final List<Card> c = pZone.getCards();
|
final List<Card> c = pZone.getCards();
|
||||||
|
|
||||||
|
|||||||
@@ -58,7 +58,13 @@ public class VHand implements IVDoc {
|
|||||||
public VHand(final EDocID id0, final Player player0) {
|
public VHand(final EDocID id0, final Player player0) {
|
||||||
docID = id0;
|
docID = id0;
|
||||||
id0.setDoc(this);
|
id0.setDoc(this);
|
||||||
tab.setText(player0.getName() + " Hand");
|
|
||||||
|
if (player0 == null) {
|
||||||
|
tab.setText("NO PLAYER Hand");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
tab.setText(player0.getName() + " Hand");
|
||||||
|
}
|
||||||
|
|
||||||
player = player0;
|
player = player0;
|
||||||
|
|
||||||
|
|||||||
@@ -75,6 +75,7 @@ public class ForgePreferences {
|
|||||||
SUBMENU_CURRENTMENU (EMenuItem.CONSTRUCTED.toString()), /** */
|
SUBMENU_CURRENTMENU (EMenuItem.CONSTRUCTED.toString()), /** */
|
||||||
SUBMENU_SANCTIONED ("false"), /** */
|
SUBMENU_SANCTIONED ("false"), /** */
|
||||||
SUBMENU_GAUNTLET ("false"), /** */
|
SUBMENU_GAUNTLET ("false"), /** */
|
||||||
|
SUBMENU_MULTIPLAYER ("false"), /** */
|
||||||
SUBMENU_QUEST ("false"), /** */
|
SUBMENU_QUEST ("false"), /** */
|
||||||
SUBMENU_SETTINGS ("false"), /** */
|
SUBMENU_SETTINGS ("false"), /** */
|
||||||
SUBMENU_UTILITIES ("false"), /** */
|
SUBMENU_UTILITIES ("false"), /** */
|
||||||
@@ -170,7 +171,7 @@ public class ForgePreferences {
|
|||||||
} // END TEMPORARY CONSOLIDATION FACILITATION
|
} // END TEMPORARY CONSOLIDATION FACILITATION
|
||||||
|
|
||||||
List<String> lines = FileUtil.readFile(NewConstants.PREFS_GLOBAL_FILE);
|
List<String> lines = FileUtil.readFile(NewConstants.PREFS_GLOBAL_FILE);
|
||||||
for( String line :lines ) {
|
for (String line : lines) {
|
||||||
|
|
||||||
if (line.startsWith("#") || (line.length() == 0)) {
|
if (line.startsWith("#") || (line.length() == 0)) {
|
||||||
continue;
|
continue;
|
||||||
@@ -196,37 +197,37 @@ public class ForgePreferences {
|
|||||||
public void writeMatchPreferences() {
|
public void writeMatchPreferences() {
|
||||||
final List<VField> fieldViews = VMatchUI.SINGLETON_INSTANCE.getFieldViews();
|
final List<VField> fieldViews = VMatchUI.SINGLETON_INSTANCE.getFieldViews();
|
||||||
|
|
||||||
// AI field is at index [0]
|
// AI field is at index [1]
|
||||||
this.setPref(FPref.PHASE_AI_UPKEEP, String.valueOf(fieldViews.get(0).getLblUpkeep().getEnabled()));
|
this.setPref(FPref.PHASE_AI_UPKEEP, String.valueOf(fieldViews.get(1).getLblUpkeep().getEnabled()));
|
||||||
this.setPref(FPref.PHASE_AI_DRAW, String.valueOf(fieldViews.get(0).getLblDraw().getEnabled()));
|
this.setPref(FPref.PHASE_AI_DRAW, String.valueOf(fieldViews.get(1).getLblDraw().getEnabled()));
|
||||||
this.setPref(FPref.PHASE_AI_MAIN1, String.valueOf(fieldViews.get(0).getLblMain1().getEnabled()));
|
this.setPref(FPref.PHASE_AI_MAIN1, String.valueOf(fieldViews.get(1).getLblMain1().getEnabled()));
|
||||||
this.setPref(FPref.PHASE_AI_BEGINCOMBAT, String.valueOf(fieldViews.get(0).getLblBeginCombat().getEnabled()));
|
this.setPref(FPref.PHASE_AI_BEGINCOMBAT, String.valueOf(fieldViews.get(1).getLblBeginCombat().getEnabled()));
|
||||||
this.setPref(FPref.PHASE_AI_DECLAREATTACKERS,
|
this.setPref(FPref.PHASE_AI_DECLAREATTACKERS,
|
||||||
String.valueOf(fieldViews.get(0).getLblDeclareAttackers().getEnabled()));
|
|
||||||
this.setPref(FPref.PHASE_AI_DECLAREBLOCKERS,
|
|
||||||
String.valueOf(fieldViews.get(0).getLblDeclareBlockers().getEnabled()));
|
|
||||||
this.setPref(FPref.PHASE_AI_FIRSTSTRIKE, String.valueOf(fieldViews.get(0).getLblFirstStrike().getEnabled()));
|
|
||||||
this.setPref(FPref.PHASE_AI_COMBATDAMAGE, String.valueOf(fieldViews.get(0).getLblCombatDamage().getEnabled()));
|
|
||||||
this.setPref(FPref.PHASE_AI_ENDCOMBAT, String.valueOf(fieldViews.get(0).getLblEndCombat().getEnabled()));
|
|
||||||
this.setPref(FPref.PHASE_AI_MAIN2, String.valueOf(fieldViews.get(0).getLblMain2().getEnabled()));
|
|
||||||
this.setPref(FPref.PHASE_AI_EOT, String.valueOf(fieldViews.get(0).getLblEndTurn().getEnabled()));
|
|
||||||
this.setPref(FPref.PHASE_AI_CLEANUP, String.valueOf(fieldViews.get(0).getLblCleanup().getEnabled()));
|
|
||||||
|
|
||||||
// Human field is at index [1]
|
|
||||||
this.setPref(FPref.PHASE_HUMAN_UPKEEP, String.valueOf(fieldViews.get(1).getLblUpkeep().getEnabled()));
|
|
||||||
this.setPref(FPref.PHASE_HUMAN_DRAW, String.valueOf(fieldViews.get(1).getLblDraw().getEnabled()));
|
|
||||||
this.setPref(FPref.PHASE_HUMAN_MAIN1, String.valueOf(fieldViews.get(1).getLblMain1().getEnabled()));
|
|
||||||
this.setPref(FPref.PHASE_HUMAN_BEGINCOMBAT, String.valueOf(fieldViews.get(1).getLblBeginCombat().getEnabled()));
|
|
||||||
this.setPref(FPref.PHASE_HUMAN_DECLAREATTACKERS,
|
|
||||||
String.valueOf(fieldViews.get(1).getLblDeclareAttackers().getEnabled()));
|
String.valueOf(fieldViews.get(1).getLblDeclareAttackers().getEnabled()));
|
||||||
this.setPref(FPref.PHASE_HUMAN_DECLAREBLOCKERS,
|
this.setPref(FPref.PHASE_AI_DECLAREBLOCKERS,
|
||||||
String.valueOf(fieldViews.get(1).getLblDeclareBlockers().getEnabled()));
|
String.valueOf(fieldViews.get(1).getLblDeclareBlockers().getEnabled()));
|
||||||
this.setPref(FPref.PHASE_HUMAN_FIRSTSTRIKE, String.valueOf(fieldViews.get(1).getLblFirstStrike().getEnabled()));
|
this.setPref(FPref.PHASE_AI_FIRSTSTRIKE, String.valueOf(fieldViews.get(1).getLblFirstStrike().getEnabled()));
|
||||||
this.setPref(FPref.PHASE_HUMAN_COMBATDAMAGE, String.valueOf(fieldViews.get(1).getLblCombatDamage().getEnabled()));
|
this.setPref(FPref.PHASE_AI_COMBATDAMAGE, String.valueOf(fieldViews.get(1).getLblCombatDamage().getEnabled()));
|
||||||
this.setPref(FPref.PHASE_HUMAN_ENDCOMBAT, String.valueOf(fieldViews.get(1).getLblEndCombat().getEnabled()));
|
this.setPref(FPref.PHASE_AI_ENDCOMBAT, String.valueOf(fieldViews.get(1).getLblEndCombat().getEnabled()));
|
||||||
this.setPref(FPref.PHASE_HUMAN_MAIN2, String.valueOf(fieldViews.get(1).getLblMain2().getEnabled()));
|
this.setPref(FPref.PHASE_AI_MAIN2, String.valueOf(fieldViews.get(1).getLblMain2().getEnabled()));
|
||||||
this.setPref(FPref.PHASE_HUMAN_EOT, fieldViews.get(1).getLblEndTurn().getEnabled());
|
this.setPref(FPref.PHASE_AI_EOT, String.valueOf(fieldViews.get(1).getLblEndTurn().getEnabled()));
|
||||||
this.setPref(FPref.PHASE_HUMAN_CLEANUP, fieldViews.get(1).getLblCleanup().getEnabled());
|
this.setPref(FPref.PHASE_AI_CLEANUP, String.valueOf(fieldViews.get(1).getLblCleanup().getEnabled()));
|
||||||
|
|
||||||
|
// Human field is at index [0]
|
||||||
|
this.setPref(FPref.PHASE_HUMAN_UPKEEP, String.valueOf(fieldViews.get(0).getLblUpkeep().getEnabled()));
|
||||||
|
this.setPref(FPref.PHASE_HUMAN_DRAW, String.valueOf(fieldViews.get(0).getLblDraw().getEnabled()));
|
||||||
|
this.setPref(FPref.PHASE_HUMAN_MAIN1, String.valueOf(fieldViews.get(0).getLblMain1().getEnabled()));
|
||||||
|
this.setPref(FPref.PHASE_HUMAN_BEGINCOMBAT, String.valueOf(fieldViews.get(0).getLblBeginCombat().getEnabled()));
|
||||||
|
this.setPref(FPref.PHASE_HUMAN_DECLAREATTACKERS,
|
||||||
|
String.valueOf(fieldViews.get(0).getLblDeclareAttackers().getEnabled()));
|
||||||
|
this.setPref(FPref.PHASE_HUMAN_DECLAREBLOCKERS,
|
||||||
|
String.valueOf(fieldViews.get(0).getLblDeclareBlockers().getEnabled()));
|
||||||
|
this.setPref(FPref.PHASE_HUMAN_FIRSTSTRIKE, String.valueOf(fieldViews.get(0).getLblFirstStrike().getEnabled()));
|
||||||
|
this.setPref(FPref.PHASE_HUMAN_COMBATDAMAGE, String.valueOf(fieldViews.get(0).getLblCombatDamage().getEnabled()));
|
||||||
|
this.setPref(FPref.PHASE_HUMAN_ENDCOMBAT, String.valueOf(fieldViews.get(0).getLblEndCombat().getEnabled()));
|
||||||
|
this.setPref(FPref.PHASE_HUMAN_MAIN2, String.valueOf(fieldViews.get(0).getLblMain2().getEnabled()));
|
||||||
|
this.setPref(FPref.PHASE_HUMAN_EOT, fieldViews.get(0).getLblEndTurn().getEnabled());
|
||||||
|
this.setPref(FPref.PHASE_HUMAN_CLEANUP, fieldViews.get(0).getLblCleanup().getEnabled());
|
||||||
|
|
||||||
final VDev v = VDev.SINGLETON_INSTANCE;
|
final VDev v = VDev.SINGLETON_INSTANCE;
|
||||||
|
|
||||||
@@ -245,32 +246,32 @@ public class ForgePreferences {
|
|||||||
Preferences.UPLOAD_DRAFT = Constant.Runtime.NET_CONN && this.getPrefBoolean(FPref.UI_UPLOAD_DRAFT);
|
Preferences.UPLOAD_DRAFT = Constant.Runtime.NET_CONN && this.getPrefBoolean(FPref.UI_UPLOAD_DRAFT);
|
||||||
|
|
||||||
// AI field is at index [0]
|
// AI field is at index [0]
|
||||||
fieldViews.get(0).getLblUpkeep().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_UPKEEP));
|
fieldViews.get(1).getLblUpkeep().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_UPKEEP));
|
||||||
fieldViews.get(0).getLblDraw().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_DRAW));
|
fieldViews.get(1).getLblDraw().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_DRAW));
|
||||||
fieldViews.get(0).getLblMain1().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_MAIN1));
|
fieldViews.get(1).getLblMain1().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_MAIN1));
|
||||||
fieldViews.get(0).getLblBeginCombat().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_BEGINCOMBAT));
|
fieldViews.get(1).getLblBeginCombat().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_BEGINCOMBAT));
|
||||||
fieldViews.get(0).getLblDeclareAttackers().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_DECLAREATTACKERS));
|
fieldViews.get(1).getLblDeclareAttackers().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_DECLAREATTACKERS));
|
||||||
fieldViews.get(0).getLblDeclareBlockers().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_DECLAREBLOCKERS));
|
fieldViews.get(1).getLblDeclareBlockers().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_DECLAREBLOCKERS));
|
||||||
fieldViews.get(0).getLblFirstStrike().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_FIRSTSTRIKE));
|
fieldViews.get(1).getLblFirstStrike().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_FIRSTSTRIKE));
|
||||||
fieldViews.get(0).getLblCombatDamage().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_COMBATDAMAGE));
|
fieldViews.get(1).getLblCombatDamage().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_COMBATDAMAGE));
|
||||||
fieldViews.get(0).getLblEndCombat().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_ENDCOMBAT));
|
fieldViews.get(1).getLblEndCombat().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_ENDCOMBAT));
|
||||||
fieldViews.get(0).getLblMain2().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_MAIN2));
|
fieldViews.get(1).getLblMain2().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_MAIN2));
|
||||||
fieldViews.get(0).getLblEndTurn().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_EOT));
|
fieldViews.get(1).getLblEndTurn().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_EOT));
|
||||||
fieldViews.get(0).getLblCleanup().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_CLEANUP));
|
fieldViews.get(1).getLblCleanup().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_CLEANUP));
|
||||||
|
|
||||||
// Human field is at index [1]
|
// Human field is at index [1]
|
||||||
fieldViews.get(1).getLblUpkeep().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_UPKEEP));
|
fieldViews.get(0).getLblUpkeep().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_UPKEEP));
|
||||||
fieldViews.get(1).getLblDraw().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_DRAW));
|
fieldViews.get(0).getLblDraw().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_DRAW));
|
||||||
fieldViews.get(1).getLblMain1().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_MAIN1));
|
fieldViews.get(0).getLblMain1().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_MAIN1));
|
||||||
fieldViews.get(1).getLblBeginCombat().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_BEGINCOMBAT));
|
fieldViews.get(0).getLblBeginCombat().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_BEGINCOMBAT));
|
||||||
fieldViews.get(1).getLblDeclareAttackers().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_DECLAREATTACKERS));
|
fieldViews.get(0).getLblDeclareAttackers().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_DECLAREATTACKERS));
|
||||||
fieldViews.get(1).getLblDeclareBlockers().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_DECLAREBLOCKERS));
|
fieldViews.get(0).getLblDeclareBlockers().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_DECLAREBLOCKERS));
|
||||||
fieldViews.get(1).getLblFirstStrike().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_FIRSTSTRIKE));
|
fieldViews.get(0).getLblFirstStrike().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_FIRSTSTRIKE));
|
||||||
fieldViews.get(1).getLblCombatDamage().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_COMBATDAMAGE));
|
fieldViews.get(0).getLblCombatDamage().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_COMBATDAMAGE));
|
||||||
fieldViews.get(1).getLblEndCombat().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_ENDCOMBAT));
|
fieldViews.get(0).getLblEndCombat().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_ENDCOMBAT));
|
||||||
fieldViews.get(1).getLblMain2().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_MAIN2));
|
fieldViews.get(0).getLblMain2().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_MAIN2));
|
||||||
fieldViews.get(1).getLblEndTurn().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_EOT));
|
fieldViews.get(0).getLblEndTurn().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_EOT));
|
||||||
fieldViews.get(1).getLblCleanup().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_CLEANUP));
|
fieldViews.get(0).getLblCleanup().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_CLEANUP));
|
||||||
|
|
||||||
//Singletons.getView().getViewMatch().setLayoutParams(this.getPref(FPref.UI_LAYOUT_PARAMS));
|
//Singletons.getView().getViewMatch().setLayoutParams(this.getPref(FPref.UI_LAYOUT_PARAMS));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user