Fixed bugs

This commit is contained in:
=
2018-01-14 10:53:48 +01:00
parent 5550543b77
commit 9175fc33a4
6 changed files with 49 additions and 51 deletions

View File

@ -160,7 +160,7 @@ public class CollisionDetector {
}
private Edge circlePartlyOutsideQuadCollisionEdge(Circle circle, Vector circleMovement, Quad quad, Vector quadMovement) {
Vector relativeMovement = circleMovement.translate(quadMovement.negate());
Vector relativeMovement = new Vector(circleMovement).translate(quadMovement.negate());
Edge edge = Edge.NONE;
if (circle.getCenter().getY() + circle.getRadius() >= quad.getTopEdge())
@ -215,7 +215,7 @@ public class CollisionDetector {
}
private Edge circleCenterInQuadCollisionEdge(Circle circle, Vector circleMovement, Quad quad, Vector quadMovement) {
Vector relativeMovement = circleMovement.translate(quadMovement.negate());
Vector relativeMovement = new Vector(circleMovement).translate(quadMovement.negate());
float m = relativeMovement.getY() / relativeMovement.getX();
float t = circle.getCenter().getY() - m * circle.getCenter().getX();

View File

@ -21,6 +21,7 @@ public class SettingsScreen extends Screen<LinearLayout> implements View.OnClick
private TopBar topBar;
private ToggleButton soundToggle;
private Button resetButton;
private boolean resetPressed = false;
private ConfirmDialog resetConfirmDialog;
@ -40,12 +41,13 @@ public class SettingsScreen extends Screen<LinearLayout> implements View.OnClick
topBar.update();
soundToggle.setChecked(gameActivity.getSoundManager().isSoundOn());
resetButton.setEnabled(super.caller != ScreenType.GAME);
resetPressed = false;
}
@Override
public void onBackKeyDown() {
//ResetButton is disabled if caller is GAME, because shortMenu or GoalMessage would still be visible on next level start
if (super.caller == ScreenType.LEVELS || super.caller == ScreenType.GAME) {
if (resetPressed && (super.caller == ScreenType.LEVELS || super.caller == ScreenType.GAME)) {
super.caller = ScreenType.WORLDS;
}
flipToCaller();
@ -65,6 +67,7 @@ public class SettingsScreen extends Screen<LinearLayout> implements View.OnClick
if (callId == CALL_ID_CONFIRM_RESET) {
gameActivity.resetData();
prepareToBeShown();
resetPressed = true;
}
}
}