diff --git a/control/GameStateManager.java b/control/GameStateManager.java index 740cd31..5a3e802 100644 --- a/control/GameStateManager.java +++ b/control/GameStateManager.java @@ -40,7 +40,11 @@ public class GameStateManager { public void setState(State st) { + if (st.ordinal() > 0) + currentState.stopAudio(); + currentState = gamestates.get(st.ordinal()); + init(); } diff --git a/model/gameState/GameState.java b/model/gameState/GameState.java index ac8f7b0..402dfe2 100644 --- a/model/gameState/GameState.java +++ b/model/gameState/GameState.java @@ -26,4 +26,6 @@ public abstract class GameState { public abstract void buttonPressed(ButtonEvent e); public abstract void buttonReleased(ButtonEvent e); public abstract void onJoystickMoved(JoystickEvent e); + + public void stopAudio() { sh.close(); } }