From 9a2fe8b835d7a85270e3a872184dc7e4718f56aa Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Mon, 27 Jun 2022 13:20:39 -0400 Subject: [PATCH] v1.3.0: fixed crashed caused by rapid button input in amulet scene --- .../shatteredpixeldungeon/scenes/AmuletScene.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/AmuletScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/AmuletScene.java index f664ef833..58d1e1561 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/AmuletScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/AmuletScene.java @@ -74,13 +74,13 @@ public class AmuletScene extends PixelScene { protected void onClick() { Dungeon.win( Amulet.class ); Dungeon.deleteGame( GamesInProgress.curSlot, true ); + btnExit.enable(false); + btnStay.enable(false); - add(new Delayer(0.1f){ + add(new Delayer(1f){ @Override protected void onComplete() { if (BadgeBanner.isShowingBadges()){ - btnExit.enable(false); - btnStay.enable(false); AmuletScene.this.add(new Delayer(3f){ @Override protected void onComplete() { @@ -101,6 +101,8 @@ public class AmuletScene extends PixelScene { @Override protected void onClick() { onBackPressed(); + btnExit.enable(false); + btnStay.enable(false); } }; btnStay.setSize( WIDTH, BTN_HEIGHT ); @@ -138,8 +140,10 @@ public class AmuletScene extends PixelScene { @Override protected void onBackPressed() { - InterlevelScene.mode = InterlevelScene.Mode.CONTINUE; - Game.switchScene( InterlevelScene.class ); + if (btnExit.isActive()) { + InterlevelScene.mode = InterlevelScene.Mode.CONTINUE; + Game.switchScene(InterlevelScene.class); + } } private float timer = 0;