diff --git a/android/assets/ui/x0.75/power_off.png b/android/assets/ui/x0.75/power_off.png new file mode 100644 index 0000000..4a81b97 Binary files /dev/null and b/android/assets/ui/x0.75/power_off.png differ diff --git a/android/assets/ui/x1.0/power_off.png b/android/assets/ui/x1.0/power_off.png new file mode 100644 index 0000000..870e46c Binary files /dev/null and b/android/assets/ui/x1.0/power_off.png differ diff --git a/android/assets/ui/x1.25/power_off.png b/android/assets/ui/x1.25/power_off.png new file mode 100644 index 0000000..bc20d0c Binary files /dev/null and b/android/assets/ui/x1.25/power_off.png differ diff --git a/android/assets/ui/x1.5/power_off.png b/android/assets/ui/x1.5/power_off.png new file mode 100644 index 0000000..56690f4 Binary files /dev/null and b/android/assets/ui/x1.5/power_off.png differ diff --git a/android/assets/ui/x2.0/power_off.png b/android/assets/ui/x2.0/power_off.png new file mode 100644 index 0000000..8733e47 Binary files /dev/null and b/android/assets/ui/x2.0/power_off.png differ diff --git a/android/assets/ui/x4.0/power_off.png b/android/assets/ui/x4.0/power_off.png new file mode 100644 index 0000000..24f99da Binary files /dev/null and b/android/assets/ui/x4.0/power_off.png differ diff --git a/android/build.gradle b/android/build.gradle index 303e2bf..5c1c26b 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -22,8 +22,8 @@ android { minSdkVersion 8 targetSdkVersion 25 - versionCode 600 - versionName "0.6" + versionCode 610 + versionName "0.6.1" } } diff --git a/build.gradle b/build.gradle index 19b557b..ca8d634 100644 --- a/build.gradle +++ b/build.gradle @@ -16,7 +16,7 @@ allprojects { apply plugin: "eclipse" apply plugin: "idea" - version = '0.6' + version = '0.6.1' ext { appName = "1010! Klooni" gdxVersion = '1.9.5' diff --git a/core/src/io/github/lonamiwebs/klooni/SkinLoader.java b/core/src/io/github/lonamiwebs/klooni/SkinLoader.java index 4ad10d9..7c07891 100644 --- a/core/src/io/github/lonamiwebs/klooni/SkinLoader.java +++ b/core/src/io/github/lonamiwebs/klooni/SkinLoader.java @@ -28,7 +28,7 @@ public class SkinLoader { private static String[] ids = { "play", "play_saved", "star", "stopwatch", "palette", "home", "replay", "share", "sound_on", "sound_off", "snap_on", "snap_off", "issues", "credits", - "web", "back", "ok", "cancel" + "web", "back", "ok", "cancel", "power_off" }; private static float bestMultiplier; diff --git a/core/src/io/github/lonamiwebs/klooni/screens/PauseMenuStage.java b/core/src/io/github/lonamiwebs/klooni/screens/PauseMenuStage.java index f942e7c..4bc665c 100644 --- a/core/src/io/github/lonamiwebs/klooni/screens/PauseMenuStage.java +++ b/core/src/io/github/lonamiwebs/klooni/screens/PauseMenuStage.java @@ -53,6 +53,7 @@ class PauseMenuStage extends Stage { private final Band band; private final BaseScorer scorer; private final SoftButton playButton; + private final SoftButton customButton; // Customize & "Shut down" //endregion @@ -98,22 +99,14 @@ class PauseMenuStage extends Stage { table.row(); - // Palette button (buy colors) - final SoftButton paletteButton = new SoftButton(1, "palette_texture"); - table.add(paletteButton).space(16); - - paletteButton.addListener(new ChangeListener() { - @Override - public void changed(ChangeEvent event, Actor actor) { - // Don't dispose because then it needs to take us to the previous screen - game.transitionTo(new CustomizeScreen(game, game.getScreen()), false); - } - }); + // Palette button OR shutdown game (if game over) + customButton = new SoftButton(1, "palette_texture"); + table.add(customButton).space(16); + customButton.addListener(customChangeListener); // Continue playing OR share (if game over) button playButton = new SoftButton(2, "play_texture"); table.add(playButton).space(16); - playButton.addListener(playChangeListener); } @@ -139,6 +132,14 @@ class PauseMenuStage extends Stage { scorer.resume(); } + private final ChangeListener customChangeListener = new ChangeListener() { + @Override + public void changed(ChangeEvent event, Actor actor) { + // Don't dispose because then it needs to take us to the previous screen + game.transitionTo(new CustomizeScreen(game, game.getScreen()), false); + } + }; + private final ChangeListener playChangeListener = new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { @@ -166,13 +167,22 @@ class PauseMenuStage extends Stage { } void showGameOver(final String gameOverReason, final boolean timeMode) { + // Allow the players to exit the game (issue #23) + customButton.removeListener(customChangeListener); + customButton.updateImage("power_off_texture"); + customButton.addListener(new ChangeListener() { + @Override + public void changed(ChangeEvent event, Actor actor) { + Gdx.app.exit(); + } + }); + if (game.shareChallenge != null) { playButton.removeListener(playChangeListener); playButton.updateImage("share_texture"); playButton.addListener(new ChangeListener() { public void changed(ChangeEvent event, Actor actor) { // Don't dispose because then it needs to take us to the previous screen - game.transitionTo(new ShareScoreScreen( game, game.getScreen(), scorer.getCurrentScore(), timeMode), false); } diff --git a/original-resources/buttons.svg b/original-resources/buttons.svg index 59d4b0f..6be7e77 100644 --- a/original-resources/buttons.svg +++ b/original-resources/buttons.svg @@ -15,7 +15,7 @@ viewBox="0 0 500.00001 500.00001" id="svg2" version="1.1" - inkscape:version="0.92.1 r15371" + inkscape:version="0.92.1 r" sodipodi:docname="buttons.svg"> @@ -125,14 +125,14 @@ borderopacity="1" inkscape:pageopacity="0" inkscape:pageshadow="2" - inkscape:zoom="4.6421393" - inkscape:cx="162.81422" - inkscape:cy="251.69867" + inkscape:zoom="0.82062205" + inkscape:cx="328.41208" + inkscape:cy="62.530961" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" inkscape:window-width="1366" - inkscape:window-height="742" + inkscape:window-height="739" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" @@ -1133,5 +1133,27 @@ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.1729759;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" inkscape:connector-curvature="0" /> + + + + + diff --git a/original-resources/gen-ui-png.py b/original-resources/gen-ui-png.py index c1f2bbd..cb3fa7d 100755 --- a/original-resources/gen-ui-png.py +++ b/original-resources/gen-ui-png.py @@ -25,6 +25,7 @@ ids = [ 'palette', 'play', 'play_saved', + 'power_off', 'replay', 'share', 'snap_off',