From 0af6bc8c09bf86aeaa49301209a97ad98d6785ca Mon Sep 17 00:00:00 2001 From: yugecin Date: Thu, 19 Jan 2017 19:52:13 +0100 Subject: [PATCH] return to songmenu when closing game ranking screen --- src/itdelatrisu/opsu/states/Game.java | 8 ++++++-- src/itdelatrisu/opsu/states/GameRanking.java | 11 +++++++++++ src/itdelatrisu/opsu/states/SongMenu.java | 2 +- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/itdelatrisu/opsu/states/Game.java b/src/itdelatrisu/opsu/states/Game.java index c3d555f6..53200135 100644 --- a/src/itdelatrisu/opsu/states/Game.java +++ b/src/itdelatrisu/opsu/states/Game.java @@ -1894,7 +1894,9 @@ public class Game extends ComplexOpsuState { * Resets all game data and structures. */ public void resetGameData() { - data.clear(); + if (data != null) { + data.clear(); + } objectIndex = 0; breakIndex = 0; breakTime = 0; @@ -1916,7 +1918,9 @@ public class Game extends ComplexOpsuState { autoMousePosition = new Vec2f(); autoMousePressed = false; flashlightRadius = displayContainer.height * 2 / 3; - scoreboardStarStream.clear(); + if (scoreboardStarStream != null) { + scoreboardStarStream.clear(); + } gameFinished = false; gameFinishedTimer.setTime(0); diff --git a/src/itdelatrisu/opsu/states/GameRanking.java b/src/itdelatrisu/opsu/states/GameRanking.java index 6a92d44b..fdec21fc 100644 --- a/src/itdelatrisu/opsu/states/GameRanking.java +++ b/src/itdelatrisu/opsu/states/GameRanking.java @@ -220,6 +220,17 @@ public class GameRanking extends BaseOpsuState { } } + @Override + public boolean onCloseRequest() { + SongMenu songmenu = instanceContainer.provide(SongMenu.class); + if (data != null && data.isGameplay()) { + songmenu.resetTrackOnLoad(); + } + songmenu.resetGameDataOnLoad(); + displayContainer.switchState(SongMenu.class); + return false; + } + /** * Returns to the song menu. */ diff --git a/src/itdelatrisu/opsu/states/SongMenu.java b/src/itdelatrisu/opsu/states/SongMenu.java index ee06bb49..d1b98ac6 100644 --- a/src/itdelatrisu/opsu/states/SongMenu.java +++ b/src/itdelatrisu/opsu/states/SongMenu.java @@ -1025,7 +1025,7 @@ public class SongMenu extends ComplexOpsuState { if (button != Input.MOUSE_RIGHT_BUTTON) { // view score instanceContainer.provide(GameRanking.class).setGameData(new GameData(focusScores[rank], displayContainer.width, displayContainer.height)); - // TODO d displayContainer.switchState(GameRanking.class); + displayContainer.switchState(GameRanking.class); } else { // score management instanceContainer.provide(ButtonMenu.class).setMenuState(MenuState.SCORE, focusScores[rank]);