Browse Source

Settings angepasst, (fix: WorldGenerator crash wenn kein world-ordner existiert)

Jan 5 months ago
parent
commit
fc67c32d77

+ 4 - 1
src/main/java/main/Main.java

@@ -2,6 +2,7 @@ package main;
 
 import controller.GameController;
 import model.GameSaver;
+import util.Settings;
 import util.Translator;
 import util.economy.EconomyInfo;
 import view.GamePanel;
@@ -23,7 +24,8 @@ public class Main {
         mm.playBackgroundMusic("sound/background/background.wav", true);
 
         GameController gameController = GameSaver.loadGame();
-
+        Settings settings = gameController.getModel().getSettings();
+        settings.loadCorrectTranslation();
         //gameController.generateNewWorld();
 
         GamePanel gamePanel = gameController.getView();
@@ -33,6 +35,7 @@ public class Main {
         JFrame window = new JFrame();
         window.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
         window.setResizable(false);
+
         window.setTitle(Translator.translate("game.title"));
 
         window.setPreferredSize(gamePanel.getPreferredSize());

+ 7 - 0
src/main/java/model/GameModel.java

@@ -2,6 +2,7 @@ package model;
 
 import model.entity.EntityModel;
 import model.tiles.InteractiveTileModel;
+import util.Settings;
 
 import java.io.Serializable;
 import java.util.ArrayList;
@@ -10,9 +11,11 @@ public class GameModel implements Serializable {
     private Inventory inventory;
     private ArrayList<InteractiveTileModel> interactiveTileModels = new ArrayList<>();
     private ArrayList<EntityModel> entityModels = new ArrayList<>();
+    private Settings settings;
 
     public GameModel() {
         inventory = new Inventory();
+        settings = new Settings();
     }
 
     public Inventory getInventory() {
@@ -34,4 +37,8 @@ public class GameModel implements Serializable {
     public void addEntityModel(EntityModel model) {
         entityModels.add(model);
     }
+
+    public Settings getSettings() {
+        return settings;
+    }
 }

+ 11 - 1
src/main/java/util/Settings.java

@@ -3,7 +3,9 @@ package util;
 import view.sound.MusicManager;
 import view.sound.SoundManager;
 
-public class Settings {
+import java.io.Serializable;
+
+public class Settings implements Serializable {
     private static float volume = 100;
     private static String language = "DE";
     private static boolean fullscreen = true;
@@ -28,4 +30,12 @@ public class Settings {
     public static void toggleFullscreen() {
         fullscreen = !fullscreen;
     }
+
+    public void loadCorrectTranslation() {
+        if(language == "DE"){
+            Translator.set_de_de();
+        }else if(language == "EN"){
+            Translator.set_en_us();
+        }
+    }
 }

+ 4 - 1
src/main/java/util/WorldGenerator.java

@@ -148,7 +148,10 @@ public class WorldGenerator {
     }
 
     private static String writeWorldToFile(int[][] world, int width, int height) {
-        String fileName = "gamefiles/worlds/world_" + worldGenNumber++ + ".txt";
+        String directoryName = "gamefiles/worlds";
+        String fileName = directoryName + "/world_" + worldGenNumber++ + ".txt";
+        new File(directoryName).mkdirs();
+
         try (PrintWriter writer = new PrintWriter(new File(fileName))) {
             for (int[] row : world) {
                 StringBuilder sb = new StringBuilder();

+ 0 - 8
src/main/java/view/ui/menu/SettingsMenu.java

@@ -64,14 +64,6 @@ public class SettingsMenu extends AbstractMenu {
                 });
         drawAndRegisterButton(langButton, buttonX, langY);
 
-        // Fullscreen Toggle
-        Button fullscreenButton = new Button(buttonWidth, buttonHeight,
-                Translator.translate("settings.fullscreen") + ": " + (Settings.isFullscreen() ? "On" : "Off"),
-                () -> {
-                    Settings.toggleFullscreen();
-                });
-        drawAndRegisterButton(fullscreenButton, buttonX, fullscreenY);
-
         // Back button
         Button backButton = new Button(buttonWidth, buttonHeight,
                 Translator.translate("menu.back"), () -> {