public void MovePiece(GameObject boardSpace) { if (_selectedPieces.Count != 0) { var gamePieceToMove = _selectedPieces[0]; var boardSpacePosition = boardSpace.transform.position; var boardSpaceRow = boardSpace.GetComponent <BoardSpaces>().GetBoardSpaceRow(); var boardSpaceColumn = boardSpace.GetComponent <BoardSpaces>().GetBoardSpaceColumn(); var gamePiece = gamePieceToMove.GetComponent <GamePiece>(); var gamePieceAtSpecificBoardSpace = _boardManager.GetGamePieceAtSpecificBoardSpace(boardSpaceRow, boardSpaceColumn); if (gamePieceAtSpecificBoardSpace == null || (gamePiece.GetSize() > _boardManager.GetGamePieceAtSpecificBoardSpace(boardSpaceRow, boardSpaceColumn).GetSize())) { gamePiece.SetIsInPlay(true); gamePieceToMove.transform.position = new Vector3(boardSpacePosition.x, boardSpacePosition.y + .5f, boardSpacePosition.z); OutlinePiece(_selectedPieces[0]); _boardManager.AddGamePieceToGameBoard(boardSpaceRow, boardSpaceColumn, gamePiece); if (_boardManager.IsGameOver(gamePiece.GetPlayer())) { _gameManager.EndGame(gamePiece.GetPlayer()); } var outline = boardSpace.GetComponent <Outline>(); outline.OutlineMode = Outline.Mode.RemoveAll; _playerManager.ChangeTurns(); } } }