Check the state of two scripts, and allow for input C#

My fellow Unity scripters: What would be the best way to check for the state of two seperate scripts, in which only ONE can be activated at any given time, and then allowing for an input, in which it switches it.

Eg:
PlayerScript = enabled
CarScript = disabled

Player presses key

PlayerScript = disabled
Carscript = enabled

If PlayerScript = disabled && CarScript = enabled, allow for input to reverse the process.

This is the code I currently have:
if(Input.GetKeyDown(KeyCode.F)){

		//Disables Player Controller
		PlayerController playerControllerScript = Player.GetComponent <PlayerController>();
		playerControllerScript.enabled = false;
		//Enables Car Controller
		CarController carControllerScript = Vehicle.GetComponent <CarController>();
		carControllerScript.enabled = true;
	}

A script is often not just reading input, but also moving, recovering from stun, changing animations… , so just disabling it won’t always work. Maybe have a global public bool playerControlled; Set/unset it the same way you’re enabling/disablng the scripts.

Then wrap the input reading code in a test: if(playerControlled) { Input.getAxis(...) ... } else { // follow player or something }