Fixed bug with dialogs not saving paused state

This commit is contained in:
Anuken
2017-11-07 22:39:11 -05:00
parent 01f5fccf96
commit f46cb8624d
3 changed files with 19 additions and 7 deletions

View File

@@ -98,8 +98,8 @@ public class Control extends Module{
spawns = Array.with(
new EnemySpawn(TitanEnemy.class){{
after = 16;
spacing = 3;
after = 3;
spacing = 2;
scaling = 5;
}},
new EnemySpawn(HealerEnemy.class){{

View File

@@ -39,9 +39,11 @@ public class UI extends SceneModule{
Table itemtable, weapontable, tools, loadingtable, desctable, respawntable, configtable;
SettingsDialog prefs;
KeybindDialog keys;
Dialog about, menu, restart, levels, upgrades, load, settingserror;
Dialog about, restart, levels, upgrades, load, settingserror;
MenuDialog menu;
Tooltip tooltip;
Tile configTile;
boolean wasPaused = false;
VisibilityProvider play = () -> !GameState.is(State.menu);
VisibilityProvider nplay = () -> GameState.is(State.menu);
@@ -162,12 +164,17 @@ public class UI extends SceneModule{
prefs.hidden(()->{
if(!GameState.is(State.menu)){
GameState.set(State.playing);
if(!wasPaused)
GameState.set(State.playing);
}
});
prefs.shown(()->{
if(!GameState.is(State.menu)){
wasPaused = GameState.is(State.paused);
if(menu.getScene() != null){
wasPaused = menu.wasPaused;
}
GameState.set(State.paused);
menu.hide();
}
@@ -325,12 +332,10 @@ public class UI extends SceneModule{
float isize = Unit.dp.inPixels(40);
new imagebutton("icon-menu", isize, ()->{
GameState.set(State.paused);
showMenu();
});
new imagebutton("icon-settings", isize, ()->{
GameState.set(State.paused);
prefs.show();
});

View File

@@ -16,6 +16,7 @@ import io.anuke.ucore.scene.ui.layout.Unit;
public class MenuDialog extends Dialog{
private SaveDialog save = new SaveDialog();
private LoadDialog load = new LoadDialog();
public boolean wasPaused = false;
public MenuDialog(){
super("Paused", "dialog");
@@ -27,7 +28,13 @@ public class MenuDialog extends Dialog{
content().addButton("Back", ()->{
hide();
GameState.set(State.playing);
if(!wasPaused)
GameState.set(State.playing);
});
shown(()->{
wasPaused = GameState.is(State.paused);
GameState.set(State.paused);
});
content().row();