From 50cc565bfdbf9bb5d1eef562641a6d8b063a7785 Mon Sep 17 00:00:00 2001
From: Martin <ms618@hdm-stuttgart.de>
Date: Fri, 23 Feb 2024 20:43:54 +0100
Subject: [PATCH] Update: LoadingScreenController.java (now waiting for thread2
 to finish) Update: RuntimeInfo.java (fixed stats reset method) Update:
 ThreadUpdateStats.java (now using reset method of RuntimeInfo.java to reset
 stats)

---
 .../Controller/LoadingScreenController.java            | 10 +++++++++-
 .../Model/DataStorage/Classes/RuntimeInfo.java         |  4 ++--
 .../Model/DataStorage/Classes/ThreadUpdateStats.java   |  6 +-----
 3 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/LoadingScreenController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/LoadingScreenController.java
index 9c3db059..732adab8 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/LoadingScreenController.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/LoadingScreenController.java
@@ -60,7 +60,9 @@ public class LoadingScreenController implements Initializable {
             "Jonas is the original Thread Ripper.",
             "AMD is gonna name their next CPU after Jonas.",
             "Start of Explosions spawning after bomb first explodes, not at the same time anymore, finally. - Yannik",
-            "Update: Classes for Clean Codecand TODOS as problems - Yannik"
+            "Update: Classes for Clean Codecand TODOS as problems - Yannik",
+            "Let's see, if Peter finds out, that we added this line to his code.",
+            "Contrary to popular belief, the word 'playcement' is written with an y."
     };
 
     private final List<String> shuffledTips = Arrays.asList(loadingTips);
@@ -133,6 +135,12 @@ public class LoadingScreenController implements Initializable {
         if (runtimeInfo.getGameMode() != GameMode.NETWORK) {
             thread1.start();
             waitingForThread1.start(); // basically thread1.join() but making it in separate thread otherwise it will block JavaFX thread
+            try {
+                log.debug("Executing waitingForThread2");
+                thread2.join();
+            } catch (InterruptedException e) {
+                throw new RuntimeException(e);
+            }
             loadStatistics.start();
         } else {
             multiplayerLoadingScreenThread.start();
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/RuntimeInfo.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/RuntimeInfo.java
index f127303e..b744f940 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/RuntimeInfo.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/RuntimeInfo.java
@@ -48,7 +48,7 @@ public class RuntimeInfo {
     //multiplayer
     private Server server;
     private ConnectionHandler connectionHandler;
-    private boolean gameWon = true;
+    private boolean gameWon = false;
 
     //multiplayerID
     private int playerID;
@@ -87,7 +87,7 @@ public class RuntimeInfo {
         deaths = 0;
         blocksDestroyed = 0;
         gameTime = 0;
-        gameWon = true;
+        gameWon = false;
     }
 
     public GameState getGameState() {
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/ThreadUpdateStats.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/ThreadUpdateStats.java
index a29f9d7d..b5f93bd9 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/ThreadUpdateStats.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/ThreadUpdateStats.java
@@ -18,11 +18,7 @@ public class ThreadUpdateStats extends Thread{
             threadsInstance.setThreadUpdateStatsMsg("");
             threadsInstance.setThreadUpdateStats(ThreadStatus.RUNNING);
             persistenceInst.updatePlayerStatistics(runtimeInfoInst.getKills(), runtimeInfoInst.getDeaths(), runtimeInfoInst.getGameTime(), runtimeInfoInst.getBlocksDestroyed(), runtimeInfoInst.isGameWon());
-            runtimeInfoInst.setKills(0);
-            runtimeInfoInst.setDeaths(0);
-            runtimeInfoInst.setGameTime(0);
-            runtimeInfoInst.setBlocksDestroyed(0);
-            runtimeInfoInst.setGameWon(false);
+            runtimeInfoInst.resetGameStats();
             log.info("Update statistics thread finished successfully!");
             threadsInstance.setThreadUpdateStats(ThreadStatus.FINISHED);
         } catch (Exception e) {
-- 
GitLab