Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • 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
-1
Question by Ratboy601 · Jul 12, 2014 at 05:07 AM · javascriptcoroutinengui

Starting a function as a coroutine in javascript using onclick via NGUI Button

So, in NGUI, you can use a Button script attached to a game object by dragging a game object with another script attached to it into the "notify" field of the NGUI Button. Then you can select a method in that script to call. I've written a script that needs a delay in the middle of it. So here's what I've written:

 function enableWrongByTag()
 {
     for(var go : GameObject in GameObject.FindGameObjectsWithTag("Wrong"))
     {
     go.SetActive (true);
     }
         for(var stop : GameObject in GameObject.FindGameObjectsWithTag("None"))
     {
     stop.SetActive (false);
     }
     //insert delay somehow...
     yield WaitForSeconds (5.0);
         for(var stop : GameObject in GameObject.FindGameObjectsWithTag("None"))
     {
     stop.SetActive (true);
     }
         for(var go : GameObject in GameObject.FindGameObjectsWithTag("Wrong"))
     {
     go.SetActive (false);
     }
         for(var moo : GameObject in GameObject.FindGameObjectsWithTag("Correct"))
     {
     moo.SetActive (false);
     }
 }

Now I know that this function needs to be started as a coroutine in order to use the "yield WaitForSeconds(5.0)". But if I put the StartCoroutine(EnableWrongByTag()) BEFORE the actual script line, or in a function Start, then my function does not actually show up in the method list of the NGUI Button. So how can I run this script using an NGUI Button?

Comment
Add comment · Show 3
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 NikunjPopat · Jul 12, 2014 at 05:41 AM 0
Share

$$anonymous$$ake simple public method and StartCouroutine from that function.

avatar image Ratboy601 · Jul 12, 2014 at 09:52 PM 0
Share

Please forgive my noobness, but can you show me what you mean? Does the new method need to be in a separate file or can I just say something like:
function myCoroutine() { StartCoroutine(enableWrongByTag()); } // the rest of my function here...

Thanks for the speedy answer!

avatar image Razacx · Jul 12, 2014 at 10:44 PM 0
Share

That's exactly what you have to do. But you will have to call myCoroutine() when the button is pressed ins$$anonymous$$d of enableWrongByTag().

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by Ratboy601 · Jul 13, 2014 at 06:09 PM

Ok, got it working, kind of. Thanks! I was just just testing it improperly. Turns out its something about the rest of my code that isn't working, although its not producing any errors when it compiles. But the yield works, and it shows up in my NGUI button so I'll see if I can work out the rest on my own now. Thanks again!

Comment
Add comment · 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

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.

Follow this Question

Answers Answers and Comments

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

changing a coroutine's argument at the coroutine's runtime? 1 Answer

Stop coroutine not working 1 Answer

How do I delay the appearance of these buttons? 3 Answers

Can you say that a coroutine is just a function with yield somewhere in it? 2 Answers

Coroutine gets skipped in javascript/unityscript 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges