Skip to content
Snippets Groups Projects
Commit 4e19653a authored by Matyáš Latner's avatar Matyáš Latner
Browse files

#5 Robbery game debug screen rule selection

parent 6f14608b
No related branches found
No related tags found
No related merge requests found
......@@ -300,7 +300,7 @@ public abstract class AbstractTablexiaGame<T> extends AbstractTablexiaScreen<T>
(new VictoryDialog()).show(score, getStage());
}
private void startNewGame() {
public void startNewGame() {
performHideTransaction(new Runnable() {
@Override
public void run() {
......
......@@ -84,14 +84,14 @@ public class DebugScreen extends AbstractTablexiaScreen<Void> {
selectBoxStyle.background = new TextureRegionDrawable(getColorTextureRegion(Color.GRAY));
selectBoxStyle.background.setMinWidth(50); // temporary size
selectBoxStyle.background.setMinHeight(50);
SelectBox<GameRulesDefinition> ruleSelectBox = new SelectBox<GameRulesDefinition>(selectBoxStyle);
final SelectBox<GameRulesDefinition> ruleSelectBox = new SelectBox<GameRulesDefinition>(selectBoxStyle);
ruleSelectBox.setItems(GameRulesDefinition.values());
ruleSelectBox.setSelected(RobberyGame.getRobberyRuleDefinition());
ruleSelectBox.addCaptureListener(new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
RobberyGame.startNewRobberyGame(ruleSelectBox.getSelected());
}
});
getStage().addActor(ruleSelectBox);
......
......@@ -29,6 +29,7 @@ public class RobberyGame extends AbstractTablexiaGame<GameRule> {
private InputMultiplexer inputMultiplexer;
private AbstractTablexiaScreen<Void> actualScreen;
private GameRulesDefinition rulesDefinition;
private GameRulesDefinition forcedRulesDefinition;
private boolean isRootScreenVisible;
......@@ -47,7 +48,7 @@ public class RobberyGame extends AbstractTablexiaGame<GameRule> {
@Override
protected GameRule prepareGameData(Map<String, String> gameState) {
rulesDefinition = GameRulesDefinition.getRandomGameRuleForDifficulty(getGameDifficulty(), getRandom());
rulesDefinition = forcedRulesDefinition != null ? forcedRulesDefinition : GameRulesDefinition.getRandomGameRuleForDifficulty(getGameDifficulty(), getRandom());
GameRule gameRule = rulesDefinition.getGameRuleInstance(getRandom(), CREATURES_COUNT, THIEVES_COUNT);
gameRule.generateCreatures();
......@@ -185,7 +186,7 @@ public class RobberyGame extends AbstractTablexiaGame<GameRule> {
@Override
public void run() {
showScreen(new RuleScreen(), transaction);
showScreen(new RuleScreen(), transaction);
}
});
}
......@@ -279,4 +280,9 @@ public class RobberyGame extends AbstractTablexiaGame<GameRule> {
static void gameRobberyComplete() {
instance.gameComplete(2);
}
static void startNewRobberyGame(GameRulesDefinition rulesDefinition) {
instance.forcedRulesDefinition = rulesDefinition;
instance.startNewGame();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment