From 02863de1cf3cc7d7de8e64d1267776f7f3bbefdc Mon Sep 17 00:00:00 2001 From: yugecin Date: Wed, 18 Jan 2017 16:55:30 +0100 Subject: [PATCH] add code to exit from code --- src/itdelatrisu/opsu/states/MainMenu.java | 7 ++----- src/itdelatrisu/opsu/states/Splash.java | 18 ++++++++---------- .../opsudance/core/DisplayContainer.java | 5 +++-- 3 files changed, 13 insertions(+), 17 deletions(-) diff --git a/src/itdelatrisu/opsu/states/MainMenu.java b/src/itdelatrisu/opsu/states/MainMenu.java index 568754f2..ab901a3f 100644 --- a/src/itdelatrisu/opsu/states/MainMenu.java +++ b/src/itdelatrisu/opsu/states/MainMenu.java @@ -597,9 +597,7 @@ public class MainMenu extends BaseOpsuState { } else if (restartButton.contains(x, y) && status == Updater.Status.UPDATE_DOWNLOADED) { SoundController.playSound(SoundEffect.MENUHIT); Updater.get().prepareUpdate(); - // TODO: exit? - //container.setForceExit(false); - //container.exit(); + displayContainer.exitRequested = true; return true; } } @@ -624,8 +622,7 @@ public class MainMenu extends BaseOpsuState { enterSongMenu(); return true; } else if (exitButton.contains(x, y, 0.25f)) { - // TODO exit? - //container.exit(); + displayContainer.exitRequested = true; return true; } } diff --git a/src/itdelatrisu/opsu/states/Splash.java b/src/itdelatrisu/opsu/states/Splash.java index 5aa82ee6..35531ea4 100644 --- a/src/itdelatrisu/opsu/states/Splash.java +++ b/src/itdelatrisu/opsu/states/Splash.java @@ -185,16 +185,14 @@ public class Splash extends BaseOpsuState { @Override public boolean keyPressed(int key, char c) { - if (key == Input.KEY_ESCAPE) { - // close program - if (++escapeCount >= 3) System.out.println("hi"); - //container.exit(); // TODO - - // stop parsing beatmaps by sending interrupt to BeatmapParser - else if (thread != null) - thread.interrupt(); - return true; + if (key != Input.KEY_ESCAPE) { + return false; } - return false; + if (++escapeCount >= 3) { + displayContainer.exitRequested = true; + } else if (thread != null) { + thread.interrupt(); + } + return true; } } diff --git a/src/yugecin/opsudance/core/DisplayContainer.java b/src/yugecin/opsudance/core/DisplayContainer.java index c90aa334..178135ab 100644 --- a/src/yugecin/opsudance/core/DisplayContainer.java +++ b/src/yugecin/opsudance/core/DisplayContainer.java @@ -93,6 +93,8 @@ public class DisplayContainer implements ErrorDumpable, KeyListener, MouseListen public int renderDelta; public int delta; + public boolean exitRequested; + public int timeSinceLastRender; private long lastFrame; @@ -153,7 +155,7 @@ public class DisplayContainer implements ErrorDumpable, KeyListener, MouseListen public void run() throws LWJGLException { - while(!(Display.isCloseRequested() && state.onCloseRequest())) { + while(!exitRequested && !(Display.isCloseRequested() && state.onCloseRequest())) { delta = getDelta(); timeSinceLastRender += delta; @@ -196,7 +198,6 @@ public class DisplayContainer implements ErrorDumpable, KeyListener, MouseListen Display.processMessages(); Display.sync(targetUpdatesPerSecond); } - teardown(); } public void setup() throws Exception {