- Home /
Question by
CubePhysics · Feb 02, 2013 at 05:53 PM ·
c#disablemouselookenable
How do I disable The MouseLook script when "I" is pressed.
public class SpawnGui : MonoBehaviour
{
private bool showGUI;
public bool lockCursor = true;
public Transform Prefab;
void Start ()
{
showGUI = false;
Screen.lockCursor = true;
}
void Update ()
{
if(Input.GetKeyDown(KeyCode.I))
{
//CAN SOMEONE HELP ME HOW TO DISABLE MOUSELOOK SCRIPT AND ENABLE IT HERE
if(showGUI == true)
{
showGUI = false;
}
else if(showGUI == false)
{
showGUI = true;
}
}
}
void OnGUI()
{
if(showGUI == true)
{
if(GUI.Button(new Rect(20,20,100,80), "Cube"))
{
Instantiate(Prefab,GameObject.Find("spawnPoint").transform.position, Quaternion.identity);
}
}
}
void OnMouseDown()
{
}
}
Can someone help me with this so when I press "I" it disables mouselook and then when its pressed again it enables it again. Thanks
Comment
Answer by aldonaletto · Feb 02, 2013 at 06:29 PM
There are 2 MouseLooks in the First Person Controller. You can save references to them at Start and use these references to enable/disable both scripts. There's also an easier way to toggle a variable, like below:
using UnityEngine;
using System.Collections;
public class SpawnGui : MonoBehaviour
{
private bool showGUI;
public bool lockCursor = true;
public Transform Prefab;
private MouseLook[] mLooks; // script saves MouseLook references here
void Start ()
{
showGUI = false;
Screen.lockCursor = true;
// find the player...
GameObject player = GameObject.FindWithTag("Player");
// and get its 2 MouseLook scripts in mLooks:
mLooks = player.GetComponentsInChildren<MouseLook>();
}
void Update ()
{
if(Input.GetKeyDown(KeyCode.I))
{
showGUI = !showGUI; // easier way to toggle showGUI
foreach (MouseLook mLook in mLooks){
// enables MouseLook when showGUI is false and vice versa
mLook.enabled = !showGUI;
}
}
}
}
Answer by Julien-Lynge · Feb 02, 2013 at 06:01 PM
You can disable/enable a script by setting the script's 'enabled' property. You will first need a reference to the script. You can then use 'myScript.enabled = true/false' to toggle whether the script is on. Try this tutorial for how to get a reference to a script: