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

Merge branch 'feature-pauseresume' into 'devel'

#19 Game pause on menu open fix



See merge request !109
parents 6c4e4358 af02bd07
Branches
Tags
No related merge requests found
......@@ -129,6 +129,7 @@ public abstract class AbstractMenu extends Stack implements Disposable {
private Action moveAction;
private boolean isClosing;
private boolean isOpening;
private Boolean lastPauseState;
private final Stack backgroundStack;
private boolean disableMenuGravity = false;
......@@ -342,7 +343,6 @@ public abstract class AbstractMenu extends Stack implements Disposable {
public void run() {
moveAction = null;
isClosing = false;
menuPositionChanged();
}
}));
addAction(moveAction);
......@@ -350,7 +350,6 @@ public abstract class AbstractMenu extends Stack implements Disposable {
moveAction = null;
isClosing = false;
setPosition(menuHidePositionX, menuPositionY);
menuPositionChanged();
}
}
}
......@@ -369,7 +368,6 @@ public abstract class AbstractMenu extends Stack implements Disposable {
public void run() {
moveAction = null;
isClosing = false;
menuPositionChanged();
}
}));
addAction(moveAction);
......@@ -377,7 +375,6 @@ public abstract class AbstractMenu extends Stack implements Disposable {
moveAction = null;
isClosing = false;
setPosition(menuClosePositionX, menuPositionY);
menuPositionChanged();
}
}
}
......@@ -387,7 +384,6 @@ public abstract class AbstractMenu extends Stack implements Disposable {
removeMoveAction();
isClosing = false;
isOpening = true;
menuPositionChanged();
if (animated) {
moveAction = Actions.sequence(
Actions.moveTo(menuOpenPositionX, menuPositionY, MENU_MOVE_DURATION, MENU_MOVE_INTERPOLATION),
......@@ -415,24 +411,16 @@ public abstract class AbstractMenu extends Stack implements Disposable {
}
//////////////////////////// POSITION CHANGED EVENT
//////////////////////////// POSITION CHANGED
public static class MenuOpenEvent implements ApplicationBus.ApplicationEvent {
private boolean isMenuOpen;
private MenuOpenEvent(boolean isMenuOpen) {
this.isMenuOpen = isMenuOpen;
}
public boolean isMenuOpen() {
return isMenuOpen;
@Override
protected void positionChanged() {
boolean pauseState = isScreenPause() && !isMenuHidden() && !isMenuClose();
if (lastPauseState == null || lastPauseState != pauseState) {
lastPauseState = pauseState;
ApplicationBus.getInstance().post(new MenuPauseEvent(pauseState)).asynchronously();
}
}
private void menuPositionChanged() {
ApplicationBus.getInstance().post(new MenuOpenEvent(!isMenuHidden() && !isMenuClose())).asynchronously();
ApplicationBus.getInstance().post(new MenuPauseEvent(isScreenPause() && !isMenuHidden() && !isMenuClose())).asynchronously();
super.positionChanged();
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment