GUITexture touch switch between two cameras

Hi, I have a main camera with GUITexture buttons controlled by touch on iOS, my problem is when I press the fire button when using the Bazooka I’ve scripted it so I initiate a camera to follow the RPG so the view is of the RPG going to its target and after the impact and explosion it returns back to the main camera

The problem is when it returns back to the main camera the touch is still registered because the finger was still on the fire button while the camera switched, so as soon as I touch anywhere on the screen when back to the main camera another RPG is fired until I touch the fire button again to release the touch.

So my question is whats the best way to release the touch from another camera, can more than one camera share the touch index or pass it over ?

Thanks.

I like to create a coroutine and wait for the finger to be released. Hope this helps!

void Update () 
	{
		
		
		if(isTouching == true)
			return;
		for(int i = 0; i < Input.touchCount; i++)
		{
			Vector3 pos = Input.touches*.position;*
  •  	if(guiTextureButton.HitTest(pos, uiCamera) == true)*
    
  •  	{*
    

_ StartCoroutine(tapCoRoutine(Input.touches*.fingerId));_
_
}_
_
}_
_
}*_

IEnumerator tapCoRoutine(int id)
* {*
* isTouching = true;*
* bool isDown = true;*
* while(isDown == true)*
* {*
* yield return null;*

* isDown = false;*

* for(int i = 0; i < Input.touchCount; i++)*
* {*
_ if(Input.touches*.fingerId == id)
{
isDown = true;
break;
}
}
}*_

* //TODO: handle press*
* m_ShowGUI = true;
_ }*_