mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
Swap picking of starting plane and planeswalker
This commit is contained in:
@@ -30,8 +30,8 @@ public class NewConquestScreen extends MultiStepWizardScreen<NewConquestScreenMo
|
|||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public NewConquestScreen() {
|
public NewConquestScreen() {
|
||||||
super(null, NewGameMenu.getMenu(), new WizardStep[] {
|
super(null, NewGameMenu.getMenu(), new WizardStep[] {
|
||||||
new SelectPlaneswalkerStep(),
|
|
||||||
new SelectStartingPlaneStep(),
|
new SelectStartingPlaneStep(),
|
||||||
|
new SelectStartingPlaneswalkerStep(),
|
||||||
new SelectStartingCommanderStep()
|
new SelectStartingCommanderStep()
|
||||||
}, new NewConquestScreenModel());
|
}, new NewConquestScreenModel());
|
||||||
}
|
}
|
||||||
@@ -61,7 +61,7 @@ public class NewConquestScreen extends MultiStepWizardScreen<NewConquestScreenMo
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
ConquestController qc = FModel.getConquest();
|
ConquestController qc = FModel.getConquest();
|
||||||
qc.setModel(new ConquestData(conquestName, model.planeswalker, model.startingPlane, model.startingCommander));
|
qc.setModel(new ConquestData(conquestName, model.startingPlane, model.startingPlaneswalker, model.startingCommander));
|
||||||
qc.getDecks().add(Iterables.getFirst(qc.getModel().getCommanders(), null).getDeck()); //ensure starting deck is saved
|
qc.getDecks().add(Iterables.getFirst(qc.getModel().getCommanders(), null).getDeck()); //ensure starting deck is saved
|
||||||
qc.getModel().saveData();
|
qc.getModel().saveData();
|
||||||
|
|
||||||
@@ -76,7 +76,40 @@ public class NewConquestScreen extends MultiStepWizardScreen<NewConquestScreenMo
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class SelectPlaneswalkerStep extends WizardStep<NewConquestScreenModel> {
|
private static class SelectStartingPlaneStep extends WizardStep<NewConquestScreenModel> {
|
||||||
|
private final ConquestPlaneSelector planeSelector = add(new ConquestPlaneSelector());
|
||||||
|
|
||||||
|
protected SelectStartingPlaneStep() {
|
||||||
|
super("Select Starting Plane");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void doLayout(float width, float height) {
|
||||||
|
planeSelector.setBounds(0, 0, width, height);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void reset() {
|
||||||
|
planeSelector.reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onActivate(NewConquestScreenModel model) {
|
||||||
|
planeSelector.activate();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean updateModelAndAdvance(NewConquestScreenModel model) {
|
||||||
|
model.startingPlane = planeSelector.getSelectedPlane();
|
||||||
|
if (model.startingPlane != null) {
|
||||||
|
planeSelector.deactivate();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class SelectStartingPlaneswalkerStep extends WizardStep<NewConquestScreenModel> {
|
||||||
private final FChoiceList<PaperCard> lstPlaneswalkers = add(new FChoiceList<PaperCard>(ConquestUtil.getAllPlaneswalkers()) {
|
private final FChoiceList<PaperCard> lstPlaneswalkers = add(new FChoiceList<PaperCard>(ConquestUtil.getAllPlaneswalkers()) {
|
||||||
@Override
|
@Override
|
||||||
protected void onItemActivate(Integer index, PaperCard value) {
|
protected void onItemActivate(Integer index, PaperCard value) {
|
||||||
@@ -91,8 +124,8 @@ public class NewConquestScreen extends MultiStepWizardScreen<NewConquestScreenMo
|
|||||||
});
|
});
|
||||||
private final CardListPreview tokenDisplay = add(new CardListPreview(lstPlaneswalkers));
|
private final CardListPreview tokenDisplay = add(new CardListPreview(lstPlaneswalkers));
|
||||||
|
|
||||||
protected SelectPlaneswalkerStep() {
|
protected SelectStartingPlaneswalkerStep() {
|
||||||
super("Select Planeswalker");
|
super("Select Starting Planeswalker");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -129,41 +162,8 @@ public class NewConquestScreen extends MultiStepWizardScreen<NewConquestScreenMo
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean updateModelAndAdvance(NewConquestScreenModel model) {
|
protected boolean updateModelAndAdvance(NewConquestScreenModel model) {
|
||||||
model.planeswalker = lstPlaneswalkers.getSelectedItem();
|
model.startingPlaneswalker = lstPlaneswalkers.getSelectedItem();
|
||||||
return model.planeswalker != null;
|
return model.startingPlaneswalker != null;
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static class SelectStartingPlaneStep extends WizardStep<NewConquestScreenModel> {
|
|
||||||
private final ConquestPlaneSelector planeSelector = add(new ConquestPlaneSelector());
|
|
||||||
|
|
||||||
protected SelectStartingPlaneStep() {
|
|
||||||
super("Select Starting Plane");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void doLayout(float width, float height) {
|
|
||||||
planeSelector.setBounds(0, 0, width, height);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void reset() {
|
|
||||||
planeSelector.reset();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onActivate(NewConquestScreenModel model) {
|
|
||||||
planeSelector.activate();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean updateModelAndAdvance(NewConquestScreenModel model) {
|
|
||||||
model.startingPlane = planeSelector.getSelectedPlane();
|
|
||||||
if (model.startingPlane != null) {
|
|
||||||
planeSelector.deactivate();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import forge.item.PaperCard;
|
|||||||
import forge.planarconquest.ConquestPlane;
|
import forge.planarconquest.ConquestPlane;
|
||||||
|
|
||||||
public class NewConquestScreenModel {
|
public class NewConquestScreenModel {
|
||||||
public PaperCard planeswalker;
|
|
||||||
public ConquestPlane startingPlane;
|
public ConquestPlane startingPlane;
|
||||||
|
public PaperCard startingPlaneswalker;
|
||||||
public PaperCard startingCommander;
|
public PaperCard startingCommander;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,14 +61,14 @@ public final class ConquestData {
|
|||||||
private final List<ConquestCommander> commanders = new ArrayList<ConquestCommander>();
|
private final List<ConquestCommander> commanders = new ArrayList<ConquestCommander>();
|
||||||
private final HashSet<PaperCard> newCards = new HashSet<PaperCard>();
|
private final HashSet<PaperCard> newCards = new HashSet<PaperCard>();
|
||||||
|
|
||||||
public ConquestData(String name0, PaperCard planeswalker0, ConquestPlane startingPlane0, PaperCard startingCommander0) {
|
public ConquestData(String name0, ConquestPlane startingPlane0, PaperCard startingPlaneswalker0, PaperCard startingCommander0) {
|
||||||
name = name0;
|
name = name0;
|
||||||
directory = new File(ForgeConstants.CONQUEST_SAVE_DIR, name);
|
directory = new File(ForgeConstants.CONQUEST_SAVE_DIR, name);
|
||||||
xmlFilename = directory.getPath() + ForgeConstants.PATH_SEPARATOR + XML_FILE;
|
xmlFilename = directory.getPath() + ForgeConstants.PATH_SEPARATOR + XML_FILE;
|
||||||
aetherShards = FModel.getConquestPreferences().getPrefInt(CQPref.AETHER_START_SHARDS);
|
aetherShards = FModel.getConquestPreferences().getPrefInt(CQPref.AETHER_START_SHARDS);
|
||||||
currentLocation = new ConquestLocation(startingPlane0, 0, 0, Region.START_COL);
|
currentLocation = new ConquestLocation(startingPlane0, 0, 0, Region.START_COL);
|
||||||
setPlaneswalker(planeswalker0);
|
setPlaneswalker(startingPlaneswalker0);
|
||||||
unlockCard(planeswalker0);
|
unlockCard(startingPlaneswalker0);
|
||||||
|
|
||||||
//generate deck for starting commander and add all cards to collection
|
//generate deck for starting commander and add all cards to collection
|
||||||
ConquestCommander commander = new ConquestCommander(startingCommander0, startingPlane0.getCardPool(), false);
|
ConquestCommander commander = new ConquestCommander(startingCommander0, startingPlane0.getCardPool(), false);
|
||||||
|
|||||||
Reference in New Issue
Block a user