public void MovePieceWhenFirstSelectedSlotIsMovableAndSecondCanReceivePiece() { //TODO: Slot tem que dar a posição dele e não da peça, pq tem slots q não possuem peça Vector2 pieceDestinePosition = new Vector2(1, 2); SlotSelection slotSelection = CreateSlotSelection(); GameObject pieceObject = CreatePieceObject(); GridItemMover pieceMover = pieceObject.GetComponent <GridItemMover>(); PieceTranslationController firstPieceTranslationController = CreatePieceTranslationController(pieceObject); PieceDestinationController firstPieceDestinationController = CreatePieceDestinationController(firstPieceTranslationController, pieceMover); firstPieceDestinationController.SetMovable(); Positioner slotPositioner = CreateSlotPositioner(pieceDestinePosition); Slot slot1 = CreateSlot(slotSelection, firstPieceDestinationController, slotPositioner); GameObject pieceObject2 = CreatePieceObject(); GridItemMover pieceMover2 = pieceObject2.GetComponent <GridItemMover>(); PieceTranslationController secondPieceTranslationController = CreatePieceTranslationController(pieceObject2); PieceDestinationController secondPieceDestinationController = CreatePieceDestinationController(secondPieceTranslationController, pieceMover2); secondPieceDestinationController.SetEmpty(); Positioner slotPositioner2 = CreateSlotPositioner(pieceDestinePosition); Slot slot2 = CreateSlot(slotSelection, secondPieceDestinationController, slotPositioner2); slot1.Touch(); slot2.Touch(); Assert.AreEqual(pieceDestinePosition, pieceMover.Position); }
private void SetNeighborMovable() { List <GameObject> neighbors = slotGridItemMover.GetNeighbors(); foreach (GameObject neighbor in neighbors) { PieceDestinationController currentNeighborPieceDestinationController = neighbor.GetComponent <PieceDestinationController>(); currentNeighborPieceDestinationController.SetMovable(); } }
public void MovePieceWhenDestinationControlerIsMovingState() { Vector2 pieceDestinePosition = new Vector2(1, 2); GridItemMover pieceMover = CreatePieceMover(); PieceTranslationController pieceTranslationController = CreatePieceTranslationController(pieceMover); PieceDestinationController pieceDestinationController = CreatePieceDestinationController(pieceTranslationController, pieceMover); pieceDestinationController.SetMovable(); pieceDestinationController.TakePieceToPosition(pieceDestinePosition); Assert.AreEqual(pieceDestinePosition, pieceMover.Position); }
public void SelectTwoSlotsByTouching() { SlotSelection slotSelection = CreateSlotSelection(); PieceDestinationController firstPieceDestinationController = CreatePieceDestinationController(); firstPieceDestinationController.SetMovable(); PieceDestinationController secondPieceDestinationController = CreatePieceDestinationController(); firstPieceDestinationController.SetEmpty(); Slot slot1 = CreateSlot(slotSelection, firstPieceDestinationController); Slot slot2 = CreateSlot(slotSelection, secondPieceDestinationController); slot1.Touch(); slot2.Touch(); Assert.AreEqual(0, slotSelection.SelectedSlotSevers.Count); }
public void FirstIsMovableAndSecondIsEmpty() { PieceDestinationController firstPieceDestinationController = CreatePieceDestinationController(); PieceDestinationController secondPieceDestinationController = CreatePieceDestinationController(); firstPieceDestinationController.SetMovable(); secondPieceDestinationController.SetEmpty(); SlotSelectionServer slotSelectionServer = new StubSlotSelectionServer(true, false, CreatePieceObject()); Assert.IsTrue(firstPieceDestinationController.CanMovePiece()); Assert.IsTrue(secondPieceDestinationController.CanReceivePiece()); firstPieceDestinationController.TakePiece(); secondPieceDestinationController.ReceivePieceFromSlot(slotSelectionServer); Assert.IsTrue(secondPieceDestinationController.State is MovableState); Assert.IsTrue(firstPieceDestinationController.State is EmptyState); }
public void TouchingFirstThatCanTakePieceAndSecondThatCanReceive() { SlotSelection slotSelection = CreateSlotSelection(); PieceDestinationController firstPieceDestinationController = CreatePieceDestinationController(); firstPieceDestinationController.SetMovable(); PieceDestinationController secondPieceDestinationController = CreatePieceDestinationController(); secondPieceDestinationController.SetEmpty(); Slot slot1 = CreateSlot(slotSelection, firstPieceDestinationController); Slot slot2 = CreateSlot(slotSelection, secondPieceDestinationController); slot1.Touch(); slot2.Touch(); Assert.IsTrue(firstPieceDestinationController.CanReceivePiece()); Assert.IsTrue(secondPieceDestinationController.CanMovePiece()); Assert.IsFalse(firstPieceDestinationController.CanMovePiece()); Assert.IsFalse(secondPieceDestinationController.CanReceivePiece()); }
public void SelectingTheThirdWillResetSelecting() { SlotSelection slotSelection = CreateSlotSelection(); PieceDestinationController firstPieceDestinationController = CreatePieceDestinationController(); firstPieceDestinationController.SetMovable(); PieceDestinationController secondPieceDestinationController = CreatePieceDestinationController(); secondPieceDestinationController.SetEmpty(); PieceDestinationController thirdPieceDestinationController = CreatePieceDestinationController(); thirdPieceDestinationController.SetMovable(); Slot slot1 = CreateSlot(slotSelection, firstPieceDestinationController); Slot slot2 = CreateSlot(slotSelection, secondPieceDestinationController); Slot slot3 = CreateSlot(slotSelection, thirdPieceDestinationController); slot1.Touch(); slot2.Touch(); slot3.Touch(); Assert.AreEqual(1, slotSelection.SelectedSlotSevers.Count); Assert.AreEqual(slot3, slotSelection.SelectedSlotSevers[0]); }
public void ReceivePiece(PieceDestinationController pieceDestinationController, SlotSelectionServer slotSelectionServer) { pieceDestinationController.SetMovable(); pieceDestinationController.Piece = slotSelectionServer.Piece; pieceDestinationController.TurnFixedAllNeighborButOne(slotSelectionServer); }
public void SetMovable() { pieceDestinationController.SetMovable(); }