From a3fc30b214180cbb870e5654096c81705a4ea5b6 Mon Sep 17 00:00:00 2001
From: "v.tarantik" <v.tarantik@gmail.com>
Date: Thu, 6 Aug 2015 15:54:23 +0200
Subject: [PATCH] #32 Pieces scaling after switch animation

---
 .../cz/nic/tablexia/game/games/pursuit/PursuitGame.java  | 1 +
 .../game/games/pursuit/action/MovePieceToPosition.java   | 9 ---------
 .../game/games/pursuit/action/SwitchPiecesAction.java    | 4 ++--
 .../cz/nic/tablexia/game/games/pursuit/model/Grid.java   | 7 +++++++
 .../util/listener/DragAndRotateActorListener.java        | 1 -
 5 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/core/src/cz/nic/tablexia/game/games/pursuit/PursuitGame.java b/core/src/cz/nic/tablexia/game/games/pursuit/PursuitGame.java
index f6561542a..a6986b417 100644
--- a/core/src/cz/nic/tablexia/game/games/pursuit/PursuitGame.java
+++ b/core/src/cz/nic/tablexia/game/games/pursuit/PursuitGame.java
@@ -86,6 +86,7 @@ public class PursuitGame extends AbstractTablexiaGame<Void> {
                             movesCounter++;
                             dragAndRotateActorListener.setDraggedActor(null);
                             dragAndRotateActorListener.setPerformingAction(false);
+                            grid.unscaleAllPieces();
                             //cancelling all actions on actor that would take place after piece was moved in correct position
                             Array<Action> gridActions = grid.getActions();
                             if(gridActions.size>0){
diff --git a/core/src/cz/nic/tablexia/game/games/pursuit/action/MovePieceToPosition.java b/core/src/cz/nic/tablexia/game/games/pursuit/action/MovePieceToPosition.java
index e96f3bc25..6ad2e79bd 100644
--- a/core/src/cz/nic/tablexia/game/games/pursuit/action/MovePieceToPosition.java
+++ b/core/src/cz/nic/tablexia/game/games/pursuit/action/MovePieceToPosition.java
@@ -19,16 +19,7 @@ public class MovePieceToPosition extends SequenceAction {
     public MovePieceToPosition(final PuzzlePiece draggedPiece, Point dest){
         setActor(draggedPiece);
         setTarget(draggedPiece);
-        Action postMovementAction = new Action() {
-            @Override
-            public boolean act(float delta) {
-                draggedPiece.setScale(1);
-                draggedPiece.setZIndex(1);
-                return true;
-            }
-        };
         addAction(Actions.moveTo(dest.x, dest.y, DragAndRotateActorListener.MOVETO_ANIMATION_DURATION));
-        addAction(postMovementAction);
     }
 
     public MovePieceToPosition(final PuzzlePiece draggedPiece, Point dest,Action finalAction){
diff --git a/core/src/cz/nic/tablexia/game/games/pursuit/action/SwitchPiecesAction.java b/core/src/cz/nic/tablexia/game/games/pursuit/action/SwitchPiecesAction.java
index 552c627b3..ca633b5fc 100644
--- a/core/src/cz/nic/tablexia/game/games/pursuit/action/SwitchPiecesAction.java
+++ b/core/src/cz/nic/tablexia/game/games/pursuit/action/SwitchPiecesAction.java
@@ -12,10 +12,10 @@ import cz.nic.tablexia.util.Log;
  * Created by Václav Tarantík on 3.8.15.
  */
 public class SwitchPiecesAction extends SequenceAction {
-    public SwitchPiecesAction(final PuzzlePiece draggedPiece, Point draggedPieceRelativePosition, final PuzzlePiece overlappedPiece, Point overlappedPieceRelativePosition, Action onActionFinishedAction){
+    public SwitchPiecesAction(final PuzzlePiece draggedPiece, Point draggedPieceRelativePosition, final PuzzlePiece overlappedPiece, Point overlappedPieceRelativePosition, Action onSwitchFinishedAction){
         addAction(Actions.parallel(new MovePieceToPosition(draggedPiece, overlappedPieceRelativePosition),
                 new MovePieceToPosition(overlappedPiece, draggedPieceRelativePosition)));
-        addAction(onActionFinishedAction);
+        addAction(onSwitchFinishedAction);
 
         int overlappedPieceActualPosition = overlappedPiece.getActualPosition();
         int draggedPieceActualPosition = draggedPiece.getActualPosition();
diff --git a/core/src/cz/nic/tablexia/game/games/pursuit/model/Grid.java b/core/src/cz/nic/tablexia/game/games/pursuit/model/Grid.java
index 49d18b862..d64fa95dc 100644
--- a/core/src/cz/nic/tablexia/game/games/pursuit/model/Grid.java
+++ b/core/src/cz/nic/tablexia/game/games/pursuit/model/Grid.java
@@ -123,6 +123,13 @@ public class Grid extends Group {
         }
     }
 
+    public void unscaleAllPieces(){
+        for (PuzzlePiece piece : piecesMap.values()) {
+            piece.setZIndex(1);
+            piece.setScale(1f);
+        }
+    }
+
     public void switchPieces(PuzzlePiece draggedPiece, PuzzlePiece overlappedPiece,Action moveAction) {
         if (draggedPiece != null) {
             int draggedPieceActualPosition = draggedPiece.getActualPosition();
diff --git a/core/src/cz/nic/tablexia/util/listener/DragAndRotateActorListener.java b/core/src/cz/nic/tablexia/util/listener/DragAndRotateActorListener.java
index 86662b639..b13f702ad 100644
--- a/core/src/cz/nic/tablexia/util/listener/DragAndRotateActorListener.java
+++ b/core/src/cz/nic/tablexia/util/listener/DragAndRotateActorListener.java
@@ -109,7 +109,6 @@ public class DragAndRotateActorListener extends InputListener {
             if (activePointers.size() == 0) {
                 dropped(x, y, draggedActor);
             } else if (activePointers.size() > 0) {
-
                 //if user raised the dragging finger, animate piece under second finger
                 Point currentFirstPointer = activePointers.get(activePointers.keySet().toArray()[0]);
                 if (draggingFingerLifted) {
-- 
GitLab