Swap picking of starting plane and planeswalker

This commit is contained in:
drdev
2016-01-04 02:22:01 +00:00
parent 5746522f84
commit fc7caa7c8c
3 changed files with 44 additions and 44 deletions

View File

@@ -30,8 +30,8 @@ public class NewConquestScreen extends MultiStepWizardScreen<NewConquestScreenMo
@SuppressWarnings("unchecked")
public NewConquestScreen() {
super(null, NewGameMenu.getMenu(), new WizardStep[] {
new SelectPlaneswalkerStep(),
new SelectStartingPlaneStep(),
new SelectStartingPlaneswalkerStep(),
new SelectStartingCommanderStep()
}, new NewConquestScreenModel());
}
@@ -61,7 +61,7 @@ public class NewConquestScreen extends MultiStepWizardScreen<NewConquestScreenMo
@Override
public void run() {
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.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()) {
@Override
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));
protected SelectPlaneswalkerStep() {
super("Select Planeswalker");
protected SelectStartingPlaneswalkerStep() {
super("Select Starting Planeswalker");
}
@Override
@@ -129,41 +162,8 @@ public class NewConquestScreen extends MultiStepWizardScreen<NewConquestScreenMo
@Override
protected boolean updateModelAndAdvance(NewConquestScreenModel model) {
model.planeswalker = lstPlaneswalkers.getSelectedItem();
return model.planeswalker != 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;
model.startingPlaneswalker = lstPlaneswalkers.getSelectedItem();
return model.startingPlaneswalker != null;
}
}

View File

@@ -4,7 +4,7 @@ import forge.item.PaperCard;
import forge.planarconquest.ConquestPlane;
public class NewConquestScreenModel {
public PaperCard planeswalker;
public ConquestPlane startingPlane;
public PaperCard startingPlaneswalker;
public PaperCard startingCommander;
}

View File

@@ -61,14 +61,14 @@ public final class ConquestData {
private final List<ConquestCommander> commanders = new ArrayList<ConquestCommander>();
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;
directory = new File(ForgeConstants.CONQUEST_SAVE_DIR, name);
xmlFilename = directory.getPath() + ForgeConstants.PATH_SEPARATOR + XML_FILE;
aetherShards = FModel.getConquestPreferences().getPrefInt(CQPref.AETHER_START_SHARDS);
currentLocation = new ConquestLocation(startingPlane0, 0, 0, Region.START_COL);
setPlaneswalker(planeswalker0);
unlockCard(planeswalker0);
setPlaneswalker(startingPlaneswalker0);
unlockCard(startingPlaneswalker0);
//generate deck for starting commander and add all cards to collection
ConquestCommander commander = new ConquestCommander(startingCommander0, startingPlane0.getCardPool(), false);