diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/AppSettings.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/AppSettings.java index a21c4d931153420e713a999c3ea9d07ad727f0fe..710cf9ca3be97bbf21ff8aa00304dff1f8c19b87 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/AppSettings.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/AppSettings.java @@ -2,28 +2,28 @@ package de.hdm_stuttgart.battlearena.Model.DataStorage.Classes; public class AppSettings { - private Double sfxVolume; - private Double musicVolume; + private int sfxVolume; //values from 0 to 100 (volume in percent) + private int musicVolume; //values from 0 to 100 (volume in percent) - public AppSettings(Double sfxVolume, Double musicVolume) { + public AppSettings(int sfxVolume, int musicVolume) { this.sfxVolume = sfxVolume; this.musicVolume = musicVolume; } - public void setSfxVolume(Double sfxVolume) { + public void setSfxVolume(int sfxVolume) { this.sfxVolume = sfxVolume; } - public Double getSfxVolume() { + public int getSfxVolume() { return sfxVolume; } - public void setMusicVolume(Double musicVolume) { + public void setMusicVolume(int musicVolume) { this.musicVolume = musicVolume; } - public Double getMusicVolume() { + public int getMusicVolume() { return musicVolume; } 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 c3f29bd87d4342f51009b63d3a062f0faceabfbd..0a7b2eb87c7077c00620b8d65373ea3f4ea3c7e7 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 @@ -421,8 +421,8 @@ public class Persistence { } public void resetSettings(){ - settings.setSfxVolume(0.5); - settings.setMusicVolume(0.5); + settings.setSfxVolume(50); + settings.setMusicVolume(50); try { gsonHandler.saveSettings(settings); } 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 4ed495708bd1d451811c1953ed80cb94b86610de..bc2625856682cb2c90e56e0c5d57d8e1f602db8b 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 @@ -9,17 +9,14 @@ import de.hdm_stuttgart.battlearena.Model.Entity.EntityClass; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import java.util.ArrayList; - public class RuntimeInfo { private static final Logger log = LogManager.getLogger(RuntimeInfo.class); private static final RuntimeInfo runtimeInfoSingleton = new RuntimeInfo(); private final Persistence persistenceInst = Persistence.getInstance(); - protected String mapDataGame; - protected MapData mapGame; - protected boolean offlineMode; //if Account-Type is online but no SQL connection: start game without stats tracking - + private String mapDataGame; + private MapData mapGame; + private boolean offlineMode; //if Account-Type is online but no SQL connection: start game without stats tracking private GameState gameState = GameState.MENU; //Default value: MENU private GameMode gameMode = GameMode.LOCAL; //Default value: LOCAL @@ -92,8 +89,4 @@ public class RuntimeInfo { this.playerTwoClass = playerTwoClass; } - public int gameTimeInHours(){ - return persistenceInst.getStatistics().getGameTime() / 3600; - } - } diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/Utilities/Parser.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/Utilities/Parser.java index a98f5bc2a3e7a345b72ba6633b7e328733e02212..29639d0bbadd65532cfa8b4b99c247c36ca1f634 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/Utilities/Parser.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/Utilities/Parser.java @@ -350,4 +350,12 @@ public class Parser { } } + public static void volumeValid(int volume) throws ParserException{ + + if(volume > 100 | volume < 0){ + throw new ParserException("Volume must be between 0 and 100!"); + } + + } + } diff --git a/src/test/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/Utilities/ParserTest.java b/src/test/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/Utilities/ParserTest.java index 0ffdfca98e607df423dd54c2abcc281146e293b4..07406e5ea3be3324dd621c19aa1748b53f37acaa 100644 --- a/src/test/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/Utilities/ParserTest.java +++ b/src/test/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/Utilities/ParserTest.java @@ -251,4 +251,19 @@ class ParserTest { assertTrue(testMe.getMessage().contains("Player statistics data corrupted - Minimum value for ingame time is 0 seconds!")); } + @ParameterizedTest + @ValueSource(ints = {0, 100, 50}) + void volumeValid(int test){ + assertDoesNotThrow(() -> Parser.volumeValid(test)); + } + + @Test + void volumeInvalid(){ + ParserException testMe = assertThrows(ParserException.class, () -> Parser.volumeValid(-1)); + assertTrue(testMe.getMessage().contains("Volume must be between 0 and 100!")); + + testMe = assertThrows(ParserException.class, () -> Parser.volumeValid(101)); + assertTrue(testMe.getMessage().contains("Volume must be between 0 and 100!")); + } + } \ No newline at end of file