mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 20:28:00 +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/CEditorQuest.java svneol=native#text/plain
|
||||
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/CProbabilities.java -text
|
||||
src/main/java/forge/gui/deckeditor/controllers/CStatistics.java -text
|
||||
|
||||
@@ -17,10 +17,12 @@
|
||||
*/
|
||||
package forge.gui.deckeditor.controllers;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.common.base.Predicate;
|
||||
import com.google.common.base.Supplier;
|
||||
import com.google.common.collect.Iterables;
|
||||
|
||||
import forge.Singletons;
|
||||
import forge.deck.Deck;
|
||||
import forge.gui.deckeditor.SEditorIO;
|
||||
@@ -38,6 +40,7 @@ import forge.item.CardPrinted;
|
||||
import forge.item.InventoryItem;
|
||||
import forge.item.ItemPool;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.util.IStorage;
|
||||
|
||||
/**
|
||||
* Child controller for constructed deck editor UI.
|
||||
@@ -49,8 +52,10 @@ import forge.properties.ForgePreferences.FPref;
|
||||
* @author Forge
|
||||
* @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 Predicate<CardPrinted> cardPoolCondition;
|
||||
private final EDocID exitToScreen;
|
||||
|
||||
//=========== Constructor
|
||||
/**
|
||||
@@ -58,9 +63,12 @@ public final class CEditorScheme extends ACEditorBase<CardPrinted, Deck> {
|
||||
* This is the least restrictive mode;
|
||||
* all cards are available.
|
||||
*/
|
||||
public CEditorScheme() {
|
||||
public CEditorVariant(final IStorage<Deck> folder, final Predicate<CardPrinted> poolCondition, final EDocID exitTo) {
|
||||
super();
|
||||
|
||||
|
||||
cardPoolCondition = poolCondition;
|
||||
exitToScreen = exitTo;
|
||||
|
||||
final EditorTableView<CardPrinted> tblCatalog = 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();
|
||||
}
|
||||
};
|
||||
this.controller = new DeckController<Deck>(Singletons.getModel().getDecks().getScheme(), this, newCreator);
|
||||
this.controller = new DeckController<Deck>(folder, this, newCreator);
|
||||
}
|
||||
|
||||
//=========== Overridden from ACEditorBase
|
||||
@@ -120,12 +128,11 @@ public final class CEditorScheme extends ACEditorBase<CardPrinted, Deck> {
|
||||
*/
|
||||
@Override
|
||||
public void resetTables() {
|
||||
List<CardPrinted> schemes = new ArrayList<CardPrinted>();
|
||||
for(CardPrinted cp : CardDb.instance().getAllNonTraditionalCards()) {
|
||||
if ( cp.getCard().getType().isScheme() )
|
||||
schemes.add(cp);
|
||||
}
|
||||
this.getTableCatalog().setDeck(ItemPool.createFrom(schemes, CardPrinted.class));
|
||||
|
||||
Iterable<CardPrinted> allNT = CardDb.instance().getAllNonTraditionalCards();
|
||||
allNT = Iterables.filter(allNT, cardPoolCondition);
|
||||
|
||||
this.getTableCatalog().setDeck(ItemPool.createFrom(allNT, CardPrinted.class));
|
||||
this.getTableDeck().setDeck(this.controller.getModel().getSideboard());
|
||||
}
|
||||
|
||||
@@ -161,7 +168,7 @@ public final class CEditorScheme extends ACEditorBase<CardPrinted, Deck> {
|
||||
@Override
|
||||
public boolean exit() {
|
||||
// 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();
|
||||
}
|
||||
@@ -7,6 +7,8 @@ import java.util.List;
|
||||
import javax.swing.SwingUtilities;
|
||||
import javax.swing.SwingWorker;
|
||||
|
||||
import com.google.common.base.Predicate;
|
||||
|
||||
import forge.Command;
|
||||
import forge.GameActionUtil;
|
||||
import forge.Singletons;
|
||||
@@ -21,7 +23,8 @@ import forge.game.player.LobbyPlayer;
|
||||
import forge.game.player.PlayerType;
|
||||
import forge.gui.SOverlayUtils;
|
||||
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.toolbox.FDeckChooser;
|
||||
import forge.item.CardPrinted;
|
||||
@@ -60,7 +63,22 @@ public enum CSubmenuArchenemy implements ICDoc {
|
||||
|
||||
@Override
|
||||
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);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -7,9 +7,12 @@ import java.util.List;
|
||||
import javax.swing.SwingUtilities;
|
||||
import javax.swing.SwingWorker;
|
||||
|
||||
import com.google.common.base.Predicate;
|
||||
|
||||
import forge.Command;
|
||||
import forge.GameActionUtil;
|
||||
import forge.Singletons;
|
||||
import forge.control.FControl;
|
||||
import forge.control.Lobby;
|
||||
import forge.deck.Deck;
|
||||
import forge.deck.DeckgenUtil;
|
||||
@@ -19,6 +22,9 @@ import forge.game.MatchStartHelper;
|
||||
import forge.game.player.LobbyPlayer;
|
||||
import forge.game.player.PlayerType;
|
||||
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.toolbox.FDeckChooser;
|
||||
import forge.item.CardPrinted;
|
||||
@@ -57,9 +63,23 @@ public enum CSubmenuPlanechase implements ICDoc {
|
||||
|
||||
@Override
|
||||
public void execute() {
|
||||
//TODO:Enter Planar deck editor here!
|
||||
//CDeckEditorUI.SINGLETON_INSTANCE.setCurrentEditorController(new CEditorScheme());
|
||||
//FControl.SINGLETON_INSTANCE.changeState(FControl.DECK_EDITOR_CONSTRUCTED);
|
||||
Predicate<CardPrinted> predPlanes = new Predicate<CardPrinted>() {
|
||||
|
||||
@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