- Home /
Issues with disabling a component
I don't know why but i can't disable a unity component. Can someone help me? In the console it says: The type or namespace name `MouseOrbit' could not be found. Are you missing an assembly reference?
Scripts: C# the one from i wish to disable the oter component:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class GameEnd : MonoBehaviour {
public GameObject Camera;
public Text StarsTxt;
public GameObject CanvasIG;
public GameObject CanvasEnd;
public int Stars;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnTriggerEnter(Collider EndPad)
{
if (EndPad.gameObject.tag == "Player") {
CanvasIG.SetActive (false);
CanvasEnd.SetActive (true);
Camera.GetComponent<MouseOrbit>.SetActive(false)();
GameObject Arena = GameObject.Find("Arena");
DeadCheck DeadCheck = Arena.GetComponent<DeadCheck> ();
Debug.Log (DeadCheck.accesableTime);
Debug.Log (DeadCheck.Deaths);
if (DeadCheck.Deaths <= 18 && DeadCheck.accesableTime <= 3) {
Stars = 3;
StarsTxt.text = "3";
} else if (DeadCheck.Deaths <= 30 && DeadCheck.accesableTime <= 6) {
Stars = 2;
StarsTxt.text = "2";
} else if (DeadCheck.Deaths >= 31 && DeadCheck.accesableTime >= 7) {
Stars = 1;
StarsTxt.text = "1";
}
}
//SaveProgress ();
}
}
JS the script i wish to disable:
#pragma strict
var target : Transform;
var distance = 10.0;
var xSpeed = 250.0;
var ySpeed = 120.0;
var yMinLimit = -20;
var yMaxLimit = 80;
var distanceMin = 3;
var distanceMax = 15;
private var x = 0.0;
private var y = 0.0;
@script AddComponentMenu("Camera-Control/Mouse Orbit")
function Start () {
var angles = transform.eulerAngles;
x = angles.y;
y = angles.x;
// Make the rigid body not change rotation
if (GetComponent.<Rigidbody>())
GetComponent.<Rigidbody>().freezeRotation = true;
}
function LateUpdate () {
if (target) {
x += Input.GetAxis("Mouse X") * xSpeed * distance* 0.02;
y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02;
y = ClampAngle(y, yMinLimit, yMaxLimit);
var rotation = Quaternion.Euler(y, x, 0);
distance = Mathf.Clamp(distance - Input.GetAxis("Mouse ScrollWheel")*5, distanceMin, distanceMax);
var hit : RaycastHit;
if (Physics.Linecast (target.position, transform.position, hit)) {
distance -= hit.distance;
}
var position = rotation * Vector3(0.0, 0.0, -distance) + target.position;
transform.rotation = rotation;
transform.position = position;
}
}
static function ClampAngle (angle : float, min : float, max : float) {
if (angle < -360)
angle += 360;
if (angle > 360)
angle -= 360;
return Mathf.Clamp (angle, min, max);
}
Thank you in advanced
Answer by AurimasBlazulionis · Jan 17, 2017 at 05:46 AM
If you want to disable a component of a different language, then you have to put that component to Standard Assets or Plugins folder. In your case, put JS script there.
Also, do not name your variables beginning with the capitalized letter. It is super confusing and it looks like you are trying to use statics. Especially this line DeadCheck DeadCheck = Arena.GetComponent<DeadCheck> ();
. I believe even your compiler would get confused.
Create a folder named Plugins in your Assets folder. And put the script there.
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Distribute terrain in zones 3 Answers
Parsing Error, code in android for a button 2 Answers
UNITY_MVP_MATRIX error when downloading A* Pathfinding 1 Answer