Need help disabling a script in another GameObject
Hi.
I have seen so many different posts on this issue, but nothing works for me >:C I want to disable the MouseLookScript.js from a script inside the GUI GameObject in the hierarchy:
Here is the GUIButton.cs script located in the GUI GameObject:
using UnityEngine;
using System.Collections;
public class GUIButton : MonoBehaviour {
public GameObject ControlsGUI;
public GameObject PlayerUI;
public GameObject Animations_Interface;
public GameObject Character_Prefab;
// Use this for initialization
void Start () {
// MouseLookScript = GetComponent(MouseLookScript);
// MouseLookScript.SetActive (true);
}
// Update is called once per frame
void Update () {
if (Input.GetKeyDown("5")) // ControlsGUI
{
GameObject.Find ("ControlsGUI");
ControlsGUI.SetActive(false);
}
if (Input.GetKeyDown("i")) // ControlsGUI
{
GameObject.Find ("ControlsGUI");
ControlsGUI.SetActive(true);
}
if (Input.GetKey ("mouse 1")) { //activate crosshair
GameObject.Find ("PlayerUI");
PlayerUI.SetActive (true);
} else
{
GameObject.Find ("PlayerUI");
PlayerUI.SetActive (false);
}
if (Input.GetKey ("v")) { //Open Animations interface
GameObject.Find ("Animations_Interface");
Animations_Interface.SetActive (true);
Cursor.lockState = CursorLockMode.None;
Cursor.visible = true;
gameObject.Character_Prefab ("MouseLookScript").enabled = false;
} else
{
GameObject.Find ("Animations_Interface");
Animations_Interface.SetActive (false);
Cursor.lockState = CursorLockMode.Locked;
Cursor.visible = false;
gameObject.Character_Prefab ("MouseLookScript").enabled = false;
}
}
void OnGUI()
{
if (GUI.Button (new Rect (15, 15, 120, 50), "Show controls [ i ]"))
{
GameObject.Find ("ControlsGUI");
ControlsGUI.SetActive(true);
}
}
}
I am trying to disable the MouseLookScript when I hold down the V button.. Any ideas?
Answer by Taxen0 · Feb 01, 2016 at 11:36 AM
Since the different prefabs you are trying to access are all public variabels im guessing you have dragged the correct object to those in the inspector.
Then you could disable the script this way:
MouseLookScript script = Character_Prefab.GetComponent<MouseLookScript>();
script.enabled = false;
"The type or namespace name `$$anonymous$$ouseLookScript' could not be found. Are you missing a using directive or an assembly reference?"
I added the '$$anonymous$$ouseLookScript script = Character_Prefab.GetComponent();' to the Start function in GUIButton.cs
I'm not sure but I guess this is because $$anonymous$$ouseLookScript is written in Javascript and this is C#, I don't have much experience with this sense I like to keep all scripts in the same language. If it's not too much of a hassle I would translate $$anonymous$$ouseLookScript to C# as well.
If not you could have a look at http://answers.unity3d.com/questions/51541/get-component-javascript-from-a-c-script.html seems to tackle the issue with importing a js script in to c#.
Your answer
Follow this Question
Related Questions
Disable script after time 1 Answer
Script in Unity responding incorrect values 0 Answers
How To Stop Constant Movement of RB Force 0 Answers
vehicle transmission script problem 0 Answers