I have a script applied to a box where once I approach it and press “E”, I will hide inside. And by pressing E again, I will get out. When I press “E” I get an error that quotesNullReferenceException: Object reference not set to an instance of an object. Please help? My “Hide” script is below.
#pragma strict
var mainCamera : Camera;
var hidingCamera : Camera;
private var guiShow : boolean = false;
var isHiding : boolean = false;
var rayLength = 10;
function Start()
{
mainCamera.GetComponent.().enabled = true;
hidingCamera.GetComponent.().enabled = false;
}
function Update()
{
var hit : RaycastHit;
var fwd = transform.TransformDirection(Vector3.forward);
if(Physics.Raycast(transform.position, fwd, hit, rayLength))
{
if(hit.collider.gameObject.tag == "Hide" && isHiding == false)
{
guiShow = true;
if(Input.GetKeyDown("e"))
{
//Disable Player
GameObject.Find("First Person Controller").GetComponent(CharacterController).enabled = false;
GameObject.Find("Graphics").GetComponent(MeshRenderer).enabled = false;
//Cameras
mainCamera.GetComponent.<Camera>().enabled = false;
hidingCamera.GetComponent.<Camera>().enabled = true;
//Booleans
Wait();
}
}
}
else
{
guiShow = false;
}
if(isHiding == true)
{
if(Input.GetKeyDown("e"))
{
//Disable Player
GameObject.Find("First Person Controller").GetComponent(CharacterController).enabled = true;
GameObject.Find("Graphics").GetComponent(MeshRenderer).enabled = true;
//Cameras
mainCamera.GetComponent.<Camera>().enabled = true;
hidingCamera.GetComponent.<Camera>().enabled = false;
//Booleans
isHiding = false;
}
}
}
function Wait()
{
yield WaitForSeconds(0.5);
isHiding = true;
guiShow = false;
}
function OnGUI()
{
if(guiShow == true)
{
GUI.Box(Rect(Screen.width / 2, Screen.height / 2, 100, 25), “Hide inside?”);
}
}