• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by Orloffyeah · Jan 13, 2013 at 09:32 PM · triggergunmultiplegetcomponentinchildren

GetComponent in Multiple Children

Hi, I have been working on a script in which at the moment taht a player passes thorugh a trigger it activates its weapons, but the problem that I am having is that is activating only one of four weapons that are exactly identical. I tried with GetComponentsInChildren but it send a compiler error. How could I make it so that it activates all of the children?

Trigger Script: #pragma strict

 function OnTriggerEnter(col : Collider)
 {
 
     if (col.gameObject.name == "Minigun_Trigger")
     {
         GetComponentInChildren(Gun_Script).weaponUnlocked = true;
         GetComponentInChildren(RocketLauncher).rocketsUnlocked = false;
         GetComponentInChildren(SmokeCreator).smokeUnlocked = false;
         yield WaitForSeconds(40);
         GetComponentInChildren(Gun_Script).weaponUnlocked = false;
         
     }
     
 }
Comment
Add comment · Show 2
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image tomekkie2 · Jan 13, 2013 at 09:34 PM 1
Share

use GetComponentsInChildren.

GetComponentsInChildren will return an array of component scripts and then iterate through that.

for(var gs:Gun_Script in GetComponentInChildren(Gun_Script)) gs.weaponUnlocked = true;

avatar image Orloffyeah · Jan 14, 2013 at 09:49 PM 1
Share

Thanks, it is working, for next time you should post it as an answer so that I can mark it as the correct answer.

1 Reply

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by Geo.Ego · Jan 14, 2013 at 10:25 PM

I'm putting in tomekkie2's comment as an answer here so that others can see the solution more easily:

Use GetComponentsInChildren ().

GetComponentsInChildren will return an array of component scripts and then iterate through that.

 for (var gs:Gun_Script in GetComponentInChildren(Gun_Script))
 {
     gs.weaponUnlocked = true;
 }

@tomekkie2: if you'd like to submit this as an answer yourself, Orloffyeah can mark it as the answer instead; it's just far more useful for a question to have an accepted answer so people can find it and Orloffyeah's accept rate isn't negatively impacted.

Comment
Add comment · Show 2 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image DaveA · Jan 14, 2013 at 10:59 PM 0
Share

Geo.Ego: If you have the karma, there should be a round button with a curved arrow in it, next to Delete and Upvote, which is 'convert comment to answer' which would take care of this for you.

avatar image Geo.Ego · Jan 15, 2013 at 01:31 AM 0
Share

I must not have enough karma yet. My only option is to upvote.

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

11 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Animation event fires three times on the first frame - is this a known issue? 1 Answer

Detect Trigger Enter for One Game Object 2 Answers

how to cancel OnTriggerExit when already hitting a 2nd trigger 2 Answers

Ignore a collider when there are multiple ones? 1 Answer

OnTrigger events on multiple objects 1 Answer

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges