From 400b458e29516440aabc7348fc64e4868eba54ea Mon Sep 17 00:00:00 2001 From: jg175 <jg175@hdm-stuttgart.de> Date: Fri, 23 Feb 2024 21:07:47 +0100 Subject: [PATCH] FIX: End of gamestatemonitoring in Login Scene ADD: Logging --- .../Controller/PlayerCreateController.java | 3 +++ .../battlearena/Model/Sound/MusicPlayer.java | 6 ++++++ .../battlearena/Model/Sound/SfxOnce.java | 3 +-- .../battlearena/Model/Sound/SoundFileManager.java | 8 ++++++++ .../battlearena/Model/Sound/WalkEffects.java | 1 + src/main/resources/player/playerStatsLocal.json | 12 ++++++------ 6 files changed, 25 insertions(+), 8 deletions(-) diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/PlayerCreateController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/PlayerCreateController.java index 0d86f9f9..42c0d0d4 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/PlayerCreateController.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/PlayerCreateController.java @@ -1,6 +1,7 @@ package de.hdm_stuttgart.battlearena.Controller; import de.hdm_stuttgart.battlearena.Controller.Utilities.SceneLoader; +import de.hdm_stuttgart.battlearena.Model.Sound.MusicPlayer; import javafx.fxml.FXML; import javafx.scene.layout.VBox; import javafx.stage.Stage; @@ -9,6 +10,7 @@ public class PlayerCreateController { @FXML private VBox parent; private final SceneLoader sceneLoader = new SceneLoader(); + private final MusicPlayer player = MusicPlayer.getInstance(); private void switchScene(String name) { parent.getChildren().clear(); @@ -28,6 +30,7 @@ public class PlayerCreateController { @FXML private void exit() { Stage stage = (Stage) parent.getScene().getWindow(); + player.getScheduler().shutdown(); stage.close(); } } diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/MusicPlayer.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/MusicPlayer.java index 5e4fa7cf..e0bcbd74 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/MusicPlayer.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/MusicPlayer.java @@ -32,19 +32,23 @@ public class MusicPlayer { } public void startGameStateMonitoring() { + log.info("gamestatemonitoring started"); scheduler = Executors.newSingleThreadScheduledExecutor(); scheduler.scheduleAtFixedRate(() -> { GameState newGameState = RuntimeInfo.getInstance().getGameState(); if (currentGameState != newGameState) { currentGameState = newGameState; updateMusic(); + log.info("gamestate changed"); } }, 0, 1, TimeUnit.MILLISECONDS); } private void updateMusic() { + log.info("updating music..."); stopMusic(); playRandomMusic(); + } private void playRandomMusic() { @@ -83,6 +87,7 @@ public class MusicPlayer { private void stopMusic() { if (mediaPlayer != null) { + log.info("stop music"); mediaPlayer.dispose(); // Dispose of the MediaPlayer instance to ensure stoping } } @@ -92,6 +97,7 @@ public class MusicPlayer { mediaPlayer.setVolume((double) volume / 100); } public ScheduledExecutorService getScheduler() { + log.info("gamestatemonitoring stopped"); return scheduler; } diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SfxOnce.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SfxOnce.java index 1a54dde4..2094ba42 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SfxOnce.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SfxOnce.java @@ -21,14 +21,13 @@ public class SfxOnce extends Thread { AudioClip audioClip = new AudioClip(Objects.requireNonNull(getClass().getResource(resource)).toExternalForm()); audioClip.setVolume((double) persistence.getSettings().getSfxVolume() / 100); this.isNotPlaying = false; + log.info("played soundeffect once"); audioClip.play(); } public void startSound(SFX sfx) { this.sfx = sfx; - start(); - } public boolean isNotPlaying() { diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SoundFileManager.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SoundFileManager.java index 9beacfbf..19e08738 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SoundFileManager.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SoundFileManager.java @@ -1,5 +1,8 @@ package de.hdm_stuttgart.battlearena.Model.Sound; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; @@ -10,12 +13,15 @@ import java.util.stream.Collectors; import java.util.stream.Stream; class SoundFileManager { + + private static final Logger log = LogManager.getLogger(MusicPlayer.class); protected List<Path> getFilePathsFromResources(Path folderPath) throws IOException { List<Path> result; try (Stream<Path> walk = Files.walk(folderPath)) { result = walk.filter(Files::isRegularFile) .collect(Collectors.toList()); } + log.info("retrieved file paths"); return result; } @@ -24,10 +30,12 @@ class SoundFileManager { int min = 0; int max = paths.size() - 1; int randomIndex = random.nextInt(max - min + 1 ) + min; + log.info("choose random file"); return paths.get(randomIndex).toString(); } protected String convertPathToResourcePath(String randomPath){ String normalizedPath = Paths.get(randomPath).toString().replace('\\', '/'); + log.info("converted filepaths"); return normalizedPath.substring(18); } } diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/WalkEffects.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/WalkEffects.java index 4c5cdf1a..fc4a6d0b 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/WalkEffects.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/WalkEffects.java @@ -45,6 +45,7 @@ public class WalkEffects extends Thread{ AudioClip effect = new AudioClip(Objects.requireNonNull(getClass().getResource(resource)).toString()); effect.setVolume((double) persistence.getSettings().getSfxVolume() /100); effect.play(); + log.info("played walk sound"); sfxPaths.clear(); } diff --git a/src/main/resources/player/playerStatsLocal.json b/src/main/resources/player/playerStatsLocal.json index f12f154b..5e8195f7 100644 --- a/src/main/resources/player/playerStatsLocal.json +++ b/src/main/resources/player/playerStatsLocal.json @@ -1,8 +1,8 @@ { - "gamesLost": 5000, - "gamesWon": 500, - "kills": 500, - "deaths": 500, - "blocksDestroyed": 5000, - "gameTime": 5000 + "gamesWon": 0, + "gamesLost": 0, + "kills": 0, + "deaths": 0, + "blocksDestroyed": 0, + "gameTime": 0 } \ No newline at end of file -- GitLab