Detecting collision switch while maintaining game functionality

Hi everyone,
I have created a random generator for a prefab called “Tunnel”.
Whenever i collide with a tunnel prefab, i wish to keep the game running.
If i am no longer colliding with a tunnel i wish the game to stop.

The game works fine for the first tunnel, but when i reach the end of the first tunnel (start of the second - they overlap), my “OnTriggerExit2D” function stops the game.

Is there a way to tell my “OnTriggerExit2D” to check if i’m colliding with a different tunnel?

Here’s my code:

    void OnTriggerEnter2D(Collider2D other)
    	{
    		Debug.Log (other.gameObject.tag);
    		if (other.gameObject.CompareTag ("LeftTunnel")) {
    			touchRef.onTunnelL = true;
    		}
    		if (other.gameObject.CompareTag ("RightTunnel")) {

    			touchRef.onTunnelR = true;
    		} 
    
    	}
    
    	void OnTriggerExit2D(Collider2D other)
    	{
    		if(other.gameObject.CompareTag("LeftTunnel"))
    		{
    			touchRef.OnTriggerExit2Dchild();
    			touchRef.onTunnelL = false;
    		}
    
    		if(other.gameObject.CompareTag("RightTunnel"))
    		{
    			touchRef.OnTriggerExit2Dchild();
    			touchRef.onTunnelR = false;
    		}
    	}

so, after consulting with some people i decided to change the hole mechanism to work with ray casting. it works gr8 now. here’s the code for any1 in the future(i call cast function on Update):

void Cast()                                                                                                                                        
	{
		for (int i = 0; i < Input.touchCount; ++i)
		{
			Vector2 test = Camera.main.ScreenToWorldPoint(Input.GetTouch(i).position);
			RaycastHit2D hit = Physics2D.Raycast(test, (Input.GetTouch(i).position));
			Vector2 touchPos = new Vector2(test.x, test.y);
			onLeft(touchPos);
			onRight(touchPos);

		}
	}
	void onLeft(Vector2 touchPos){
		Collider2D tempL;
		if (tempL = Physics2D.OverlapPoint (touchPos)) {
			if(tempL.CompareTag("LeftTunnel")){
			Debug.Log ("Hit Left tunnel");
			onTunnelL = true;
			}
		}
		else{
			onTunnelL = false;
		}
	}
	void onRight(Vector2 touchPos){
		Collider2D tempR;
		if (tempR = Physics2D.OverlapPoint (touchPos)) {
			if(tempR.CompareTag("RightTunnel")){
				Debug.Log ("Hit Right tunnel");
				onTunnelR = true;
			}
		}
		else{
			onTunnelR = false;
		}
	}