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(
|
spawns = Array.with(
|
||||||
new EnemySpawn(TitanEnemy.class){{
|
new EnemySpawn(TitanEnemy.class){{
|
||||||
after = 16;
|
after = 3;
|
||||||
spacing = 3;
|
spacing = 2;
|
||||||
scaling = 5;
|
scaling = 5;
|
||||||
}},
|
}},
|
||||||
new EnemySpawn(HealerEnemy.class){{
|
new EnemySpawn(HealerEnemy.class){{
|
||||||
|
|||||||
@@ -39,9 +39,11 @@ public class UI extends SceneModule{
|
|||||||
Table itemtable, weapontable, tools, loadingtable, desctable, respawntable, configtable;
|
Table itemtable, weapontable, tools, loadingtable, desctable, respawntable, configtable;
|
||||||
SettingsDialog prefs;
|
SettingsDialog prefs;
|
||||||
KeybindDialog keys;
|
KeybindDialog keys;
|
||||||
Dialog about, menu, restart, levels, upgrades, load, settingserror;
|
Dialog about, restart, levels, upgrades, load, settingserror;
|
||||||
|
MenuDialog menu;
|
||||||
Tooltip tooltip;
|
Tooltip tooltip;
|
||||||
Tile configTile;
|
Tile configTile;
|
||||||
|
boolean wasPaused = false;
|
||||||
|
|
||||||
VisibilityProvider play = () -> !GameState.is(State.menu);
|
VisibilityProvider play = () -> !GameState.is(State.menu);
|
||||||
VisibilityProvider nplay = () -> GameState.is(State.menu);
|
VisibilityProvider nplay = () -> GameState.is(State.menu);
|
||||||
@@ -162,12 +164,17 @@ public class UI extends SceneModule{
|
|||||||
|
|
||||||
prefs.hidden(()->{
|
prefs.hidden(()->{
|
||||||
if(!GameState.is(State.menu)){
|
if(!GameState.is(State.menu)){
|
||||||
GameState.set(State.playing);
|
if(!wasPaused)
|
||||||
|
GameState.set(State.playing);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
prefs.shown(()->{
|
prefs.shown(()->{
|
||||||
if(!GameState.is(State.menu)){
|
if(!GameState.is(State.menu)){
|
||||||
|
wasPaused = GameState.is(State.paused);
|
||||||
|
if(menu.getScene() != null){
|
||||||
|
wasPaused = menu.wasPaused;
|
||||||
|
}
|
||||||
GameState.set(State.paused);
|
GameState.set(State.paused);
|
||||||
menu.hide();
|
menu.hide();
|
||||||
}
|
}
|
||||||
@@ -325,12 +332,10 @@ public class UI extends SceneModule{
|
|||||||
float isize = Unit.dp.inPixels(40);
|
float isize = Unit.dp.inPixels(40);
|
||||||
|
|
||||||
new imagebutton("icon-menu", isize, ()->{
|
new imagebutton("icon-menu", isize, ()->{
|
||||||
GameState.set(State.paused);
|
|
||||||
showMenu();
|
showMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
new imagebutton("icon-settings", isize, ()->{
|
new imagebutton("icon-settings", isize, ()->{
|
||||||
GameState.set(State.paused);
|
|
||||||
prefs.show();
|
prefs.show();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import io.anuke.ucore.scene.ui.layout.Unit;
|
|||||||
public class MenuDialog extends Dialog{
|
public class MenuDialog extends Dialog{
|
||||||
private SaveDialog save = new SaveDialog();
|
private SaveDialog save = new SaveDialog();
|
||||||
private LoadDialog load = new LoadDialog();
|
private LoadDialog load = new LoadDialog();
|
||||||
|
public boolean wasPaused = false;
|
||||||
|
|
||||||
public MenuDialog(){
|
public MenuDialog(){
|
||||||
super("Paused", "dialog");
|
super("Paused", "dialog");
|
||||||
@@ -27,7 +28,13 @@ public class MenuDialog extends Dialog{
|
|||||||
|
|
||||||
content().addButton("Back", ()->{
|
content().addButton("Back", ()->{
|
||||||
hide();
|
hide();
|
||||||
GameState.set(State.playing);
|
if(!wasPaused)
|
||||||
|
GameState.set(State.playing);
|
||||||
|
});
|
||||||
|
|
||||||
|
shown(()->{
|
||||||
|
wasPaused = GameState.is(State.paused);
|
||||||
|
GameState.set(State.paused);
|
||||||
});
|
});
|
||||||
|
|
||||||
content().row();
|
content().row();
|
||||||
|
|||||||
Reference in New Issue
Block a user