diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/PauseSettingsController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/PauseSettingsController.java index 802a0b37b6c38bf0eeb30263e381cbbc9974ca10..d5e86f39cb470be0f6c9e62d451b9d9f008e1425 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/PauseSettingsController.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/PauseSettingsController.java @@ -3,7 +3,7 @@ package de.hdm_stuttgart.battlearena.Controller; import de.hdm_stuttgart.battlearena.Controller.Utilities.SceneLoader; import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.Persistence; import de.hdm_stuttgart.battlearena.Model.Sound.MusicPlayer; -import de.hdm_stuttgart.battlearena.Model.Sound.SoundEffects; +import de.hdm_stuttgart.battlearena.Model.Sound.SoundEffectsVolume; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.control.Slider; @@ -21,7 +21,7 @@ public class PauseSettingsController implements Initializable { private int musicVolume, sfxVolume; Persistence persistence = Persistence.getInstance(); MusicPlayer player = MusicPlayer.getInstance(); - SoundEffects sfx = new SoundEffects(); + SoundEffectsVolume sfx = new SoundEffectsVolume(); @Override public void initialize(URL url, ResourceBundle resourceBundle) { diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/SettingsController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/SettingsController.java index f10900fc1bedda32939424bc352cd24598000718..fd27fba31cfe08c761ad7e8f4656659f650f4417 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/SettingsController.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/SettingsController.java @@ -5,7 +5,7 @@ import de.hdm_stuttgart.battlearena.Controller.Utilities.SceneLoader; import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.Persistence; import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.RuntimeInfo; import de.hdm_stuttgart.battlearena.Model.Sound.MusicPlayer; -import de.hdm_stuttgart.battlearena.Model.Sound.SoundEffects; +import de.hdm_stuttgart.battlearena.Model.Sound.SoundEffectsVolume; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.fxml.Initializable; @@ -26,7 +26,7 @@ public class SettingsController implements Initializable { private int musicVolume, sfxVolume; Persistence persistence = Persistence.getInstance(); MusicPlayer player = MusicPlayer.getInstance(); - SoundEffects sfx = new SoundEffects(); + SoundEffectsVolume sfx = new SoundEffectsVolume(); @Override public void initialize(URL url, ResourceBundle resourceBundle) { diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/GameplayObjects/Bomb.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/GameplayObjects/Bomb.java index 48e2db0e6a4d3bc44a2af79399edd6515213b811..64436f22271048252b37b3bf09e880ebfd8b54fd 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/GameplayObjects/Bomb.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/GameplayObjects/Bomb.java @@ -5,7 +5,7 @@ import de.hdm_stuttgart.battlearena.Model.Entity.EntityDirection; import de.hdm_stuttgart.battlearena.Model.Entity.IEntity; import de.hdm_stuttgart.battlearena.Model.Sound.SFX; import de.hdm_stuttgart.battlearena.Model.Sound.SfxOnce; -import de.hdm_stuttgart.battlearena.Model.Sound.SoundEffects; +import de.hdm_stuttgart.battlearena.Model.Sound.SoundEffectsVolume; import javafx.geometry.BoundingBox; import javafx.scene.canvas.GraphicsContext; import javafx.scene.image.Image; @@ -27,7 +27,7 @@ public class Bomb implements IEntity { private BoundingBox boxCollider; private final ObjectType OBJECT_TYPE = ObjectType.BOMB; private ObjectStatus OBJECT_STATUS = ObjectStatus.UNUSED; - private SoundEffects sfx = new SoundEffects(); + private SoundEffectsVolume sfx = new SoundEffectsVolume(); //private SoundEffects soundEffects; public Bomb(int posX, int posY, GraphicsContext graphicsContext) { diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/Player.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/Player.java index e41028d4fb56fa9a31eb3b44a56571be94cd4910..85f60922556fa1bc372419a21585ed368564f882 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/Player.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/Player.java @@ -9,7 +9,7 @@ import de.hdm_stuttgart.battlearena.Model.Inputs.InputHandler; import de.hdm_stuttgart.battlearena.Model.Map.TileManager; import de.hdm_stuttgart.battlearena.Model.Sound.SFX; import de.hdm_stuttgart.battlearena.Model.Sound.SfxOnce; -import de.hdm_stuttgart.battlearena.Model.Sound.SoundEffects; +import de.hdm_stuttgart.battlearena.Model.Sound.SoundEffectsVolume; import de.hdm_stuttgart.battlearena.Model.Sound.WalkEffects; import javafx.geometry.BoundingBox; import javafx.scene.canvas.GraphicsContext; @@ -39,7 +39,7 @@ class Player implements IEntity { private BoundingBox boxCollider; - private SoundEffects sfx = new SoundEffects(); + private SoundEffectsVolume sfx = new SoundEffectsVolume(); private Image directionDownOne, diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Inputs/InputHandler.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Inputs/InputHandler.java index 324829b13054eb7fb6f3f2e3d7d3a611e90e3468..27aed7d1928df8251c351e81c4b0c9cc27c63aec 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Inputs/InputHandler.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Inputs/InputHandler.java @@ -1,6 +1,5 @@ package de.hdm_stuttgart.battlearena.Model.Inputs; -import de.hdm_stuttgart.battlearena.Model.Sound.SoundEffects; import javafx.scene.input.KeyCode; import javafx.scene.input.KeyEvent; diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SoundEffects.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SoundEffects.java deleted file mode 100644 index 3e2f33dcd09a69f1afaa1f0f3a078f9cac9f1de1..0000000000000000000000000000000000000000 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SoundEffects.java +++ /dev/null @@ -1,54 +0,0 @@ -package de.hdm_stuttgart.battlearena.Model.Sound; - -import de.hdm_stuttgart.battlearena.Controller.GameSceneController; -import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.Persistence; -import javafx.scene.media.Media; -import javafx.scene.media.MediaPlayer; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -import java.io.IOException; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; - - -public class SoundEffects { - private static final Logger log = LogManager.getLogger(SoundEffects.class); - - private ExecutorService service = Executors.newCachedThreadPool(); - private SoundFileManager fileManager = new SoundFileManager(); - private Persistence persistence = Persistence.getInstance(); - private boolean soundEffectPlayedTest = false; - - - - public void playSoundEffect(GameSceneController gameSceneController) throws IOException, InterruptedException { - - } - - - public void playSoundEffectOnce(SFX soundEffect){ - String path = soundEffect.getPath(); - log.info(path); - String resource = path.substring(18); // Begins at Ressource Folder - Thread sfx = new Thread(()->{ - Media media = new Media(getClass().getResource(resource).toExternalForm()); - MediaPlayer mediaPlayer = new MediaPlayer(media); - mediaPlayer.setVolume(persistence.getSettings().getSfxVolume()); - mediaPlayer.play(); - }); - sfx.setDaemon(true); - sfx.start(); - soundEffectPlayedTest = true; - } - - - public void setSfxVolume(int volume){ - persistence.getSettings().setSfxVolume(volume); - } - - - public boolean isSoundEffectPlayedTest() { - return soundEffectPlayedTest; - } -} diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SoundEffectsVolume.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SoundEffectsVolume.java new file mode 100644 index 0000000000000000000000000000000000000000..dd0e5778676fe573fb34eafd04d58fcebb23fee3 --- /dev/null +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SoundEffectsVolume.java @@ -0,0 +1,17 @@ +package de.hdm_stuttgart.battlearena.Model.Sound; + +import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.Persistence; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + + +public class SoundEffectsVolume { + private static final Logger log = LogManager.getLogger(SoundEffectsVolume.class); + + private Persistence persistence = Persistence.getInstance(); + + + public void setSfxVolume(int volume){ + persistence.getSettings().setSfxVolume(volume); + } +} diff --git a/src/test/java/SoundEffectsTest.java b/src/test/java/SoundEffectsTest.java index 149775ef55ed85d802cb1c32ab203f9ebad54063..890ff6f49ac91687c757a08f287fc34d7396bfcf 100644 --- a/src/test/java/SoundEffectsTest.java +++ b/src/test/java/SoundEffectsTest.java @@ -1,22 +1,19 @@ import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.Exceptions.DatabaseException; import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.Persistence; -import de.hdm_stuttgart.battlearena.Model.Sound.SFX; -import de.hdm_stuttgart.battlearena.Model.Sound.SoundEffects; +import de.hdm_stuttgart.battlearena.Model.Sound.SoundEffectsVolume; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; public class SoundEffectsTest { private static final Logger log = LogManager.getLogger(SoundEffectsTest.class); - private SoundEffects soundEffects; + private SoundEffectsVolume soundEffects; private Persistence persistence; @BeforeEach void SetUp(){ - soundEffects = new SoundEffects(); + soundEffects = new SoundEffectsVolume(); persistence = Persistence.getInstance(); try { persistence.loadSettings(); @@ -25,8 +22,8 @@ public class SoundEffectsTest { } } - @Test - void playSoundEffectOnceTest(){ + + /*void playSoundEffectOnceTest(){ soundEffects.playSoundEffectOnce(SFX.BOMB); Assertions.assertTrue(soundEffects.isSoundEffectPlayedTest()); } @@ -39,11 +36,8 @@ public class SoundEffectsTest { Assertions.assertTrue(soundEffects.isSoundEffectPlayedTest()); Assertions.assertEquals(50, persistence.getSettings().getSfxVolume()); }); - } + }*/ - @Test - void playSoundEffectTest(){ - } }