Camera Movement and sprites Touch Unity2d android

Hi,
I m developing an android 2d game , i m moving a camera with touch left , right , up and down when i touch anywhere to the device screen it’s moving.
and i have a sprite , when i click on it shows me a message that i m clicking on sprite.
Here is the code that is attached to the camera:

if (Input.touchCount > 0)
            {
                touch = Input.GetTouch(0);
                if (touch.phase == TouchPhase.Began)
                {
                    startPos = touch.position;
                    fingerHold = true;
                }
                else if (touch.phase == TouchPhase.Moved)
                {
                    endPos = touch.position;
                }
                else if (touch.phase == TouchPhase.Ended)
                {
                    fingerHold = false;
                }
            }

            if (fingerHold)
            {

                float deltaX = endPos.x - startPos.x;
                float deltaY = endPos.y - startPos.y;
                bool horizontal = false;

                if (Mathf.Abs(deltaX) > Mathf.Abs(deltaY))
                    horizontal = true;

                if (horizontal)
                {
                    if (deltaX < 0 && transform.position.x < CameraXLimitLeft)
                    {
                        transform.Translate(Vector3.left * Time.deltaTime * 20);
                    }
                    else if (deltaX > 0 && transform.position.x > CameraXLimitRight)
                    {
                        transform.Translate(Vector3.right * Time.deltaTime * 20);
                    }
                }
                else
                {
                    if (deltaY < 0 && transform.position.y < CameraYLimitDown)
                    {
                        transform.Translate(Vector3.down * Time.deltaTime * 20);
                    }
                    else if (deltaY > 0 && transform.position.y > CameraYLimitUp)
                    {
                        transform.Translate(Vector3.up * Time.deltaTime * 20);
                    }
                }
            }

And this is the script that attached to the sprite.

   public GUIText guiTextSprite;
			void OnMouseDown()
			{
				Debug.Log("Test Sprite");
				guiTextSprite.text = "Test Sprite";
				   
			}

PS: in the sprite there is a polygon collider2d , sprite renderer and rigidbody.

The problem that when i touch the sprite the camera still moves. I want when i touch the sprite the camera stop moving and when i touch anywhere to the screen the camera moves

Thanks for your help

i find a solution for my problem here is the script attached to the camera to let the camera moves.

#region Touch Mobile

        if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved)
        {
            Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;
            transform.Translate(-touchDeltaPosition.x * speed * Time.deltaTime, -touchDeltaPosition.y * speed * Time.deltaTime, 0);

            Vector3 tmpPosX = transform.position;
            tmpPosX.x = Mathf.Clamp(tmpPosX.x, -13.0f, 14.0f);
            transform.position = tmpPosX;
            

            Vector3 tmpPosY = transform.position;
            tmpPosY.y = Mathf.Clamp(tmpPosY.y, -7.0f, 18.0f);
            transform.position = tmpPosY;
           
        }
        #endregion 

this script let me move the camera when i touch the screen in the left , right , up and down and let me limit the movement of the camera in X and Y Axis.

for the Sprite here is the script.

public float tapSpeed = 0.5f; 
 
		private float lastTapTime = 0;
		
		 void OnMouseDown()
		{
        if((Time.time - lastTapTime) < tapSpeed)
		{
 
			Debug.Log("Double tap");
 
		}	
 
			lastTapTime = Time.time;
			
		}

This script is attached to the spriteand let you Double tap the sprite and when i double tap on sprite , the camera doesn’t move.