From 045cdb6ac96be8e35089ec451dc9165bf7a094a6 Mon Sep 17 00:00:00 2001
From: Martin <ms618@hdm-stuttgart.de>
Date: Tue, 16 Jan 2024 14:19:50 +0100
Subject: [PATCH] Update: Persistence.java (fixed reset method for settings)
 Add: StartupThread.java (new class for loading some startup methods in
 separate thread)

---
 .../DataStorage/Classes/Persistence.java      |  3 +-
 .../DataStorage/Classes/StartupThread.java    | 28 +++++++++++++++++++
 src/main/resources/player/appSettings.json    |  4 +++
 3 files changed, 33 insertions(+), 2 deletions(-)
 create mode 100644 src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/StartupThread.java

diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/Persistence.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/Persistence.java
index e5e0335f..821e550f 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/Persistence.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/Persistence.java
@@ -433,8 +433,7 @@ public class Persistence {
     }
 
     public void resetSettings(){
-        settings.setSfxVolume(50);
-        settings.setMusicVolume(50);
+        settings = new AppSettings(50, 50);
         try {
             gsonHandler.saveSettings(settings);
         }
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/StartupThread.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/StartupThread.java
new file mode 100644
index 00000000..a7ad2fdd
--- /dev/null
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/StartupThread.java
@@ -0,0 +1,28 @@
+package de.hdm_stuttgart.battlearena.Model.DataStorage.Classes;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+public class StartupThread extends Thread{
+
+    private static final Logger log = LogManager.getLogger(StartupThread.class);
+
+    @Override
+    public void run() {
+
+        Persistence persistenceInst = Persistence.getInstance();
+
+        try {
+            persistenceInst.loadSettings();
+            persistenceInst.loadCoreMaps();
+            persistenceInst.loadCommunityMaps();
+            persistenceInst.verifyAppSettings();
+            persistenceInst.verifyCoreMaps();
+            persistenceInst.verifyCommunityMaps();
+            log.info("Startup routine part1 complete!");
+        } catch (Exception e) {
+            log.error(e);
+        }
+    }
+
+}
diff --git a/src/main/resources/player/appSettings.json b/src/main/resources/player/appSettings.json
index e69de29b..ac6b7e58 100644
--- a/src/main/resources/player/appSettings.json
+++ b/src/main/resources/player/appSettings.json
@@ -0,0 +1,4 @@
+{
+  "sfxVolume": 50,
+  "musicVolume": 50
+}
\ No newline at end of file
-- 
GitLab