From 0fb83b69c326e53b392025a8d9392b6cc1698598 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Fri, 10 Feb 2017 13:59:25 +0100 Subject: [PATCH] Allow clicking on empty space to pick the piece (#3) --- core/src/io/github/lonamiwebs/klooni/game/Piece.java | 2 +- .../github/lonamiwebs/klooni/game/PieceHolder.java | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/core/src/io/github/lonamiwebs/klooni/game/Piece.java b/core/src/io/github/lonamiwebs/klooni/game/Piece.java index 5fdedd2..f2f2bff 100644 --- a/core/src/io/github/lonamiwebs/klooni/game/Piece.java +++ b/core/src/io/github/lonamiwebs/klooni/game/Piece.java @@ -21,7 +21,7 @@ public class Piece { final Vector2 pos; final int colorIndex; - final int rotation; + private final int rotation; final int cellCols, cellRows; private boolean shape[][]; diff --git a/core/src/io/github/lonamiwebs/klooni/game/PieceHolder.java b/core/src/io/github/lonamiwebs/klooni/game/PieceHolder.java index 23704cc..9c3ec40 100644 --- a/core/src/io/github/lonamiwebs/klooni/game/PieceHolder.java +++ b/core/src/io/github/lonamiwebs/klooni/game/PieceHolder.java @@ -141,10 +141,16 @@ public class PieceHolder implements BinSerializable { Gdx.input.getX(), Gdx.graphics.getHeight() - Gdx.input.getY()); // Y axis is inverted + final float perPieceWidth = area.width / count; for (int i = 0; i < count; ++i) { - if (pieces[i] != null && pieces[i].getRectangle().contains(mouse)) { - heldPiece = i; - return true; + if (pieces[i] != null) { + Rectangle maxPieceArea = new Rectangle( + area.x + i * perPieceWidth, area.y, perPieceWidth, area.height); + + if (maxPieceArea.contains(mouse)) { + heldPiece = i; + return true; + } } }