diff --git a/frontend/core/src/com/gameware/game/GameWare.java b/frontend/core/src/com/gameware/game/GameWare.java index 9818b0018786bd39b0b153246d49327172a89ecd..0c6c0c42ea60b32f96753b88e1159f2907356bb8 100644 --- a/frontend/core/src/com/gameware/game/GameWare.java +++ b/frontend/core/src/com/gameware/game/GameWare.java @@ -18,7 +18,7 @@ import com.gameware.game.states.MenuState; import com.gameware.game.states.PlayStateTemplate; import com.gameware.game.states.LoginState; -import java.io.File; + import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; @@ -198,8 +198,6 @@ public class GameWare extends ApplicationAdapter { LocalStorage ls = new LocalStorage(player, musicOn, soundEffects, includeFin); String lsString = json.toJson(ls); file.writeString(lsString, false); - System.out.println(file.readString()); - } private void readFromLocalStorage() { @@ -211,6 +209,5 @@ public class GameWare extends ApplicationAdapter { if(ls.getMusicOn() != null) { musicOn = ls.getMusicOn(); } if(ls.getSoundEffects()!=null){ soundEffects = ls.getSoundEffects(); } if(ls.getIncludeFin() != null) { includeFin = ls.getIncludeFin(); } - System.out.println(file.readString()); } } diff --git a/frontend/core/src/com/gameware/game/QueryIntermediate.java b/frontend/core/src/com/gameware/game/QueryIntermediate.java index b46bbb421072e9586d702becc7ea82cddd28b7e8..61e3900bb1fa66804509559723bb6a90a9eedc6c 100644 --- a/frontend/core/src/com/gameware/game/QueryIntermediate.java +++ b/frontend/core/src/com/gameware/game/QueryIntermediate.java @@ -11,6 +11,7 @@ import com.badlogic.gdx.utils.JsonReader; import com.badlogic.gdx.utils.JsonValue; import com.gameware.game.models.Game; import com.gameware.game.models.Highscore; +import com.gameware.game.models.ModelInterface; import com.gameware.game.models.Player; import com.gameware.game.models.Point; import com.gameware.game.models.Round; @@ -278,16 +279,28 @@ public class QueryIntermediate { return round; } - public static Round putRoundScore(String roundId, String tournamentId, int score) - throws IOException, NoSuchElementException { + public static List<ModelInterface> putRoundScore(String roundId, String tournamentId, int score) throws IOException, NoSuchElementException { String route = "rounds/" + roundId + "/" + tournamentId; Map<String, String> params = new HashMap<>(); + List<ModelInterface> models = new ArrayList<>(); params.put("scoreValue", Integer.toString(score)); String[] response = sendPutRequest(route, params); checkStatusCode(response); - Round round = json.fromJson(Round.class, response[1]); + JsonValue base = jsonReader.parse(response[1]); + + String roundString = base.get("round").toString(); + String roundCheckString = base.get("roundCheck").toString(); + + System.out.println(roundCheckString); + System.out.println(roundCheckString.substring(roundCheckString.indexOf("{"))); + + Round round = json.fromJson(Round.class, roundString.substring(roundString.indexOf("{"))); + RoundCheck roundCheck = json.fromJson(RoundCheck.class, roundCheckString.substring(roundCheckString.indexOf("{"))); checkObjectNotNull(round); - return round; + checkObjectNotNull(roundCheck); + models.add(round); + models.add(roundCheck); + return models; } // ---------------- Player methods ---------------- diff --git a/frontend/core/src/com/gameware/game/models/RoundCheck.java b/frontend/core/src/com/gameware/game/models/RoundCheck.java index fb0da2900028f20033199149a4718754745b88d2..481d24dafd178770078af32cf23c7861dbae4034 100644 --- a/frontend/core/src/com/gameware/game/models/RoundCheck.java +++ b/frontend/core/src/com/gameware/game/models/RoundCheck.java @@ -24,7 +24,11 @@ public class RoundCheck implements ModelInterface { } @Override - public String report() {return new Json().toJson(this);} + public String report() { + Json json = new Json(); + json.setUsePrototypes(false); + return json.toJson(this); + } @Override public String toString() { diff --git a/frontend/core/src/com/gameware/game/states/PlayStateTemplate.java b/frontend/core/src/com/gameware/game/states/PlayStateTemplate.java index 631c6fe31b2587d078e760f01b7ea771266d1b67..069e060559940f3eb678e8b877d5988d0ca2fc78 100644 --- a/frontend/core/src/com/gameware/game/states/PlayStateTemplate.java +++ b/frontend/core/src/com/gameware/game/states/PlayStateTemplate.java @@ -6,6 +6,7 @@ import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.gameware.game.GameWare; import com.gameware.game.QueryIntermediate; +import com.gameware.game.models.ModelInterface; import com.gameware.game.models.Round; import com.gameware.game.models.RoundCheck; import com.gameware.game.models.Tournament; @@ -13,6 +14,7 @@ import com.gameware.game.sprites.LoadingText; import com.gameware.game.sprites.PauseButton; import java.io.IOException; +import java.util.List; public abstract class PlayStateTemplate extends State { @@ -119,7 +121,8 @@ public abstract class PlayStateTemplate extends State { if(round==null) { QueryIntermediate.postHighscore(GameWare.getInstance().getPlayer().getId(), gameId, this.score); } else{ - updatedRound = QueryIntermediate.putRoundScore(round.get_id(),tournament.get_id(), this.score); + List<ModelInterface> updatedRoundModels = QueryIntermediate.putRoundScore(round.get_id(),tournament.get_id(), this.score); + updatedRound = (Round) updatedRoundModels.get(0); } }