Chess.Data.Entities.ChessPiece.HasCollision C# (CSharp) Method

HasCollision() protected method

protected HasCollision ( Square board, Move move ) : bool
board Square
move Move
return bool
        protected bool HasCollision(Square[][] board, Move move)
        {
            var rowModifier = GetMovementModifier(move.RowChange);
            var columnModifier = GetMovementModifier(move.ColumnChange);

            var row = move.StartRow + rowModifier;
            var column = move.StartColumn + columnModifier;

            while (row != move.EndRow || column != move.EndColumn)
            {
                if (!InBounds(row, column))
                    return true; //out of bounds
                if (board[row][column].ChessPiece != null)
                    return true; //collison

                row += rowModifier;
                column += columnModifier;
            }
            return false;
        }