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
0
Question by Neitrosha · Mar 05, 2014 at 01:36 PM · programmingtimefunctionsthreadexecution

Stop executing function and make it wait until an another function is finished and only then continue execution

Hi!

I am trying to do the following:

I have some floors with cubes and two crushers (on the left and right sides of the floors) in my scene. When one of the floors is full of details (I check all the floors one by one if they are full in one function), I move the crushers to it, move both of them to the middle of the floor in order to destroy them.

The problem is that when the last cube on the floor is destroyed, all the other floors decrease their position, but the crushers are still in the middle. I need to move them back and only then all the cubes can have their position decreased. (Right now - the last cube is destroyed - move all the floors lower immediately)

Smth like this SHOULD happen: The last cube on the floor is destroyed, we freeze the execution, run an another function to move the crushers to appropriate positions, and when it's done we can unfreeze the function and let the cubes move lower.

Like:

        / 2- Cube 1, Cube 2,.../

CrusherL /1- Cube 1, Cube 2, Cube 3 / CrusherR

Then:

        / 2- Cube 1, Cube 2.../
           CrusherL, CrusherR

And then:

        / 2- Cube 1, Cube 2,.../

CrusherL /......................................./ CrusherR

And at last:

CrusherL / 1 - Cube 1, Cube 2,......./ CrusherR

I know about System.Threading.Thread.Sleep, but it requires time and I don't know how much time I need to clean one of the floors.

Thanks in advance.

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

1 Reply

· Add your reply
  • Sort: 
avatar image
1

Answer by whydoidoit · Mar 05, 2014 at 01:38 PM

This is an ideal use of coroutines. You can have one coroutine yield another and continue execution when it is complete.

Check out the coroutine tutorial

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 Neitrosha · Mar 06, 2014 at 12:41 PM 0
Share

Thank you, I will)

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

21 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

Related Questions

Multiple Cars not working 1 Answer

How long do movement controls take? 2 Answers

Accurate millisecond timed thread 2 Answers

Damage over time while colliding. 1 Answer

Running Costly Code over Time 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