From da2508395cd23678358aec58eae46273d46f8431 Mon Sep 17 00:00:00 2001 From: "Fleischer Hanno hanno.fleischer@unibw.de" Date: Mon, 7 Oct 2024 17:54:35 +0200 Subject: [PATCH] fixed minor issues and cleaned up code to not include duplicate code. --- Projekte/battleship/client/client.properties | 2 +- .../pp/battleship/client/BackgroundMusic.java | 4 +-- .../pp/battleship/client/BattleshipApp.java | 2 +- .../java/pp/battleship/client/GameSound.java | 4 +-- .../main/java/pp/battleship/client/Menu.java | 27 ++++++++++++------- .../battleship/client/gui/EffectHandler.java | 1 - .../main/resources/battleship_de.properties | 2 +- 7 files changed, 24 insertions(+), 18 deletions(-) diff --git a/Projekte/battleship/client/client.properties b/Projekte/battleship/client/client.properties index 4403fa3b..89d59df4 100644 --- a/Projekte/battleship/client/client.properties +++ b/Projekte/battleship/client/client.properties @@ -9,7 +9,7 @@ # # Specifies the map used by the opponent in single mode. # Single mode is activated if this property is set. -#map.opponent=maps/map2.json +map.opponent=maps/map2.json # # Specifies the map used by the player in single mode. # The player must define their own map if this property is not set. diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/BackgroundMusic.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/BackgroundMusic.java index 92d0618d..a1000ec0 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/BackgroundMusic.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/BackgroundMusic.java @@ -67,7 +67,7 @@ public BackgroundMusic(BattleshipApp app) { */ private AudioNode createAudioNode(String musicFilePath) { AudioNode audioNode = new AudioNode(app.getAssetManager(), musicFilePath, DataType.Stream); - audioNode.setVolume(volume * app.getMainVolume().getMainVolume()); + audioNode.setVolume(volume * app.getMainVolumeControl().getMainVolume()); audioNode.setPositional(false); audioNode.setLooping(true); audioNode.setName(musicFilePath); @@ -152,7 +152,7 @@ public void setVolume(){ */ public void setVolume(float volume) { this.volume = volume; - float mainVolume = app.getMainVolume().getMainVolume(); + float mainVolume = app.getMainVolumeControl().getMainVolume(); menuMusic.setVolume(volume * mainVolume); battleMusic.setVolume(volume * mainVolume); gameOverMusicL.setVolume(volume * mainVolume); diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/BattleshipApp.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/BattleshipApp.java index d79e2893..2bab9881 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/BattleshipApp.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/BattleshipApp.java @@ -455,7 +455,7 @@ public BackgroundMusic getBackgroundMusic(){ * * @return an object of MainVolume */ - public MainVolume getMainVolume(){ + public MainVolume getMainVolumeControl(){ return mainVolume; } } diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/GameSound.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/GameSound.java index b6c10da3..a6d2f3c0 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/GameSound.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/GameSound.java @@ -137,7 +137,7 @@ public void shipDestroyed() { * @param volume the volume to be set to */ public void setSoundVolume(float volume) { - float mainVolume = app.getMainVolume().getMainVolume(); + float mainVolume = app.getMainVolumeControl().getMainVolume(); shipDestroyedSound.setVolume(volume); splashSound.setVolume(volume); explosionSound.setVolume(volume); @@ -149,7 +149,7 @@ public void setSoundVolume(float volume) { * this method will be used if the main volume changes */ public void setSoundVolume() { - float mainVolume = app.getMainVolume().getMainVolume(); + float mainVolume = app.getMainVolumeControl().getMainVolume(); shipDestroyedSound.setVolume(volume * mainVolume); splashSound.setVolume(volume * mainVolume); explosionSound.setVolume(volume * mainVolume); diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/Menu.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/Menu.java index fd167476..a7a25189 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/Menu.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/Menu.java @@ -56,18 +56,14 @@ public Menu(BattleshipApp app) { addChild(new Label(lookup("battleship.name"), new ElementId("header"))); //NON-NLS addChild(new Label(lookup("menu.main.volume"), new ElementId("label"))); - Slider mainVolumeSlider = new Slider(); - mainVolumeSlider.setModel(new DefaultRangedValueModel(SLIDER_MIN_VALUE, SLIDER_MAX_VALUE, app.getMainVolume().getMainVolume())); - mainVolumeSlider.setDelta(SLIDER_DELTA); + Slider mainVolumeSlider = createSlider(app.getMainVolumeControl().getMainVolume()); addChild(mainVolumeSlider); mainVolumeRef = mainVolumeSlider.getModel().createReference(); addChild(new Label(lookup("menu.sound.volume"), new ElementId("label"))); addChild(new Checkbox(lookup("menu.sound-enabled"), new StateCheckboxModel(app, GameSound.class))); - Slider soundSlider = new Slider(); - soundSlider.setModel(new DefaultRangedValueModel(SLIDER_MIN_VALUE, SLIDER_MAX_VALUE, app.getStateManager().getState(GameSound.class).getVolume())); - soundSlider.setDelta(SLIDER_DELTA); + Slider soundSlider = createSlider(app.getStateManager().getState(GameSound.class).getVolume()); addChild(soundSlider); soundVolumeRef = soundSlider.getModel().createReference(); @@ -76,9 +72,7 @@ public Menu(BattleshipApp app) { musicToggle.setChecked(app.getBackgroundMusic().isMusicEnabled()); musicToggle.addClickCommands(s -> toggleMusic()); addChild(musicToggle); - Slider volumeSlider = new Slider(); - volumeSlider.setModel(new DefaultRangedValueModel(SLIDER_MIN_VALUE, SLIDER_MAX_VALUE, app.getBackgroundMusic().getVolume())); - volumeSlider.setDelta(SLIDER_DELTA); + Slider volumeSlider = createSlider(app.getBackgroundMusic().getVolume()); addChild(volumeSlider); volumeRef = volumeSlider.getModel().createReference(); @@ -93,6 +87,19 @@ public Menu(BattleshipApp app) { update(); } + /** + * this method creates a slider to be used in the menu + * + * @param relativePosition the position of the regulator on the slider + * @return the creates slider + */ + private Slider createSlider(double relativePosition){ + Slider slider = new Slider(); + slider.setModel(new DefaultRangedValueModel(SLIDER_MIN_VALUE, SLIDER_MAX_VALUE, relativePosition)); + slider.setDelta(SLIDER_DELTA); + return slider; + } + /** * this method is used update the volume when there is a change in the slider * @param tpf time per frame @@ -118,7 +125,7 @@ else if (soundVolumeRef.update()) { * @param newVolume the volume to be set as main volume */ private void adjustMainVolume(double newVolume) { - app.getMainVolume().setMainVolume((float) newVolume); + app.getMainVolumeControl().setMainVolume((float) newVolume); } /** diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/EffectHandler.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/EffectHandler.java index 3b9c956a..37152dbc 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/EffectHandler.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/EffectHandler.java @@ -56,7 +56,6 @@ public void createHitEffect(Node battleshipNode, Shot shot) { hitEffect.setParticlesPerSec(0); hitEffect.setLocalTranslation(shot.getY() + 0.5f, 0 , shot.getX() + 0.5f); LOGGER.log(Level.DEBUG, "Created HitEffect at {0}", hitEffect.getLocalTranslation().toString()); - LOGGER.log(Level.DEBUG, "Created HitEffect at {0}", hitEffect.getLocalTranslation().toString()); hitEffect.emitAllParticles(); diff --git a/Projekte/battleship/model/src/main/resources/battleship_de.properties b/Projekte/battleship/model/src/main/resources/battleship_de.properties index 8d45ffb3..e99aada6 100644 --- a/Projekte/battleship/model/src/main/resources/battleship_de.properties +++ b/Projekte/battleship/model/src/main/resources/battleship_de.properties @@ -30,7 +30,7 @@ wait.its.not.your.turn=Warte, Du bist nicht dran!! menu.quit=Spiel beenden menu.return-to-game=Zurück zum Spiel menu.sound-enabled=An/Ausschalten des Sounds -menu.main.volume=Gesammt Lautstärke +menu.main.volume=Gesamt Lautstärke menu.map.load=Karte von Datei laden... menu.map.save=Karte in Datei speichern... menu.music.toggle=An/Ausschalten der Musik