diff --git a/out/artifacts/bagel_jar/bagel.jar b/out/artifacts/bagel_jar/bagel.jar deleted file mode 100644 index 2b915e213697e81500ccf9ed19a499a0e238ff7b..0000000000000000000000000000000000000000 Binary files a/out/artifacts/bagel_jar/bagel.jar and /dev/null differ diff --git a/src/Level/EndPanel.java b/src/Level/EndPanel.java index abc578f472c431d3bb51a5dfe487f863f21f59b5..ab1f2e1dfc7eee8b7c60c80ec58a1f4b157f43e1 100644 --- a/src/Level/EndPanel.java +++ b/src/Level/EndPanel.java @@ -19,11 +19,10 @@ public class EndPanel extends Pane { private boolean playSound = false; - private final int deadSound; + private static final int deadSound = MusicPlayerManager.getInstance().addMusic(new MusicPlayer("res/ActorExtensionPack/Sound/wav/DeadSound.wav")); public EndPanel(Level castToLevel) { this.castToLevel = castToLevel; - deadSound = MusicPlayerManager.getInstance().addMusic(new MusicPlayer("res/ActorExtensionPack/Sound/wav/DeadSound.wav")); } @Override diff --git a/src/Level/Level.java b/src/Level/Level.java index a6a7abdfd2d36153d377a58b923cb9c54ed5f5f9..ac545fe2befb96b927257997acf3040fe663f431 100644 --- a/src/Level/Level.java +++ b/src/Level/Level.java @@ -84,7 +84,7 @@ public class Level { private boolean hasBeginnerPanel = false; - Button restartButton = new Button(new Image("res/ActorExtensionPack/UI/restart.png"), new Vec2D(817, 0)) { + private Button restartButton = new Button(new Image("res/ActorExtensionPack/UI/restart.png"), new Vec2D(817, 0)) { @Override public void event() { if (currentStage != SELECT_STAGE) { @@ -529,7 +529,7 @@ public class Level { actors.clear(); currentStage = SELECT_STAGE; state = CONTINUING; - MusicPlayerManager.getInstance().stopAll(); + MusicPlayerManager.getInstance().playSingleTrack(GameStage.playMusic, MusicPlayer.LOOP_OPTION); endPanel.setPlaySound(false); loadCSV(filename); diff --git a/src/Music/MusicPlayer.java b/src/Music/MusicPlayer.java index b90baf5c2823b0156a305d138ef9bf5dc24fc950..7879dcc3d2e2405c42a49b5734e87c20c8683a93 100644 --- a/src/Music/MusicPlayer.java +++ b/src/Music/MusicPlayer.java @@ -19,15 +19,18 @@ public class MusicPlayer { public void play(int option) { if (isPlaying) { - player.close(); - player.stop(); + if (player.isRunning()) { + player.stop(); + } } File musicFile = new File(musicPath); try { //play music AudioInputStream audioInput = AudioSystem.getAudioInputStream(musicFile); player = AudioSystem.getClip(); - player.open(audioInput); + if (!player.isOpen()) { + player.open(audioInput); + } player.start(); isPlaying = true; if (option == LOOP_OPTION) { @@ -40,9 +43,17 @@ public class MusicPlayer { public void stop() { if (isPlaying) { - player.stop(); - player.close(); + if (player.isRunning()) { + player.stop(); + } + if (player.isOpen()) { + player.close(); + } isPlaying = false; } } + + public boolean isPlaying() { + return isPlaying; + } } diff --git a/src/Music/MusicPlayerManager.java b/src/Music/MusicPlayerManager.java index bd7a8def2cc860de586fb5995a67508c99346a65..8d5ead7d889cda7096efb02cf68734e6b0524c0f 100644 --- a/src/Music/MusicPlayerManager.java +++ b/src/Music/MusicPlayerManager.java @@ -47,7 +47,9 @@ public class MusicPlayerManager { public void stopAll() { currentPlayingSingleTrack = NONE; for (MusicPlayer musicPlayer : musicPlayers) { - musicPlayer.stop(); + if (musicPlayer.isPlaying()) { + musicPlayer.stop(); + } } } } diff --git a/src/ShadowLifeGame.java b/src/ShadowLifeGame.java index 023a2277917dcd514423305a0686fcbc972f3885..67a1895c726406dd61b351c66508fa86f6e8b779 100644 --- a/src/ShadowLifeGame.java +++ b/src/ShadowLifeGame.java @@ -173,6 +173,7 @@ public class ShadowLifeGame extends AbstractGame { progress.playAt(progressPosition); //check for the time pass if (loadCount > LOADING_TIME) { + MusicPlayerManager.getInstance().stopAll(); progress.replay(); loadCount = RESET; GameStage.getInstance().goTo(GameStage.getInstance().getCurrentStage() - GameStage.LOADING); diff --git a/src/UI/Button.java b/src/UI/Button.java index e1280900ccb1aa6e90ca1cbd6de4352c7bb63280..837f1d556bc6f38b6f5370e1ec3db63aab8159a7 100644 --- a/src/UI/Button.java +++ b/src/UI/Button.java @@ -13,7 +13,7 @@ public abstract class Button { private final AABB boundingBox; private final Image button; - private final int buttonPressedSound = MusicPlayerManager.getInstance().addMusic(new MusicPlayer("res/ActorExtensionPack/Sound/wav/ButtonPressed.wav")); + private static final int buttonPressedSound = MusicPlayerManager.getInstance().addMusic(new MusicPlayer("res/ActorExtensionPack/Sound/wav/ButtonPressed.wav")); public Button(Image button, Vec2D position) { this.button = button; diff --git a/src/actor/Skeleton.java b/src/actor/Skeleton.java index 599b9c9b3359dfadb2320041f11e61031743f140..555a355117d44a24162b44599bf5c8969562b375 100644 --- a/src/actor/Skeleton.java +++ b/src/actor/Skeleton.java @@ -29,7 +29,6 @@ public class Skeleton extends Actor { private int currentType; - public Skeleton(Vec2D spawnPoint, int direction, int wanderLoop) { super(spawnPoint); if (getAnimationManager() == null) {