Coverage Summary for Class: MusicManager (io.github.unisim)

Class Class, % Method, % Branch, % Line, %
MusicManager 0% (0/1) 0% (0/10) 0% (0/18) 0% (0/29)


 package io.github.unisim;
 
 import com.badlogic.gdx.Gdx;
 import com.badlogic.gdx.audio.Music;
 
 public class MusicManager {
     private Music menuMusic;
     private Music gameMusic;
     private Music CurrentMusic;
     private float volume = 0.05f;
 
     //create variables to store the audio files
     public MusicManager() {
         menuMusic = Gdx.audio.newMusic(Gdx.files.internal("Music/menu_music.mp3"));
         gameMusic = Gdx.audio.newMusic(Gdx.files.internal("Music/game_music.mp3"));
 
         menuMusic.setLooping(true);
         gameMusic.setLooping(true);
 
         menuMusic.setVolume(volume);
         gameMusic.setVolume(volume);
 
     }
 
     //called when the menu music needs to start playing
     public void playMenuMusic() {
         if (CurrentMusic == menuMusic && menuMusic.isPlaying()) {
             return; // Do nothing if menu music is already playing
         }
         stopMusic();
         CurrentMusic = menuMusic;
         menuMusic.play();
     }
 
     //called when the game music needs to start playing
     public void playGameMusic() {
         if (CurrentMusic != null) {
             CurrentMusic.stop();
         }
         CurrentMusic = gameMusic;
         CurrentMusic.play();
     }
 
     //call to pause the current music
     public void pauseMusic() {
         if (CurrentMusic != null && CurrentMusic.isPlaying()) {
             CurrentMusic.pause();
         }
     }
 
     //call to unpause the music
     public void resumeMusic() {
         if (CurrentMusic != null && !CurrentMusic.isPlaying()) {
             CurrentMusic.play();
         }
     }
 
     //call to end the current music
     public void stopMusic() {
         if (CurrentMusic != null) {
             CurrentMusic.stop();
         }
     }
 
     //call to set the volume
     public void setVolume(float volume) {
         if (CurrentMusic != null) {
             CurrentMusic.setVolume(volume);
             this.volume = volume;
         }
     }
 
     public Music getMusic() {
         return CurrentMusic;
     }
 
     public float getVolume() {
         return volume;
     }
 
     public void dispose() {
         menuMusic.dispose();
         gameMusic.dispose();
     }
 
 }