コード例 #1
0
ファイル: CCDirector.cs プロジェクト: krashman/cocos2d-xna
        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();
            }
        }
コード例 #2
0
        public override void OnExit()
        {
            base.OnExit();
            m_pOutScene.OnExit();

            // inScene should not receive the onExit callback
            // only the onEnterTransitionDidFinish
            m_pInScene.OnEnterTransitionDidFinish();
        }
コード例 #3
0
ファイル: CCDirector.cs プロジェクト: pekayatt/cocos2d-xna
 public void ResumeFromBackground()
 {
     Resume();
     if (m_pRunningScene != null)
     {
         bool runningIsTransition = m_pRunningScene is CCTransitionScene;
         if (!runningIsTransition)
         {
             m_pRunningScene.OnEnter();
             m_pRunningScene.OnEnterTransitionDidFinish();
         }
     }
 }
コード例 #4
0
        public override void OnExit()
        {
            base.OnExit();

            // enable events while transitions
            CCDirector.SharedDirector.TouchDispatcher.IsDispatchEvents = true;

            m_pOutScene.OnExit();

            // m_pInScene should not receive the onEnter callback
            // only the onEnterTransitionDidFinish
            m_pInScene.OnEnterTransitionDidFinish();
        }
コード例 #5
0
ファイル: CCDirector.cs プロジェクト: netonjm/cocos2d-xna
        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();
            }
        }