mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 20:58:03 +00:00
Add more planar conquest prefs
Add TEST_MODE setup for Planar Conquest testing
This commit is contained in:
@@ -224,7 +224,19 @@ public class ConquestMapScreen extends FScreen {
|
|||||||
CardRenderer.drawCardWithOverlays(g, card, 0, 0, w, h, CardStackPosition.Top);
|
CardRenderer.drawCardWithOverlays(g, card, 0, 0, w, h, CardStackPosition.Top);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
int winsToUnlock = index * FModel.getConquestPreferences().getPrefInt(CQPref.WINS_TO_UNLOCK_COMMANDER);
|
CQPref unlockPref;
|
||||||
|
switch (index) {
|
||||||
|
case 1:
|
||||||
|
unlockPref = CQPref.WINS_TO_UNLOCK_COMMANDER_2;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
unlockPref = CQPref.WINS_TO_UNLOCK_COMMANDER_3;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
unlockPref = CQPref.WINS_TO_UNLOCK_COMMANDER_4;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
int winsToUnlock = FModel.getConquestPreferences().getPrefInt(unlockPref);
|
||||||
if (planeData.getWins() < winsToUnlock) {
|
if (planeData.getWins() < winsToUnlock) {
|
||||||
g.setAlphaComposite(0.25f);
|
g.setAlphaComposite(0.25f);
|
||||||
float imageSize = w * 0.75f;
|
float imageSize = w * 0.75f;
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ public class ConquestMenu extends FPopupMenu {
|
|||||||
final File dirConquests = new File(ForgeConstants.CONQUEST_SAVE_DIR);
|
final File dirConquests = new File(ForgeConstants.CONQUEST_SAVE_DIR);
|
||||||
final String questname = FModel.getConquestPreferences().getPref(CQPref.CURRENT_CONQUEST);
|
final String questname = FModel.getConquestPreferences().getPref(CQPref.CURRENT_CONQUEST);
|
||||||
final File data = new File(dirConquests.getPath(), questname);
|
final File data = new File(dirConquests.getPath(), questname);
|
||||||
if (data.exists()) {
|
if (data.exists() || ConquestDataIO.TEST_MODE) {
|
||||||
LoadingOverlay.show("Loading current conquest...", new Runnable() {
|
LoadingOverlay.show("Loading current conquest...", new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
|||||||
@@ -22,7 +22,8 @@ public class ConquestPrefsScreen extends FScreen {
|
|||||||
private static final float PADDING = Utils.scale(5);
|
private static final float PADDING = Utils.scale(5);
|
||||||
|
|
||||||
private enum PrefsGroup {
|
private enum PrefsGroup {
|
||||||
BASIC
|
WINS_TO_UNLOCK,
|
||||||
|
VARIANT_FREQUENCY
|
||||||
}
|
}
|
||||||
|
|
||||||
private FScrollPane scroller = add(new FScrollPane() {
|
private FScrollPane scroller = add(new FScrollPane() {
|
||||||
@@ -48,8 +49,17 @@ public class ConquestPrefsScreen extends FScreen {
|
|||||||
public ConquestPrefsScreen() {
|
public ConquestPrefsScreen() {
|
||||||
super("Conquest Preferences", ConquestMenu.getMenu());
|
super("Conquest Preferences", ConquestMenu.getMenu());
|
||||||
|
|
||||||
scroller.add(new PrefsHeader("Basic Settings", FSkinImage.SETTINGS, PrefsGroup.BASIC));
|
scroller.add(new PrefsHeader("Wins to Unlock", FSkinImage.LOCK, PrefsGroup.WINS_TO_UNLOCK));
|
||||||
scroller.add(new PrefsOption("Wins per commander unlock", CQPref.WINS_TO_UNLOCK_COMMANDER, PrefsGroup.BASIC));
|
scroller.add(new PrefsOption("Wins to unlock commander 2", CQPref.WINS_TO_UNLOCK_COMMANDER_2, PrefsGroup.WINS_TO_UNLOCK));
|
||||||
|
scroller.add(new PrefsOption("Wins to unlock commander 3", CQPref.WINS_TO_UNLOCK_COMMANDER_3, PrefsGroup.WINS_TO_UNLOCK));
|
||||||
|
scroller.add(new PrefsOption("Wins to unlock commander 4", CQPref.WINS_TO_UNLOCK_COMMANDER_4, PrefsGroup.WINS_TO_UNLOCK));
|
||||||
|
scroller.add(new PrefsOption("Wins to unlock planar portal", CQPref.WINS_TO_UNLOCK_PORTAL, PrefsGroup.WINS_TO_UNLOCK));
|
||||||
|
|
||||||
|
scroller.add(new PrefsHeader("Variant Frequency", FSkinImage.PLANESWALKER, PrefsGroup.VARIANT_FREQUENCY));
|
||||||
|
scroller.add(new PrefsOption("Normal Game (%)", CQPref.PERCENT_NORMAL, PrefsGroup.VARIANT_FREQUENCY));
|
||||||
|
scroller.add(new PrefsOption("Commander Game (%)", CQPref.PERCENT_COMMANDER, PrefsGroup.VARIANT_FREQUENCY));
|
||||||
|
scroller.add(new PrefsOption("Planechase Game (%)", CQPref.PERCENT_PLANECHASE, PrefsGroup.VARIANT_FREQUENCY));
|
||||||
|
scroller.add(new PrefsOption("Commander & Planechase Game (%)", CQPref.PERCENT_DOUBLE_VARIANT, PrefsGroup.VARIANT_FREQUENCY));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -21,16 +21,12 @@ import java.io.BufferedOutputStream;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.io.StringReader;
|
import java.io.StringReader;
|
||||||
import java.util.zip.GZIPInputStream;
|
import java.util.zip.GZIPInputStream;
|
||||||
import java.util.zip.GZIPOutputStream;
|
import java.util.zip.GZIPOutputStream;
|
||||||
|
|
||||||
import javax.xml.parsers.ParserConfigurationException;
|
|
||||||
|
|
||||||
import org.xml.sax.InputSource;
|
import org.xml.sax.InputSource;
|
||||||
import org.xml.sax.SAXException;
|
|
||||||
|
|
||||||
import com.thoughtworks.xstream.XStream;
|
import com.thoughtworks.xstream.XStream;
|
||||||
|
|
||||||
@@ -43,6 +39,14 @@ import forge.util.IgnoringXStream;
|
|||||||
import forge.util.ItemPool;
|
import forge.util.ItemPool;
|
||||||
|
|
||||||
public class ConquestDataIO {
|
public class ConquestDataIO {
|
||||||
|
public static boolean TEST_MODE = true;
|
||||||
|
private static ConquestData createTestData() {
|
||||||
|
ConquestData temp = new ConquestData("My Conquest", 0,
|
||||||
|
ConquestPlane.Alara,
|
||||||
|
ConquestPlane.Alara.getCardPool().getCard("Rafiq of the Many"));
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
|
||||||
static {
|
static {
|
||||||
//ensure save directory exists if this class is used
|
//ensure save directory exists if this class is used
|
||||||
FileUtil.ensureDirectoryExists(ForgeConstants.CONQUEST_SAVE_DIR);
|
FileUtil.ensureDirectoryExists(ForgeConstants.CONQUEST_SAVE_DIR);
|
||||||
@@ -59,6 +63,10 @@ public class ConquestDataIO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static ConquestData loadData(final File xmlSaveFile) {
|
public static ConquestData loadData(final File xmlSaveFile) {
|
||||||
|
if (TEST_MODE) {
|
||||||
|
return createTestData();
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
ConquestData data = null;
|
ConquestData data = null;
|
||||||
|
|
||||||
@@ -92,12 +100,11 @@ public class ConquestDataIO {
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
catch (final Exception ex) {
|
catch (final Exception ex) {
|
||||||
//BugReporter.reportException(ex, "Error loading Conquest Data");
|
|
||||||
throw new RuntimeException(ex);
|
throw new RuntimeException(ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void updateSaveFile(final ConquestData newData, final String input, String filename) throws ParserConfigurationException, SAXException, IOException, IllegalAccessException, NoSuchFieldException {
|
private static void updateSaveFile(final ConquestData newData, final String input, String filename) throws Exception {
|
||||||
//final DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
|
//final DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
|
||||||
final InputSource is = new InputSource();
|
final InputSource is = new InputSource();
|
||||||
is.setCharacterStream(new StringReader(input));
|
is.setCharacterStream(new StringReader(input));
|
||||||
@@ -126,12 +133,11 @@ public class ConquestDataIO {
|
|||||||
// ConquestDataIO.saveUnpacked(f + ".xml", xStream, qd);
|
// ConquestDataIO.saveUnpacked(f + ".xml", xStream, qd);
|
||||||
}
|
}
|
||||||
catch (final Exception ex) {
|
catch (final Exception ex) {
|
||||||
//BugReporter.reportException(ex, "Error saving Conquest Data.");
|
|
||||||
throw new RuntimeException(ex);
|
throw new RuntimeException(ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void savePacked(final String f, final XStream xStream, final ConquestData qd) throws IOException {
|
private static void savePacked(final String f, final XStream xStream, final ConquestData qd) throws Exception {
|
||||||
final BufferedOutputStream bout = new BufferedOutputStream(new FileOutputStream(f));
|
final BufferedOutputStream bout = new BufferedOutputStream(new FileOutputStream(f));
|
||||||
final GZIPOutputStream zout = new GZIPOutputStream(bout);
|
final GZIPOutputStream zout = new GZIPOutputStream(bout);
|
||||||
xStream.toXML(qd, zout);
|
xStream.toXML(qd, zout);
|
||||||
@@ -140,7 +146,7 @@ public class ConquestDataIO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unused") // used only for debug purposes
|
@SuppressWarnings("unused") // used only for debug purposes
|
||||||
private static void saveUnpacked(final String f, final XStream xStream, final ConquestData qd) throws IOException {
|
private static void saveUnpacked(final String f, final XStream xStream, final ConquestData qd) throws Exception {
|
||||||
final BufferedOutputStream boutUnp = new BufferedOutputStream(new FileOutputStream(f));
|
final BufferedOutputStream boutUnp = new BufferedOutputStream(new FileOutputStream(f));
|
||||||
xStream.toXML(qd, boutUnp);
|
xStream.toXML(qd, boutUnp);
|
||||||
boutUnp.flush();
|
boutUnp.flush();
|
||||||
|
|||||||
@@ -29,7 +29,16 @@ public class ConquestPreferences extends PreferencesStore<ConquestPreferences.CQ
|
|||||||
*/
|
*/
|
||||||
public static enum CQPref {
|
public static enum CQPref {
|
||||||
CURRENT_CONQUEST("DEFAULT"),
|
CURRENT_CONQUEST("DEFAULT"),
|
||||||
WINS_TO_UNLOCK_COMMANDER("10");
|
|
||||||
|
WINS_TO_UNLOCK_COMMANDER_2("5"),
|
||||||
|
WINS_TO_UNLOCK_COMMANDER_3("10"),
|
||||||
|
WINS_TO_UNLOCK_COMMANDER_4("20"),
|
||||||
|
WINS_TO_UNLOCK_PORTAL("25"),
|
||||||
|
|
||||||
|
PERCENT_NORMAL("25"),
|
||||||
|
PERCENT_COMMANDER("25"),
|
||||||
|
PERCENT_PLANECHASE("25"),
|
||||||
|
PERCENT_DOUBLE_VARIANT("25");
|
||||||
|
|
||||||
private final String strDefaultVal;
|
private final String strDefaultVal;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user