Example #1
0
    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();
            }
        }
    }