- Home /
loop through scripts attached to objects in an array?
Hey everyone. I'm very new to all of this, so please forgive me for what is probably a very noobish question.
I'm spawning a prefab that includes children objects. These children objects (tagged "subUnit" have a script on them that returns a boolean value based on if they have collided with anything. I am trying to create an array of these (identical) scripts so that I can run through them and see if any of these objects have collided.
I am still learning how to reference other objects and their components so I know I am doing something wrong with the way I'm trying to access this stuff. Currently I get the error "'GetComponent' is not a member of 'UnityEngine.GameObject[]'". I would appreciate any help!
#pragma strict
var activePce : GameObject[];
var isQuitting : boolean = false;
// spawn initial active piece
function Start ()
{
var clone : GameObject;
clone = Instantiate(activePce[(Random.Range(0, activePce.Length-1))], transform.position, transform.rotation);
clone.name = "Active"
}
//find the activeUnits and check each for collision
function Update ()
{
var dest : boolean = false;
var unitList : GameObject[];
var collisionList : Component[];
unitList = GameObject.FindGameObjectsWithTag("subUnit");
collisionList = unitList.GetComponent(collisionScript);
for (var coll : collisionScript in collisionList)
{
if (coll.hit)
{
dest = true;
}
}
}
Answer by ThePunisher · Oct 16, 2012 at 10:11 PM
You could try this instead:
function Update()
{
var dest : boolean = false;
var unitList : GameObject[];
var collisionList : Component[];
unitList = GameObject.FindGameObjectsWithTag("subUnit");
for (var obj : GameObject in unitList)
{
var cs:collisionScript = obj.GetComponent(collisionScript);
if(cs)
{
if (cs.hit)
{
dest = true;
}
}
}
}
What I've done here is I've iterated through the list of GameObjects we received from the GameObject.FindGameObjectsWithTag("subUnit"). Then, I accessed the component "collisionScript" of each individual object.
Your answer
![](https://koobas.hobune.stream/wayback/20220613082442im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
Can someone help me fix my Javascript for Flickering Light? 6 Answers
Setting Scroll View Width GUILayout 1 Answer
Material doesn't have a color property '_Color' 4 Answers
Making an animation on Input run at a speed declared by a variable in another script? 0 Answers