- Home /
Access collider custom script's variables
Hi!
I have that piece of code attachedd to my player:
void OnControllerColliderHit(ControllerColliderHit hit) {
if ((hit.gameObject.tag == "SurpriseBlock") && (hit.moveDirection == new Vector3(0.0F,1.0F,0.0F) )) {
ColliderManager collider = hit.gameObject.GetComponent("ColliderManager") as ColliderManager;
if(ColliderManager.wasTriggered >= ColliderManager.maxTrigger)
{
return;
}
}
}
And this script attached to an object (a cube):
public int maxTrigger = 0;
public int wasTriggered = 0;
The point of that is to make sure the event (contained in the player's script) is triggered only once. (or twice depending on what's the object)
The compiler return the following error:
Assets/Scripts/Player/PlayerCollider.cs(66,30): error CS1061: Type `UnityEngine.GameObject' does not contain a definition for `wasTriggered' and no extension method `wasTriggered' of type `UnityEngine.GameObject' could be found (are you missing a using directive or an assembly reference?)
I've read http://docs.unity3d.com/Documentation/ScriptReference/GameObject.GetComponent.html but with no success.
Any idea why it's not working?
Thanks a lot ;)
Answer by robertbu · Jun 26, 2013 at 02:15 AM
In terns of the error, you are using the class instead of the variable. It should be:
if (collider.wasTriggered >= collider.maxTrigger)
Your answer
Follow this Question
Related Questions
What is the order of execution for the instantiated object's GetComponent.Script.DoSomething? 1 Answer
updating a gameobject variable from another script attached to another object 3 Answers
how to access a float from one script in other script in different objects 3 Answers
How to run a function in a GO that have DontDestroyOnLoad 1 Answer
How to Access Components in Children of GameObject? 1 Answer