From 387d5cc48e29340f766aa3243128c9ac2c4f4c9a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Drahom=C3=ADr=20Karch=C5=88=C3=A1k?=
 <drahomir.karchnak@nic.cz>
Date: Fri, 27 May 2016 10:58:48 +0200
Subject: [PATCH] #348 Fixed a performance issue after playing nightwatch over
 and over again...

---
 .../nic/tablexia/game/games/kidnapping/KidnappingGame.java | 1 -
 .../game/games/shooting_range/ShootingRangeGame.java       | 7 -------
 .../src/cz/nic/tablexia/screen/AbstractTablexiaScreen.java | 3 +++
 3 files changed, 3 insertions(+), 8 deletions(-)

diff --git a/core/src/cz/nic/tablexia/game/games/kidnapping/KidnappingGame.java b/core/src/cz/nic/tablexia/game/games/kidnapping/KidnappingGame.java
index 6c02ba21d..aa064f28f 100644
--- a/core/src/cz/nic/tablexia/game/games/kidnapping/KidnappingGame.java
+++ b/core/src/cz/nic/tablexia/game/games/kidnapping/KidnappingGame.java
@@ -105,7 +105,6 @@ public class KidnappingGame extends AbstractTablexiaGame<GameState> {
 
     @Override
     protected void gameLoaded(final java.util.Map<String, String> gameState) {
-		getStage().clear();
 		getStage().addActor(map = Map.MapFactory.createInstance(this, gfxLibrary, getData()));
 		map.setMapScale(MAP_SCALE);
 
diff --git a/core/src/cz/nic/tablexia/game/games/shooting_range/ShootingRangeGame.java b/core/src/cz/nic/tablexia/game/games/shooting_range/ShootingRangeGame.java
index 401a48026..f9638055c 100644
--- a/core/src/cz/nic/tablexia/game/games/shooting_range/ShootingRangeGame.java
+++ b/core/src/cz/nic/tablexia/game/games/shooting_range/ShootingRangeGame.java
@@ -202,7 +202,6 @@ public class ShootingRangeGame extends AbstractTablexiaGame<GameState> {
     @Override
     protected void gameLoaded(Map<String, String> gameState) {
         getStage().setDebugAll(TablexiaSettings.getInstance().isShowBoundingBoxes());
-        super.gameLoaded(gameState);
         initScene();
 
         // Create new hit evaluator
@@ -344,12 +343,6 @@ public class ShootingRangeGame extends AbstractTablexiaGame<GameState> {
 		}));
     }
 
-    @Override
-    protected void gameEnd() {
-        getStage().clear();
-        super.gameEnd();
-    }
-
     /**
      * Create scene with watch, carousel and background
      */
diff --git a/core/src/cz/nic/tablexia/screen/AbstractTablexiaScreen.java b/core/src/cz/nic/tablexia/screen/AbstractTablexiaScreen.java
index f84682f2a..c84fc188e 100644
--- a/core/src/cz/nic/tablexia/screen/AbstractTablexiaScreen.java
+++ b/core/src/cz/nic/tablexia/screen/AbstractTablexiaScreen.java
@@ -556,6 +556,9 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter {
         Log.info(getClass(), "[ ------- Screen Loaded ------- ]");
         // reset screen state after loading screen with state
         TablexiaStorage.getInstance().resetScreenState(this);
+
+        //Clear the stage (Makes sure every game starts with empty stage)
+        getStage().clear();
         screenLoaded(screenState);
 
         if(getSelectedUser() != null) { //this happens in LoaderScreen, when no user is selected yet
-- 
GitLab