Esempio n. 1
0
        protected void SetNextScene()
        {
            bool runningIsTransition = m_pRunningScene != null && m_pRunningScene.IsTransition;// is CCTransitionScene;

            // If it is not a transition, call onExit/cleanup
            if (!m_pNextScene.IsTransition)
            {
                if (m_pRunningScene != null)
                {
                    m_pRunningScene.OnExitTransitionDidStart();
                    m_pRunningScene.OnExit();

                    // issue #709. the root node (scene) should receive the cleanup message too
                    // otherwise it might be leaked.
                    if (m_bSendCleanupToScene)
                    {
                        m_pRunningScene.Cleanup();

                        GC.Collect();
                    }
                }
            }

            m_pRunningScene = m_pNextScene;
            m_pNextScene    = null;

            if (!runningIsTransition && m_pRunningScene != null)
            {
                m_pRunningScene.OnEnter();
                m_pRunningScene.OnEnterTransitionDidFinish();
            }
        }
Esempio n. 2
0
        public override void OnEnter()
        {
            base.OnEnter();

            // outScene_ should not receive the onExit callback
            // only the onExitTransitionDidStart
            m_pOutScene.OnExitTransitionDidStart();

            m_pInScene.OnEnter();
        }
Esempio n. 3
0
 public void ResumeFromBackground()
 {
     Resume();
     if (m_pRunningScene != null)
     {
         bool runningIsTransition = m_pRunningScene is CCTransitionScene;
         if (!runningIsTransition)
         {
             m_pRunningScene.OnEnter();
             m_pRunningScene.OnEnterTransitionDidFinish();
         }
     }
 }
Esempio n. 4
0
        public override void OnEnter()
        {
            base.OnEnter();

            // disable events while transitions
            CCDirector.SharedDirector.TouchDispatcher.IsDispatchEvents = false;

            // outScene should not receive the onEnter callback
            // only the onExitTransitionDidStart
            m_pOutScene.OnExitTransitionDidStart();

            m_pInScene.OnEnter();
        }
Esempio n. 5
0
        protected void SetNextScene()
        {
            bool runningIsTransition = m_pRunningScene != null && m_pRunningScene.IsTransition;// is CCTransitionScene;

            // If it is not a transition, call onExit/cleanup
            if (!m_pNextScene.IsTransition)
            {
                if (m_pRunningScene != null)
                {
                    m_pRunningScene.OnExitTransitionDidStart(); 
                    m_pRunningScene.OnExit();

                    // issue #709. the root node (scene) should receive the cleanup message too
                    // otherwise it might be leaked.
                    if (m_bSendCleanupToScene)
                    {
                        m_pRunningScene.Cleanup();

                        GC.Collect();
                    }
                }
            }

            m_pRunningScene = m_pNextScene;
            m_pNextScene = null;

            if (!runningIsTransition && m_pRunningScene != null)
            {
                m_pRunningScene.OnEnter();
                m_pRunningScene.OnEnterTransitionDidFinish();
            }
        }