From 283ac21d9ab587a0b5dc0af4b01783ab2784d3db Mon Sep 17 00:00:00 2001
From: Peter <pt033@hdm-stuttgart.de>
Date: Wed, 17 Jan 2024 15:41:02 +0100
Subject: [PATCH] minor fixes

---
 .../Controller/CommunityMapController.java    |  2 +-
 .../Controller/IntroController.java           |  8 +--
 .../Controller/MapForgeController.java        |  4 +-
 .../Controller/MapSelectionController.java    | 16 ++---
 .../Controller/MenuBorderPaneController.java  |  2 +-
 .../Controller/SettingsController.java        | 28 +++++----
 src/main/resources/fxml/MapSelection.fxml     | 61 +------------------
 .../resources/fxml/PlayerCreateScene.fxml     |  1 -
 src/main/resources/fxml/Settings.fxml         |  4 +-
 src/main/resources/styles/style.css           |  2 +-
 10 files changed, 37 insertions(+), 91 deletions(-)

diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/CommunityMapController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/CommunityMapController.java
index 3dc79401..be1256f4 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/CommunityMapController.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/CommunityMapController.java
@@ -49,7 +49,7 @@ public class CommunityMapController implements Initializable {
 //    TODO: create map preview
 
     @FXML
-    private void backButton() {   // for some reason compiler doesn't recognize method usage when 'back' is used as method name. Any other method name works however
+    private void backButton() {
         parent.getChildren().clear();
         parent.getChildren().add(new SceneLoader().loadScene("MapForge"));
     }
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/IntroController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/IntroController.java
index a18c1cb6..0ee284ce 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/IntroController.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/IntroController.java
@@ -32,7 +32,7 @@ public class IntroController implements Initializable {
     private File file = new File(fileName + videos[0]);
     private int counter = 0;
     private MediaPlayer mediaPlayer;
-    private Persistence playerAccountSingleton = Persistence.getInstance();
+    private final Persistence persistence = Persistence.getInstance();
     private static final Logger log = LogManager.getLogger(Persistence.class);
 
     @Override
@@ -78,8 +78,8 @@ public class IntroController implements Initializable {
         boolean isStartUp = true, noAccount = false, statsLoaded = false;
         while (isStartUp) {
             try {
-                playerAccountSingleton.loadPlayerAccount();
-                playerAccountSingleton.verifyPlayerAccount();
+                persistence.loadPlayerAccount();
+                persistence.verifyPlayerAccount();
                 mediaPlayer.dispose();
                 isStartUp = false;
             } catch (DatabaseException e) {
@@ -92,7 +92,7 @@ public class IntroController implements Initializable {
         }
         while (!statsLoaded) { // while loop because Martin said so
             try {
-                playerAccountSingleton.loadPlayerStatistics();
+                persistence.loadPlayerStatistics();
                 statsLoaded = true;
             } catch (DatabaseException e) {
                 log.error(e);
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MapForgeController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MapForgeController.java
index 70564607..78436139 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MapForgeController.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MapForgeController.java
@@ -15,7 +15,7 @@ public class MapForgeController {
     @FXML
     private VBox parent;
     SceneLoader sceneLoader = new SceneLoader();
-    private Persistence updateMaps = Persistence.getInstance();
+    private final Persistence persistence = Persistence.getInstance();
 
     @FXML
     private void mapEditorScene() {
@@ -34,7 +34,7 @@ public class MapForgeController {
 
     @FXML
     private void updateMapScene() throws DatabaseException {
-        updateMaps.updateCoreMaps();
+        persistence.updateCoreMaps();
 //        TODO: set message label if update was successful or not
     }
 
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MapSelectionController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MapSelectionController.java
index e0d68e33..b2752dab 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MapSelectionController.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MapSelectionController.java
@@ -1,6 +1,7 @@
 package de.hdm_stuttgart.battlearena.Controller;
 
 import de.hdm_stuttgart.battlearena.Controller.Utilities.MusicPlayerSingleton;
+import de.hdm_stuttgart.battlearena.Controller.Utilities.SceneLoader;
 import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.MapData;
 import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.Persistence;
 import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.RuntimeInfo;
@@ -10,6 +11,7 @@ import javafx.fxml.Initializable;
 import javafx.scene.control.ToggleButton;
 import javafx.scene.control.ToggleGroup;
 import javafx.scene.layout.VBox;
+import javafx.scene.text.Text;
 
 import java.io.IOException;
 import java.net.URL;
@@ -20,9 +22,13 @@ import java.util.ResourceBundle;
 public class MapSelectionController implements Initializable {
     @FXML
     private VBox boxBox, parent;
+    @FXML
+    private Text selectedMapText;
 
     private int selectedMap;
 
+    private final SceneLoader sceneLoader = new SceneLoader();
+
     private final ArrayList<MapData> coreMaps = Persistence.getInstance().getCoreMaps();
 
     @Override
@@ -41,17 +47,12 @@ public class MapSelectionController implements Initializable {
                 selectedMap = boxBox.getChildren().indexOf(selected);
                 System.out.println(selectedMap);
                 String value = selected.getText();
+                selectedMapText.setText(value);
                 System.out.println(value);
             }
         });
     }
 
-//    private void switchScene(String name) {
-//        parent.getChildren().clear();
-//        parent.getChildren().add(sceneLoader.loadScene(name));
-//    }
-//
-
     @FXML
     private void gameScene() {
         try {
@@ -65,6 +66,7 @@ public class MapSelectionController implements Initializable {
 
     @FXML
     private void backButton() {
-
+        parent.getChildren().clear();
+        parent.getChildren().add(sceneLoader.loadScene("SkinSelection"));
     }
 }
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MenuBorderPaneController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MenuBorderPaneController.java
index ec0c3604..392326c3 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MenuBorderPaneController.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MenuBorderPaneController.java
@@ -36,7 +36,7 @@ public class MenuBorderPaneController implements Initializable {
     private final String[] videoFiles = {"depression", "allMyFellas", "wooOOoo", "myMind", "dogCheese", "gta", "cat", "bobama", "roomba", "firework", "cheezburger",
             "kangaroo", "lifeCouldBeMonke", "seal", "imNotYou", "parkingTickets", "russianKid", "rejectHumanity", "horse", "catSitting", "pablo", "holyCrap",
             "lessGoo", "sadCat", "basketball", "yoinkySploinky", "msPuff", "=D", "banana", "chaCha", "async", "sadHorse", "minecraftCat", "muecke", "top10Cats", "dog",
-            "pot", "mineCraftCat2", "catEating", "catJumping", "bear", "pancake", "frog", "gtfo", "carl", "dog2", "slippery", "wolf", "legCat", "sad", "waaahhh"};
+            "pot", "mineCraftCat2", "catEating", "catJump", "bear", "pancake", "frog", "gtfo", "carl", "dog2", "slippery", "wolf", "legCat", "sad", "waaahhh"};
 
     List<String> shuffledVideos = Arrays.asList(videoFiles);
 
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 d37bbcfd..a04eb1c6 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/SettingsController.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/SettingsController.java
@@ -18,15 +18,16 @@ public class SettingsController implements Initializable {
     @FXML
     private VBox parent;
     @FXML
-    private Slider musicVolume, sfxVolume;
+    private Slider musicSlider, sfxSlider;
     SceneLoader sceneLoader = new SceneLoader();
-    public int music;
+    private int musicVolume, sfxVolume;
     MusicPlayerSingleton musicPlayer = MusicPlayerSingleton.getInstance();
-    Persistence volume = Persistence.getInstance();
+    Persistence persistence = Persistence.getInstance();
 
     @Override
     public void initialize(URL url, ResourceBundle resourceBundle) {
         setMusicVolume();
+        setSfxVolume();
     }
 
     @FXML
@@ -42,19 +43,20 @@ public class SettingsController implements Initializable {
     }
 
     private void setMusicVolume() {
-//        need a runtime database to save volume
-        musicVolume.setValue(volume.getSettings().getMusicVolume());
-        musicVolume.valueProperty().addListener((observableValue, oldValue, newValue) -> {
-            setMusic(musicVolume);
-            System.out.println(music);
+        musicSlider.setValue(persistence.getSettings().getMusicVolume());
+        musicSlider.valueProperty().addListener((observableValue, oldValue, newValue) -> {
+            musicVolume = newValue.intValue();
+            persistence.getSettings().setMusicVolume(musicVolume);
+            musicPlayer.getMediaPlayer().setVolume((double) musicVolume / 100);
         });
     }
 
-    private void setMusic(Slider slider) {
-        slider.valueProperty().addListener(((observableValue, oldValue, newValue) -> {
-            music = newValue.intValue();
-            volume.getSettings().setMusicVolume(music);
-            musicPlayer.getMediaPlayer().setVolume((double) music / 100);
+    private void setSfxVolume(){
+        sfxSlider.setValue(persistence.getSettings().getSfxVolume());
+        sfxSlider.valueProperty().addListener(((observableValue, oldValue, newValue) -> {
+            sfxVolume = newValue.intValue();
+            persistence.getSettings().setSfxVolume(sfxVolume);
+//            sfxPlayer.getMediaPlayer().setVolume((double) sfxVolume / 100);
         }));
     }
 }
diff --git a/src/main/resources/fxml/MapSelection.fxml b/src/main/resources/fxml/MapSelection.fxml
index 821692ce..1be6734b 100644
--- a/src/main/resources/fxml/MapSelection.fxml
+++ b/src/main/resources/fxml/MapSelection.fxml
@@ -3,11 +3,8 @@
 <?import javafx.geometry.Insets?>
 <?import javafx.scene.control.Accordion?>
 <?import javafx.scene.control.Button?>
-<?import javafx.scene.control.RadioButton?>
 <?import javafx.scene.control.ScrollPane?>
 <?import javafx.scene.control.TitledPane?>
-<?import javafx.scene.control.ToggleGroup?>
-<?import javafx.scene.layout.AnchorPane?>
 <?import javafx.scene.layout.HBox?>
 <?import javafx.scene.layout.Pane?>
 <?import javafx.scene.layout.VBox?>
@@ -18,7 +15,7 @@
       <Pane VBox.vgrow="ALWAYS" />
       <HBox alignment="TOP_CENTER" spacing="20.0">
          <children>
-            <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Rounds:" />
+            <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Maps:" />
             <Accordion>
               <panes>
                 <TitledPane fx:id="roundsTitledPane" text="Select">
@@ -39,61 +36,7 @@
       </HBox>
       <HBox alignment="TOP_CENTER" maxWidth="-Infinity" minWidth="-Infinity" prefHeight="25.0" prefWidth="213.0" spacing="20.0">
          <children>
-            <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Time:" />
-            <Accordion>
-              <panes>
-                <TitledPane animated="false" text="Select">
-                  <content>
-                    <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
-                  </content>
-                </TitledPane>
-              </panes>
-            </Accordion>
-         </children>
-      </HBox>
-      <HBox alignment="TOP_CENTER" spacing="10.0">
-         <children>
-            <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Players:" />
-            <RadioButton mnemonicParsing="false" selected="true" text="2">
-               <toggleGroup>
-                  <ToggleGroup fx:id="group31" />
-               </toggleGroup>
-            </RadioButton>
-            <RadioButton mnemonicParsing="false" text="3" toggleGroup="$group31" />
-            <RadioButton mnemonicParsing="false" text="4" toggleGroup="$group31" />
-         </children>
-      </HBox>
-      <HBox alignment="TOP_CENTER" spacing="10.0">
-         <children>
-            <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Text:" />
-            <RadioButton mnemonicParsing="false" text="Yes">
-               <toggleGroup>
-                  <ToggleGroup fx:id="group1" />
-               </toggleGroup>
-            </RadioButton>
-            <RadioButton mnemonicParsing="false" selected="true" text="No" toggleGroup="$group1" />
-         </children>
-      </HBox>
-      <HBox alignment="TOP_CENTER" spacing="10.0">
-         <children>
-            <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Text:" />
-            <RadioButton mnemonicParsing="false" text="Yes">
-               <toggleGroup>
-                  <ToggleGroup fx:id="group2" />
-               </toggleGroup>
-            </RadioButton>
-            <RadioButton mnemonicParsing="false" selected="true" text="No" toggleGroup="$group2" />
-         </children>
-      </HBox>
-      <HBox alignment="TOP_CENTER" spacing="10.0">
-         <children>
-            <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Text:" />
-            <RadioButton mnemonicParsing="false" text="Yes">
-               <toggleGroup>
-                  <ToggleGroup fx:id="group3" />
-               </toggleGroup>
-            </RadioButton>
-            <RadioButton mnemonicParsing="false" selected="true" text="No" toggleGroup="$group3" />
+            <Text fx:id="selectedMapText" strokeType="OUTSIDE" strokeWidth="0.0" />
          </children>
       </HBox>
       <Button mnemonicParsing="false" onAction="#gameScene" text="Start" />
diff --git a/src/main/resources/fxml/PlayerCreateScene.fxml b/src/main/resources/fxml/PlayerCreateScene.fxml
index 1563facf..5200c649 100644
--- a/src/main/resources/fxml/PlayerCreateScene.fxml
+++ b/src/main/resources/fxml/PlayerCreateScene.fxml
@@ -7,7 +7,6 @@
 <?import javafx.scene.media.MediaView?>
 <?import javafx.scene.text.Text?>
 
-
 <BorderPane fx:id="parent" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.hdm_stuttgart.battlearena.Controller.PlayerCreateController">
    <center>
       <StackPane BorderPane.alignment="CENTER">
diff --git a/src/main/resources/fxml/Settings.fxml b/src/main/resources/fxml/Settings.fxml
index 6cab6585..7b8950fc 100644
--- a/src/main/resources/fxml/Settings.fxml
+++ b/src/main/resources/fxml/Settings.fxml
@@ -15,13 +15,13 @@
                   <VBox alignment="CENTER" VBox.vgrow="ALWAYS">
                      <children>
                         <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Music volume:" />
-                        <Slider fx:id="musicVolume" blockIncrement="25.0" majorTickUnit="100.0" minorTickCount="1" prefHeight="14.0" prefWidth="480.0" showTickLabels="true" value="75.0" VBox.vgrow="NEVER" />
+                        <Slider fx:id="musicSlider" blockIncrement="25.0" majorTickUnit="100.0" minorTickCount="1" prefHeight="14.0" prefWidth="480.0" showTickLabels="true" value="75.0" VBox.vgrow="NEVER" />
                      </children>
                   </VBox>
                   <VBox alignment="CENTER" VBox.vgrow="ALWAYS">
                      <children>
                         <Text strokeType="OUTSIDE" strokeWidth="0.0" text="SFX volume:" />
-                        <Slider fx:id="sfxVolume" blockIncrement="25.0" majorTickUnit="100.0" minorTickCount="1" prefHeight="14.0" prefWidth="480.0" showTickLabels="true" value="75.0" />
+                        <Slider fx:id="sfxSlider" blockIncrement="25.0" majorTickUnit="100.0" minorTickCount="1" prefHeight="14.0" prefWidth="480.0" showTickLabels="true" value="75.0" />
                      </children>
                   </VBox>
                </children>
diff --git a/src/main/resources/styles/style.css b/src/main/resources/styles/style.css
index 2bb5cd89..e676c8da 100644
--- a/src/main/resources/styles/style.css
+++ b/src/main/resources/styles/style.css
@@ -4,7 +4,7 @@
 }
 
 #button {
-    -fx-text-fill: black;
+    -fx-text-fill: #454545;
 }
 
 .root {
-- 
GitLab