From c9837c78ba58711dc7a1d5b9a2b3941040e81760 Mon Sep 17 00:00:00 2001
From: Vitaliy Vashchenko <vitaliy.vashchenko@nic.cz>
Date: Tue, 20 Sep 2016 12:15:34 +0200
Subject: [PATCH] #524 Corrected holder repositioning when going outside the
 stage bounds.

---
 core/src/cz/nic/tablexia/game/games/runes/RunesGame.java    | 3 +--
 .../nic/tablexia/game/games/runes/actors/RunesHolder.java   | 6 ++++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/core/src/cz/nic/tablexia/game/games/runes/RunesGame.java b/core/src/cz/nic/tablexia/game/games/runes/RunesGame.java
index 9057abde0..0619ff2ff 100644
--- a/core/src/cz/nic/tablexia/game/games/runes/RunesGame.java
+++ b/core/src/cz/nic/tablexia/game/games/runes/RunesGame.java
@@ -40,7 +40,6 @@ import cz.nic.tablexia.shared.model.Game;
 import cz.nic.tablexia.util.Log;
 import cz.nic.tablexia.util.Utility;
 import cz.nic.tablexia.util.ui.TablexiaLabel;
-import cz.nic.tablexia.util.ui.actionwidget.Action;
 import cz.nic.tablexia.util.ui.dialog.components.FixedSpaceContentDialogComponent;
 import cz.nic.tablexia.util.ui.dialog.components.TablexiaDialogComponentAdapter;
 import cz.nic.tablexia.util.ui.dialog.components.TextContentDialogComponent;
@@ -52,7 +51,7 @@ public class RunesGame extends AbstractTablexiaGame<RunesGameState> {
 
     private static final int ONE_SECOND_DELAY = 1;
 
-    private static final float SIDEBAR_RELATIVE_WIDTH       = 0.17f;
+    public static final float SIDEBAR_RELATIVE_WIDTH       = 0.17f;
     private static final int   SIDEBAR_ITEMS_PAD            = 10;
     private static final float TARGET_PLATE_RELATIVE_HEIGHT = 0.45f;
     private static final float HEALTHBAR_RELATIVE_HEIGHT = 0.2f;
diff --git a/core/src/cz/nic/tablexia/game/games/runes/actors/RunesHolder.java b/core/src/cz/nic/tablexia/game/games/runes/actors/RunesHolder.java
index c1e81fc11..e7c643bd6 100644
--- a/core/src/cz/nic/tablexia/game/games/runes/actors/RunesHolder.java
+++ b/core/src/cz/nic/tablexia/game/games/runes/actors/RunesHolder.java
@@ -14,6 +14,7 @@ import cz.nic.tablexia.TablexiaSettings;
 import cz.nic.tablexia.game.common.TablexiaRandom;
 import cz.nic.tablexia.game.common.media.GfxLibrary;
 import cz.nic.tablexia.game.difficulty.GameDifficulty;
+import cz.nic.tablexia.game.games.runes.RunesGame;
 import cz.nic.tablexia.game.games.runes.helper.PositionDefinition;
 import cz.nic.tablexia.game.games.runes.helper.RuneDescription;
 import cz.nic.tablexia.game.games.runes.model.RunesDifficultyDefinition;
@@ -173,11 +174,12 @@ public class RunesHolder extends Group {
             setTouchable(Touchable.childrenOnly);
             toFront();
             prevX = getX();
+            float stageWidth = getStage().getWidth() * (1-RunesGame.SIDEBAR_RELATIVE_WIDTH);
             float prevMid = prevX + getWidth() * 0.5f * getScaleX();
             setScale(UNFOLDED_SCALE);
             float newX = prevMid - getWidth() * getScaleX() * 0.5f;
-            if (newX + getWidth() * getScaleX() >= getStage().getWidth() - PAD) {
-                setX(getStage().getWidth() - PAD - getWidth() * getScaleX());
+            if (newX + getWidth() * getScaleX() >= stageWidth - PAD) {
+                setX(stageWidth - PAD - getWidth() * getScaleX());
             } else if (newX <= 0) {
                 setX(PAD);
             } else {
-- 
GitLab