Switch to a random camera

Hey, I’m trying to get a script for selecting a random camera. I need it to be that when the player collides with a specific object, the main camera switches to one of four other cameras randomly.

This is the code I have so far:

var camera1 : Camera; //Camera 1
var camera2 : Camera; //Camera 2
var camera3 : Camera; //Camera 3
var camera4 : Camera; //Camera 4
var camera5 : Camera; //Camera 5

function Start () //Camera 1 is enabled on startup
{ 
    camera1.enabled = true; 
    camera2.enabled = false;
    camera3.enabled = false;
    camera4.enabled = false;
    camera5.enabled = false; 
} 

function OnCollisionEnter(hit : Collision)
{ 
	if(hit.gameObject.tag == "Soul Well" && Player.people >= 1)
	{
	    camera1.enabled = false; 
        camera2.enabled = true;
	    camera3.enabled = false;
	    camera4.enabled = false;
	    camera5.enabled = false;
	}
}

As you can see, at the moment it’s only switching to a specific camera. Tried a few other random scripts and couldn’t get them to work in the oncollision function.

Thanks

Instead of having a whole bunch of cameras, make an array of cameras! Then use loops to manage all the other stuff.

var cams : Camera[];
private var currentCam : Camera;

function Start() {
    for(var curCam in cams)
    {
         curCam.enabled = false;
    }
    currentCam = cams[0];
    currentCam.enabled = true;
}

Assign them in the editor, then when you want to set a random camera use these three lines-

currentCam.enabled = false;
currentCam = cams[Random.Range(0, cams.Length)];
currentCam.enabled = true;

Please note, this does not check for whether you are randomly switching to the same camera- you’d have to do a few more checks for that.