In this case, I think you might be better off creating a new portal script, something along the lines of LocalPortal. Since these portals will be local, you should be able to drag a destination Local Porter into a field. The OnTrigger will have much less to do.
public class LocalPortal
{
[SerializeField] LocalPortal destination;
[SerializeField] Transform spawnPoint;
[SerializeField] float fadeOutTime = 1f;
[SerializeField] float fadeInTime = 2f;
void OnTriggerEnter(Collider other)
{
if(other="Player")
{
StartCoroutine(Transition());
}
}
IEnumerator Transition()
{
Fader fader = FindObjectOfType<Fader>();
PlayerController playerController = GameObject.FindWithTag("Player").GetComponent<PlayerController>();
playerController.enabled = false;
yield return fader.FadeOut(fadeOutTime);
playerController.GetComponent<NavMeshAgent>().enabled=false;
player.transform.position = destination.spawnPoint.transform.position;
player.transform.rotation = destination.spawnPoint.transform.rotation;
playerController.GetComponent<NavMeshAgent().enabled=true;
yield return fader.FadeIn(fadeInTime);
playerController.enabled=true;
}