- Home /
set value to a component
I am trying to control and set some values to a UnitySteer Radar component. UnitySteer
I am trying to set it up like that:
gObjParent.GetComponent("Radar").LayersChecked = 1;
but it gives me: Type UnityEngine.Component' does not contain a definition for
LayersChecked' and no extension method LayersChecked' of type
UnityEngine.Component' could be found (are you missing a using directive or an assembly reference?)
Here is the code for the radar script, or at least what I think is applicable.
[SerializeField]
LayerMask _layersChecked;
. . .
public LayerMask LayersChecked {
get {
return this._layersChecked;
}
set {
_layersChecked = value;
}
}
Answer by robertbu · Apr 20, 2014 at 07:27 PM
Use the generic version of GetComponent:
gObjParent.GetComponent<Radar>().LayersChecked = 1;
When you use a string paramter for a GetComponnet() call, the compiler does not know the type of the component and defaults to the Component class. Note I'm assuming C#. For Javascript:
gObjParent.GetComponent(Radar).LayersChecked = 1;
Thank you for the answer. now I'm getting: Assets/scripts/constructor.cs(77,41): error CS0246: The type or namespace name `Radar' could not be found. Are you missing a using directive or an assembly reference? Do you have a solution for that? What I'm using is:
gObjParent.GetComponent<Radar>().LayersChecked = 1;
and yes C#
Is the Radar class included in your project? If so is it C# or Javascript? If it is Javascript, you will have to take a look at moving the script to another location so that it is compiled in a earlier pass:
https://docs.unity3d.com/Documentation/$$anonymous$$anual/ScriptCompileOrderFolders.html
Considering the link to the GitHub project, the radar class is C# but is included in a namespace, so you need to add it to your project:
using UnitySteer.Base;
Yes it is included. I can actually add Radar component either from the components->UnitySteer->Radar->Radar.
gObjParent.AddComponent("Radar"); - this works as well
Thank you fafase - you win the internet today! No, actually you both win the internet :D thanks
I actually tried using UnitySteer but didn't know the .Base bit.. thanks
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Distribute terrain in zones 3 Answers
js to C# - Instantiate(scoreParticle, object - Vector3(0,0,0.3), Quaternion.identity) 1 Answer
Lists, Arrays and c# equivilent of js Array() 1 Answer
Making a Jetpack 3 Answers