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