mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 04:08:01 +00:00
*Unified variant deck editor initial commit (Does not work 100% yet)
This commit is contained in:
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -13739,7 +13739,7 @@ src/main/java/forge/gui/deckeditor/controllers/CEditorLimited.java -text
|
|||||||
src/main/java/forge/gui/deckeditor/controllers/CEditorPreferences.java -text
|
src/main/java/forge/gui/deckeditor/controllers/CEditorPreferences.java -text
|
||||||
src/main/java/forge/gui/deckeditor/controllers/CEditorQuest.java svneol=native#text/plain
|
src/main/java/forge/gui/deckeditor/controllers/CEditorQuest.java svneol=native#text/plain
|
||||||
src/main/java/forge/gui/deckeditor/controllers/CEditorQuestCardShop.java -text
|
src/main/java/forge/gui/deckeditor/controllers/CEditorQuestCardShop.java -text
|
||||||
src/main/java/forge/gui/deckeditor/controllers/CEditorScheme.java -text
|
src/main/java/forge/gui/deckeditor/controllers/CEditorVariant.java -text
|
||||||
src/main/java/forge/gui/deckeditor/controllers/CFilters.java -text
|
src/main/java/forge/gui/deckeditor/controllers/CFilters.java -text
|
||||||
src/main/java/forge/gui/deckeditor/controllers/CProbabilities.java -text
|
src/main/java/forge/gui/deckeditor/controllers/CProbabilities.java -text
|
||||||
src/main/java/forge/gui/deckeditor/controllers/CStatistics.java -text
|
src/main/java/forge/gui/deckeditor/controllers/CStatistics.java -text
|
||||||
|
|||||||
@@ -17,10 +17,12 @@
|
|||||||
*/
|
*/
|
||||||
package forge.gui.deckeditor.controllers;
|
package forge.gui.deckeditor.controllers;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.google.common.base.Predicate;
|
||||||
import com.google.common.base.Supplier;
|
import com.google.common.base.Supplier;
|
||||||
|
import com.google.common.collect.Iterables;
|
||||||
|
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.deck.Deck;
|
import forge.deck.Deck;
|
||||||
import forge.gui.deckeditor.SEditorIO;
|
import forge.gui.deckeditor.SEditorIO;
|
||||||
@@ -38,6 +40,7 @@ import forge.item.CardPrinted;
|
|||||||
import forge.item.InventoryItem;
|
import forge.item.InventoryItem;
|
||||||
import forge.item.ItemPool;
|
import forge.item.ItemPool;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
|
import forge.util.IStorage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Child controller for constructed deck editor UI.
|
* Child controller for constructed deck editor UI.
|
||||||
@@ -49,8 +52,10 @@ import forge.properties.ForgePreferences.FPref;
|
|||||||
* @author Forge
|
* @author Forge
|
||||||
* @version $Id: CEditorConstructed.java 18430 2012-11-27 22:42:36Z Hellfish $
|
* @version $Id: CEditorConstructed.java 18430 2012-11-27 22:42:36Z Hellfish $
|
||||||
*/
|
*/
|
||||||
public final class CEditorScheme extends ACEditorBase<CardPrinted, Deck> {
|
public final class CEditorVariant extends ACEditorBase<CardPrinted, Deck> {
|
||||||
private final DeckController<Deck> controller;
|
private final DeckController<Deck> controller;
|
||||||
|
private final Predicate<CardPrinted> cardPoolCondition;
|
||||||
|
private final EDocID exitToScreen;
|
||||||
|
|
||||||
//=========== Constructor
|
//=========== Constructor
|
||||||
/**
|
/**
|
||||||
@@ -58,9 +63,12 @@ public final class CEditorScheme extends ACEditorBase<CardPrinted, Deck> {
|
|||||||
* This is the least restrictive mode;
|
* This is the least restrictive mode;
|
||||||
* all cards are available.
|
* all cards are available.
|
||||||
*/
|
*/
|
||||||
public CEditorScheme() {
|
public CEditorVariant(final IStorage<Deck> folder, final Predicate<CardPrinted> poolCondition, final EDocID exitTo) {
|
||||||
super();
|
super();
|
||||||
|
|
||||||
|
cardPoolCondition = poolCondition;
|
||||||
|
exitToScreen = exitTo;
|
||||||
|
|
||||||
final EditorTableView<CardPrinted> tblCatalog = new EditorTableView<CardPrinted>(true, CardPrinted.class);
|
final EditorTableView<CardPrinted> tblCatalog = new EditorTableView<CardPrinted>(true, CardPrinted.class);
|
||||||
final EditorTableView<CardPrinted> tblDeck = new EditorTableView<CardPrinted>(true, CardPrinted.class);
|
final EditorTableView<CardPrinted> tblDeck = new EditorTableView<CardPrinted>(true, CardPrinted.class);
|
||||||
|
|
||||||
@@ -76,7 +84,7 @@ public final class CEditorScheme extends ACEditorBase<CardPrinted, Deck> {
|
|||||||
return new Deck();
|
return new Deck();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
this.controller = new DeckController<Deck>(Singletons.getModel().getDecks().getScheme(), this, newCreator);
|
this.controller = new DeckController<Deck>(folder, this, newCreator);
|
||||||
}
|
}
|
||||||
|
|
||||||
//=========== Overridden from ACEditorBase
|
//=========== Overridden from ACEditorBase
|
||||||
@@ -120,12 +128,11 @@ public final class CEditorScheme extends ACEditorBase<CardPrinted, Deck> {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void resetTables() {
|
public void resetTables() {
|
||||||
List<CardPrinted> schemes = new ArrayList<CardPrinted>();
|
|
||||||
for(CardPrinted cp : CardDb.instance().getAllNonTraditionalCards()) {
|
Iterable<CardPrinted> allNT = CardDb.instance().getAllNonTraditionalCards();
|
||||||
if ( cp.getCard().getType().isScheme() )
|
allNT = Iterables.filter(allNT, cardPoolCondition);
|
||||||
schemes.add(cp);
|
|
||||||
}
|
this.getTableCatalog().setDeck(ItemPool.createFrom(allNT, CardPrinted.class));
|
||||||
this.getTableCatalog().setDeck(ItemPool.createFrom(schemes, CardPrinted.class));
|
|
||||||
this.getTableDeck().setDeck(this.controller.getModel().getSideboard());
|
this.getTableDeck().setDeck(this.controller.getModel().getSideboard());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -161,7 +168,7 @@ public final class CEditorScheme extends ACEditorBase<CardPrinted, Deck> {
|
|||||||
@Override
|
@Override
|
||||||
public boolean exit() {
|
public boolean exit() {
|
||||||
// Override the submenu save choice - tell it to go to "constructed".
|
// Override the submenu save choice - tell it to go to "constructed".
|
||||||
Singletons.getModel().getPreferences().setPref(FPref.SUBMENU_CURRENTMENU, EDocID.HOME_ARCHENEMY.toString());
|
Singletons.getModel().getPreferences().setPref(FPref.SUBMENU_CURRENTMENU, exitToScreen.toString());
|
||||||
|
|
||||||
return SEditorIO.confirmSaveChanges();
|
return SEditorIO.confirmSaveChanges();
|
||||||
}
|
}
|
||||||
@@ -7,6 +7,8 @@ import java.util.List;
|
|||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
import javax.swing.SwingWorker;
|
import javax.swing.SwingWorker;
|
||||||
|
|
||||||
|
import com.google.common.base.Predicate;
|
||||||
|
|
||||||
import forge.Command;
|
import forge.Command;
|
||||||
import forge.GameActionUtil;
|
import forge.GameActionUtil;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
@@ -21,7 +23,8 @@ import forge.game.player.LobbyPlayer;
|
|||||||
import forge.game.player.PlayerType;
|
import forge.game.player.PlayerType;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
import forge.gui.deckeditor.CDeckEditorUI;
|
import forge.gui.deckeditor.CDeckEditorUI;
|
||||||
import forge.gui.deckeditor.controllers.CEditorScheme;
|
import forge.gui.deckeditor.controllers.CEditorVariant;
|
||||||
|
import forge.gui.framework.EDocID;
|
||||||
import forge.gui.framework.ICDoc;
|
import forge.gui.framework.ICDoc;
|
||||||
import forge.gui.toolbox.FDeckChooser;
|
import forge.gui.toolbox.FDeckChooser;
|
||||||
import forge.item.CardPrinted;
|
import forge.item.CardPrinted;
|
||||||
@@ -60,7 +63,22 @@ public enum CSubmenuArchenemy implements ICDoc {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
CDeckEditorUI.SINGLETON_INSTANCE.setCurrentEditorController(new CEditorScheme());
|
|
||||||
|
Predicate<CardPrinted> predSchemes = new Predicate<CardPrinted>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean apply(CardPrinted arg0) {
|
||||||
|
if(arg0.getCard().getType().isScheme())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
CDeckEditorUI.SINGLETON_INSTANCE.setCurrentEditorController(new CEditorVariant(Singletons.getModel().getDecks().getScheme(),predSchemes,EDocID.HOME_ARCHENEMY));
|
||||||
FControl.SINGLETON_INSTANCE.changeState(FControl.DECK_EDITOR_CONSTRUCTED);
|
FControl.SINGLETON_INSTANCE.changeState(FControl.DECK_EDITOR_CONSTRUCTED);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -7,9 +7,12 @@ import java.util.List;
|
|||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
import javax.swing.SwingWorker;
|
import javax.swing.SwingWorker;
|
||||||
|
|
||||||
|
import com.google.common.base.Predicate;
|
||||||
|
|
||||||
import forge.Command;
|
import forge.Command;
|
||||||
import forge.GameActionUtil;
|
import forge.GameActionUtil;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
|
import forge.control.FControl;
|
||||||
import forge.control.Lobby;
|
import forge.control.Lobby;
|
||||||
import forge.deck.Deck;
|
import forge.deck.Deck;
|
||||||
import forge.deck.DeckgenUtil;
|
import forge.deck.DeckgenUtil;
|
||||||
@@ -19,6 +22,9 @@ import forge.game.MatchStartHelper;
|
|||||||
import forge.game.player.LobbyPlayer;
|
import forge.game.player.LobbyPlayer;
|
||||||
import forge.game.player.PlayerType;
|
import forge.game.player.PlayerType;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
|
import forge.gui.deckeditor.CDeckEditorUI;
|
||||||
|
import forge.gui.deckeditor.controllers.CEditorVariant;
|
||||||
|
import forge.gui.framework.EDocID;
|
||||||
import forge.gui.framework.ICDoc;
|
import forge.gui.framework.ICDoc;
|
||||||
import forge.gui.toolbox.FDeckChooser;
|
import forge.gui.toolbox.FDeckChooser;
|
||||||
import forge.item.CardPrinted;
|
import forge.item.CardPrinted;
|
||||||
@@ -57,9 +63,23 @@ public enum CSubmenuPlanechase implements ICDoc {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
//TODO:Enter Planar deck editor here!
|
Predicate<CardPrinted> predPlanes = new Predicate<CardPrinted>() {
|
||||||
//CDeckEditorUI.SINGLETON_INSTANCE.setCurrentEditorController(new CEditorScheme());
|
|
||||||
//FControl.SINGLETON_INSTANCE.changeState(FControl.DECK_EDITOR_CONSTRUCTED);
|
@Override
|
||||||
|
public boolean apply(CardPrinted arg0) {
|
||||||
|
if(arg0.getCard().getType().isPlane() || arg0.getCard().getType().isPhenomenon())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
CDeckEditorUI.SINGLETON_INSTANCE.setCurrentEditorController(new CEditorVariant(Singletons.getModel().getDecks().getPlane(),predPlanes,EDocID.HOME_PLANECHASE));
|
||||||
|
FControl.SINGLETON_INSTANCE.changeState(FControl.DECK_EDITOR_CONSTRUCTED);
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user