Unity 2D Player Shoots at my joystick position


Hi I am new to unity and have only a little coding knowledge. Right now I have made my character shoot at my touch position on mobile but when ever I touch the joystick, whick I use to move my character, he shoots there, what should I do to make him not shoot at the joystick when i hold the joystick, any suggestion… heres my code.

Shooting code

public class Shooting : MonoBehaviour { public GameObject shot; private Transform playerPos;

void Start() {     playerPos = GetComponent<Transform>(); } void Update() {          if (Input.GetTouch(0).phase == TouchPhase.Began)         {          Instantiate(shot, playerPos.position, Quaternion.identity);         }         else if (Input.GetTouch(1).phase == TouchPhase.Began)         {             Instantiate(shot, playerPos.position, Quaternion.identity);         }     else if (Input.GetTouch(2).phase == TouchPhase.Began)     {         Instantiate(shot, playerPos.position, Quaternion.identity);     }   } 

}

Projectile Code

public class Projectile : MonoBehaviour { private Vector2 target; public float speed; private Shake shake; void Start() { shake = GameObject.FindGameObjectWithTag("ScreenShake").GetComponent(); target = Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position); target = Camera.main.ScreenToWorldPoint(Input.GetTouch(1).position); target = Camera.main.ScreenToWorldPoint(Input.GetTouch(2).position); }

// Update is called once per frame void Update() {     transform.position = Vector2.MoveTowards(transform.position, target, speed * Time.deltaTime);      if(Vector2.Distance(transform.position, target) < 0.2f)     {         Destroy(gameObject);     }                } void OnTriggerEnter2D(Collider2D other) {     shake.CamShake(); } 

}

Thanks in advance