Refactor promptForName into static utility class

This commit is contained in:
drdev
2014-11-23 05:33:58 +00:00
parent 060fcba17d
commit 757af3b04d
3 changed files with 27 additions and 22 deletions

View File

@@ -9,6 +9,7 @@ import forge.planarconquest.ConquestController;
import forge.planarconquest.ConquestData;
import forge.planarconquest.ConquestPlane;
import forge.planarconquest.ConquestPreferences.CQPref;
import forge.planarconquest.ConquestUtil;
import forge.screens.FScreen;
import forge.screens.LoadingOverlay;
import forge.screens.planarconquest.ConquestMenu.LaunchReason;
@@ -100,7 +101,7 @@ public class NewConquestScreen extends FScreen {
}
private void newConquest() {
String conquestName = FModel.getConquest().promptForName();
String conquestName = ConquestUtil.promptForName();
if (conquestName == null) { return; }
startNewConquest(conquestName);
}

View File

@@ -64,27 +64,6 @@ public class ConquestController {
}
}
public String promptForName() {
String name;
while (true) {
name = SOptionPane.showInputDialog("Historians will recall your conquest as:", "Conquest Name");
if (name == null) { return null; }
name = QuestUtil.cleanString(name);
if (name.isEmpty()) {
SOptionPane.showMessageDialog("Please specify a conquest name.");
continue;
}
if (FileUtil.doesFileExist(ForgeConstants.CONQUEST_SAVE_DIR + name + ".dat")) {
SOptionPane.showMessageDialog("A conquest already exists with that name. Please pick another quest name.");
continue;
}
break;
}
return name;
}
@Subscribe
public void receiveGameEvent(GameEvent ev) { // Receives events only during planar conquest games

View File

@@ -14,7 +14,11 @@ import forge.deck.generation.DeckGeneratorBase;
import forge.deck.generation.DeckGeneratorMonoColor;
import forge.deck.generation.IDeckGenPool;
import forge.item.PaperCard;
import forge.properties.ForgeConstants;
import forge.quest.QuestUtil;
import forge.util.Aggregates;
import forge.util.FileUtil;
import forge.util.gui.SOptionPane;
public class ConquestUtil {
private ConquestUtil() {}
@@ -65,4 +69,25 @@ public class ConquestUtil {
return deck;
}
public static String promptForName() {
String name;
while (true) {
name = SOptionPane.showInputDialog("Historians will recall your conquest as:", "Conquest Name");
if (name == null) { return null; }
name = QuestUtil.cleanString(name);
if (name.isEmpty()) {
SOptionPane.showMessageDialog("Please specify a conquest name.");
continue;
}
if (FileUtil.doesFileExist(ForgeConstants.CONQUEST_SAVE_DIR + name + ".dat")) {
SOptionPane.showMessageDialog("A conquest already exists with that name. Please pick another quest name.");
continue;
}
break;
}
return name;
}
}