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 Ceraph · Oct 27, 2013 at 03:01 PM · delegateframe rate

Code in one function call being executed on multiple frames

I am working on a system to manage screen changes and hiding / showing popups in my game (all within the same scene) and I've run into a strange issue. Right now I have the screen / popup changing happen by hiding the previous screen and then immediately showing the next screen. This should all happen on the same frame, so the player just sees the new screen showing, but in practice most of the time (though not every time) there is a frame where both are hidden. The call to the hide function is literally one line above the call to the show function so I'm really not sure why they're being executed on separate frames. Has anyone ever run into a problem like this before? I don't know if this is relevant but I am using delegates and events to trigger the function call. Below is a sample of my popup manager.

 void ChangePopup (GameObject dispatcher)
 {
     if (PopupManager.instance.currentPopup == Enums.PopupType.Options)
     {
         currentPrimaryPopup = popups.optionsPopup;
     }
     
     // Make sure the previous popup is hidden before showing the new one
     HidePreviousPopup();
     ShowCurrentPopup();
 }
 
 void HidePreviousPopup()
 {
     if (debugLevel > 0) {Debug.Log("hiding: " + previousPrimaryPopup);}
     
     // Get a list of all the children and disable them. Leave the parent active so the game can find it.
     for(int i = 0; i < previousPrimaryPopup.transform.childCount; i++)
     {
         Transform child = previousPrimaryPopup.transform.GetChild(i);
 
         if(child.gameObject.activeSelf)
         {
             child.gameObject.SetActive(false);
         }
     }
 }
     
 void ShowCurrentPopup()
 {
     if (debugLevel > 0) {Debug.Log("showing: " + currentPrimaryPopup);}
     
     // Get a list of all the children and make sure they are enabled
     for(int i = 0; i < currentPrimaryPopup.transform.childCount; i++)
     {
         Transform child = currentPrimaryPopup.transform.GetChild(i);
         if(!child.gameObject.activeSelf)
         {
             child.gameObject.SetActive(true);
             Debug.Log("Activating: " + child.gameObject.name);
         }
     }
     
     // We're done with the currentPrimaryPopup so flag it as the previous popup
     previousPrimaryPopup = currentPrimaryPopup;
 }
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 cjdev · Oct 27, 2013 at 03:18 PM 0
Share

I don't know this for sure, but it may be that the game object activates in the next fixed update but deactivates in update.

0 Replies

· Add your reply
  • Sort: 

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

16 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

Related Questions

Multiple classes delegates combining methods? 1 Answer

Delegate an event 2 Answers

Action delegate doesn't show in inspector. 1 Answer

How do I get a UI Slider to provide a value with OnValueChanged? 1 Answer

Start a Coroutine with a delegate that has a parameter 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