Fixed bug with dialogs not saving paused state
This commit is contained in:
@@ -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){{
|
||||
|
||||
@@ -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();
|
||||
});
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user