diff --git a/app/build.gradle b/app/build.gradle index 1a7d204..991d437 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ android { applicationId 'de.frajul.endlessroll' minSdkVersion 12 targetSdkVersion 23 - versionCode 3 - versionName '0.3.1' + versionCode 4 + versionName '0.4.0' } buildTypes { release { diff --git a/app/build/intermediates/manifests/full/debug/AndroidManifest.xml b/app/build/intermediates/manifests/full/debug/AndroidManifest.xml index 568f5b0..4edcdd7 100644 --- a/app/build/intermediates/manifests/full/debug/AndroidManifest.xml +++ b/app/build/intermediates/manifests/full/debug/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="4" + android:versionName="0.4.0" > - - + + @@ -182,32 +182,26 @@ - + - + - + - + - + - - - - - - - - + + @@ -218,77 +212,77 @@ - + - + - - - - - - - + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + diff --git a/app/src/main/java/de/frajul/endlessroll/entities/collision/CollisionDetector.java b/app/src/main/java/de/frajul/endlessroll/entities/collision/CollisionDetector.java index e0d6e62..f358fab 100644 --- a/app/src/main/java/de/frajul/endlessroll/entities/collision/CollisionDetector.java +++ b/app/src/main/java/de/frajul/endlessroll/entities/collision/CollisionDetector.java @@ -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(); diff --git a/app/src/main/java/de/frajul/endlessroll/main/screens/SettingsScreen.java b/app/src/main/java/de/frajul/endlessroll/main/screens/SettingsScreen.java index b9833e1..529684c 100644 --- a/app/src/main/java/de/frajul/endlessroll/main/screens/SettingsScreen.java +++ b/app/src/main/java/de/frajul/endlessroll/main/screens/SettingsScreen.java @@ -21,6 +21,7 @@ public class SettingsScreen extends Screen 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 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 implements View.OnClick if (callId == CALL_ID_CONFIRM_RESET) { gameActivity.resetData(); prepareToBeShown(); + resetPressed = true; } } } diff --git a/particlelab/particlelab.iml b/particlelab/particlelab.iml index d775014..30710ca 100644 --- a/particlelab/particlelab.iml +++ b/particlelab/particlelab.iml @@ -105,6 +105,7 @@ +