public GameObject GetRandomEmptySlotObject() { int randomRow = Random.Range(0, slotGrid.Height); int randomColumn = Random.Range(0, slotGrid.Width); GameObject randomSlot = slotGrid.GetGridItemObjectByRowColumn(randomRow, randomColumn); PieceDestinationController pieceDestinationController = randomSlot.GetComponent <PieceDestinationController>(); GameObject.DestroyImmediate(pieceDestinationController.Piece); pieceDestinationController.SetEmpty(); pieceDestinationController.Clean(); return(randomSlot); }
public void WhenEmptyStateAllNeighBorAreMovable() { grid = CreateSlotGrid(3, 3); PieceDestinationController currentSlot = GetSlotByRowAndColumn(1, 1); PieceDestinationController leftNeighbor = GetSlotByRowAndColumn(1, 0); PieceDestinationController rightNeighbor = GetSlotByRowAndColumn(1, 2); PieceDestinationController upNeighbor = GetSlotByRowAndColumn(0, 1); PieceDestinationController bottomNeighbor = GetSlotByRowAndColumn(2, 1); currentSlot.SetEmpty(); currentSlot.Clean(); Assert.IsTrue(currentSlot.CanReceivePiece()); Assert.IsTrue(leftNeighbor.CanMovePiece()); Assert.IsTrue(upNeighbor.CanMovePiece()); Assert.IsTrue(rightNeighbor.CanMovePiece()); Assert.IsTrue(bottomNeighbor.CanMovePiece()); }
public void Clean() { pieceDestinationController.Clean(); }
public void TakePieceFromSlot(PieceDestinationController pieceDestinationController, Vector2 pieceDestinePosition) { pieceDestinationController.SetEmpty(); pieceDestinationController.MovePieceToDestinePosition(pieceDestinePosition); pieceDestinationController.Clean(); }