Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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
0
Question by Ambrose998800 · Jan 16, 2017 at 05:43 AM · ienumeratorcall

IEnumerator is not called

I try to call my IEnumerator function, but for some reason it does not respond.

Here's the code and the console messages:

 public class Swing_Movement : SlideSwing_Basic
 {
     
     //Variables    
     
     void Start()
     {    
         StartCoroutine(MovementController()); //Note: there are 7 objects with this script
     }
 
     void manipulate()
     {    
         if (Input.GetButtonDown("Manipulate Object") && !BlockInput)
         {
             Invoke("MovementController", 0.0f);
             print("MovementController call");
         }    
     }
 
     IEnumerator MovementController()
     {    
         print("MovementController respond");    
         //Do stuff    
     }

}

There are 7 objects with this script, so after the "MovementController call" there should be 8 "MovementController respond" messages!

alt text

ienumeratorcallissue.jpg (26.7 kB)
Comment
Add comment · Show 1
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 Blue-Mirror · Jan 16, 2017 at 07:12 AM 1
Share

Well I tried to use it and ... Well it doenst work for me neither. Invoke doesnt call my IEnumerator, but you can do the very same thing, by calling the IEnumerator with "StartCoroutine();" and then make the first line in IEnumerator "yield return new WaitForSeconds(blaTime);"

The IEnumerator could have a parameter which he then fills in for blaTime, therefore you could have the same thing you want but without Invoke. If you find out why Invoke didnt work tell me ^^ I didnt get it neither, but I also didnt knew about Invoke

1 Reply

· Add your reply
  • Sort: 
avatar image
1

Answer by herDev · Jan 16, 2017 at 02:53 PM

     void Start()
     {
         StartCoroutine(MovementController(0)); //Note: there are 7 objects with this script
     }
 
     void manipulate()
     {
         if (Input.GetButtonDown("Manipulate Object") && !BlockInput)
         {
             Invoke("DoStuff", 0.0f);
             print("MovementController call");
         }
     }
 
     IEnumerator MovementController(float duration)
     {
         yield return new WaitForSeconds(duration);
         DoStuff();
     }
 
     public void DoStuff()
     {
         print("MovementController respond");
         //Do stuff   
     }

Comment
Add comment · Show 1 · 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 Ambrose998800 · Jan 16, 2017 at 06:26 PM 0
Share

The call works that way, but the lerp over time is skipped (done by $$anonymous$$ovement while Timer < TimeLimit; Duration = TimeLimit - Timer).

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

62 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 avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Is there a way to show a warning when a Coroutine is called directly? 0 Answers

How to call function parameter 1 Answer

Changing mouse sensitivity 1 Answer

Calling Function in other Script via Touch => iOS Crash 1 Answer

I am trying to call another function in another script for an editor layout script. 1 Answer


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