- Home /
Having to use the inspector during run time
I have a little problem, I have a script that tells unity if i walk on a part of the ground, the enemy's scripts that are disabled will be enabled again. In the inspector i have to add the enemy to 2 slots but when i play it resets to none and i have to add the enemy during run time, Is there any way to make it stay and not reset to none? Here's my script just in case:
var enemyAIScript : EnemyAI;
var enemyAttackScript : EnemyAttack;
function Start() {
enemyAIScript=gameObject.GetComponent.<EnemyAI>();
enemyAttackScript=gameObject.GetComponent.<EnemyAttack>();
}
function OnControllerColliderHit(hit:ControllerColliderHit) {
if(hit.gameObject.tag == "Instantiate enemy")
{
enemyAIScript.enabled = true;
enemyAttackScript.enabled = true;
}
}
Are the EnemyAI and EnemyAttack components on the same game object as this script is on?
Both EnemyAI and EnemyAttack are attached to the enemy while the script you see is attached to the player.
Answer by GuyTidhar · Jul 07, 2011 at 06:34 PM
Ok, so remove the two lines in this script found in the Start()
enemyAIScript=gameObject.GetComponent.<EnemyAI>();
enemyAttackScript=gameObject.GetComponent.<EnemyAttack>();
Since you already dragged the components you don't need to look for them. Also, you are looking for them on the same game object. If you still want to look for them during run time, you must look for the GameObject that has these script attached.
For instance, if you have a GameObject named: "MightyEnemy".
Do this in the player script above
function Start()
{
StartCoroutine(Initialize());
}
function Initialize()
{
var enemyGO : GameObject;
yield;
enemyGO = gameObject.Find("MightyEnemy");
if ( enemyGO )
{
enemyAIScript=enemyGO.GetComponent.<EnemyAI>();
enemyAttackScript=enemyGO.GetComponent.<EnemyAttack>();
}
else
Debug.LogError("There is no GameObject named 'MightEnemy'");
}
Thank you alot man you just stopped me from staring at those 2 lines and saying to myself "hmmm? are they causing this?" anyway thnx alot man really appreciate it :)
Your answer
Follow this Question
Related Questions
Variable from a external script not being effected 2 Answers
Accessing a variable within a function.... GetComponent() 2 Answers
getComponent not working with Triggers? 1 Answer
GetComponent with variable script possible? 1 Answer
Passing variables between classes attached to different GameObjects 2 Answers