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 24d7de8bba503c2d58df72b95d3de8901cd7a91b..a21c4d931153420e713a999c3ea9d07ad727f0fe 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 @@ -3,19 +3,27 @@ package de.hdm_stuttgart.battlearena.Model.DataStorage.Classes; public class AppSettings { private Double sfxVolume; - private int musicVolume; + private Double musicVolume; - public AppSettings(Double sfxVolume, int musicVolume) { + public AppSettings(Double sfxVolume, Double musicVolume) { this.sfxVolume = sfxVolume; this.musicVolume = musicVolume; } + public void setSfxVolume(Double sfxVolume) { + this.sfxVolume = sfxVolume; + } + public Double getSfxVolume() { return sfxVolume; } - public int getMusicVolume() { + public void setMusicVolume(Double musicVolume) { + this.musicVolume = musicVolume; + } + + public Double 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 f2fcc0591e906e7642e85e8f01b4b808fae080c2..c3f29bd87d4342f51009b63d3a062f0faceabfbd 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 @@ -172,19 +172,19 @@ public class Persistence { } } - public String getGameMap(String mapSelected, boolean choseCoremaps) throws DatabaseException{ + public MapData getGameMap(String mapSelected, boolean choseCoremaps) throws DatabaseException{ String mapID = mapSelected.substring(mapSelected.indexOf("(") + 1, mapSelected.length() - 1); if (choseCoremaps) { for (int index = 0; index < coreMaps.size(); index++) { if (coreMaps.get(index).getMapID().equals(mapID)) { - return coreMaps.get(index).getMapID(); + return coreMaps.get(index); } } } else { for (int index = 0; index < communityMaps.size(); index++) { if (communityMaps.get(index).getMapID().equals(mapID)) { - return coreMaps.get(index).getMapID(); + return coreMaps.get(index); } } } @@ -421,7 +421,14 @@ public class Persistence { } public void resetSettings(){ - //implement me (user can click button to reset settings to default values) + settings.setSfxVolume(0.5); + settings.setMusicVolume(0.5); + try { + gsonHandler.saveSettings(settings); + } + catch(Exception e){ + log.error(e); + } } public void resetCoreMaps(){ diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/PlayerStatistics.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/PlayerStatistics.java index 41a54e7e0c69f7a86c324929286748643f5c2221..4f8783f2ee9afb7e50e038047615d63f4eaa8d20 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/PlayerStatistics.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/PlayerStatistics.java @@ -67,6 +67,10 @@ public class PlayerStatistics { return gameTime; } + public int getGameTimeInHours(){ + return gameTime / 3600; + } + protected void addGameTime(int gameTime) { this.gameTime = this.gameTime + gameTime; } 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 c1d4f74649b252ee397dd132ac0d9f850a37aa85..4ed495708bd1d451811c1953ed80cb94b86610de 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 @@ -17,6 +17,7 @@ public class RuntimeInfo { 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 GameState gameState = GameState.MENU; //Default value: MENU @@ -37,7 +38,7 @@ public class RuntimeInfo { return mapDataGame; } - public MapData createMap(String mapName, String mapData) throws ParserException { + public MapData generateMap(String mapName, String mapData) throws ParserException { try { Parser.mapDataValid(mapData); Parser.mapNameValid(mapName); @@ -51,7 +52,8 @@ public class RuntimeInfo { public void setGameMap(String mapSelected, boolean choseCoremaps){ try { - mapDataGame = persistenceInst.getGameMap(mapSelected, choseCoremaps); + mapGame = persistenceInst.getGameMap(mapSelected, choseCoremaps); + mapDataGame = mapGame.getMapData(); } catch(Exception e){ log.error(e); @@ -94,4 +96,4 @@ public class RuntimeInfo { return persistenceInst.getStatistics().getGameTime() / 3600; } -} \ No newline at end of file +}