v1.3.0: fixed crashed caused by rapid button input in amulet scene

This commit is contained in:
Evan Debenham
2022-06-27 13:20:39 -04:00
parent eb68964e47
commit 9a2fe8b835
@@ -74,13 +74,13 @@ public class AmuletScene extends PixelScene {
protected void onClick() { protected void onClick() {
Dungeon.win( Amulet.class ); Dungeon.win( Amulet.class );
Dungeon.deleteGame( GamesInProgress.curSlot, true ); Dungeon.deleteGame( GamesInProgress.curSlot, true );
btnExit.enable(false);
btnStay.enable(false);
add(new Delayer(0.1f){ add(new Delayer(1f){
@Override @Override
protected void onComplete() { protected void onComplete() {
if (BadgeBanner.isShowingBadges()){ if (BadgeBanner.isShowingBadges()){
btnExit.enable(false);
btnStay.enable(false);
AmuletScene.this.add(new Delayer(3f){ AmuletScene.this.add(new Delayer(3f){
@Override @Override
protected void onComplete() { protected void onComplete() {
@@ -101,6 +101,8 @@ public class AmuletScene extends PixelScene {
@Override @Override
protected void onClick() { protected void onClick() {
onBackPressed(); onBackPressed();
btnExit.enable(false);
btnStay.enable(false);
} }
}; };
btnStay.setSize( WIDTH, BTN_HEIGHT ); btnStay.setSize( WIDTH, BTN_HEIGHT );
@@ -138,8 +140,10 @@ public class AmuletScene extends PixelScene {
@Override @Override
protected void onBackPressed() { protected void onBackPressed() {
InterlevelScene.mode = InterlevelScene.Mode.CONTINUE; if (btnExit.isActive()) {
Game.switchScene( InterlevelScene.class ); InterlevelScene.mode = InterlevelScene.Mode.CONTINUE;
Game.switchScene(InterlevelScene.class);
}
} }
private float timer = 0; private float timer = 0;