how to add a click and drag event on an empty game object

I already have a script for the drag event(MouseRotateBullet, MouseRotateBarrel, and RotateBullet) but my problem is every where in the field i click and drag the object drags. I want to make a game object that will trigger the action of this scripts. That whenever i click and drag that object that’s the time when the barrel will move not affecting the whole field. I already have a script for calling those scripts

		var obja = GameObject.Find("GunBarrel");
	var scripta = obja.GetComponent("MouseRotateBarrel");
	var objb = GameObject.Find("Cube");
	var scriptb = objb.GetComponent("MouseRotateBullet");
	var scriptc = objb.GetComponent("RotateBullet");

my only problem is what event am i going to use this codes and how am i supposed to do that and put it in an empty game object.

Try a different approach. Generally you should not be calling the Update yourself - if the component is enabled then Unity will do that for you at the correct time ie during every frame update.

Instead handle your rotation internally in each script. First ensure that you have an appropriate collider for each object you wish to drag & rotate.

Add an OnMouseDown function and set a boolean value (eg userIsDragging = true)
Add an OnMouseUp function to reset the boolean value (userIsDragging = false)
Then during your update you can apply your rotation if userIsDragging is true.

See for descriptions on the mouse events.