Browse Source

refactoring

dmuratshin 9 years ago
parent
commit
d44766f5df
3 changed files with 15 additions and 24 deletions
  1. 9 14
      src/flow/Scene.cpp
  2. 4 7
      src/flow/Scene.h
  3. 2 3
      src/flow/flow.cpp

+ 9 - 14
src/flow/Scene.cpp

@@ -129,18 +129,11 @@ namespace oxygine
             return t;
         }
 
-        void Scene::entering()
+        void Scene::preEntering()
         {
-            LOGD("%-20s '%s'", "Scene.entering", getName().c_str());
-            Event ev(EVENT_ENTERING);
-            dispatchEvent(&ev);
-        }
-
-        void Scene::leaving()
-        {
-            LOGD("%-20s '%s'", "Scene.leaving", getName().c_str());
-            Event ev(EVENT_LEAVING);
-            dispatchEvent(&ev);
+            LOGD("%-20s '%s'", "Scene.preEntering", getName().c_str());
+            Event ev2(EVENT_PRE_ENTERING);
+            dispatchEvent(&ev2);
         }
 
         void Scene::preLeaving()
@@ -152,9 +145,9 @@ namespace oxygine
 
         void Scene::postLeaving()
         {
-            //LOGD("%-20s '%s'", "Scene.postLeaving", getName().c_str());
-            Event ev(EVENT_POST_LEAVING);
-            dispatchEvent(&ev);
+            LOGD("%-20s '%s'", "Scene.postLeaving", getName().c_str());
+            Event ev2(EVENT_POST_LEAVING);
+            dispatchEvent(&ev2);
         }
 
         void Scene::sceneShown(spScene s)
@@ -188,10 +181,12 @@ namespace oxygine
             LOGD("%-20s '%s'", "Scene.postShowing", getName().c_str());
             Event ev(EVENT_POST_SHOWING);
             dispatchEvent(&ev);
+            _inloop = true;
         }
 
         void Scene::preHiding()
         {
+            _inloop = false;
             LOGD("%-20s '%s'", "Scene.preHiding", getName().c_str());
             Event ev(EVENT_PRE_HIDING);
             dispatchEvent(&ev);

+ 4 - 7
src/flow/Scene.h

@@ -35,10 +35,7 @@ namespace oxygine
             enum
             {
                 //fired before entering to scene
-                EVENT_ENTERING =        makefourcc('S', 'E', 'n', 't'),
-
-                //fired after leaving scene
-                EVENT_LEAVING =         makefourcc('S', 'L', 'e', 'a'),
+                EVENT_PRE_ENTERING = makefourcc('S', 'P', 'E', 'n'),
 
                 //fired before leaving scene
                 EVENT_PRE_LEAVING = makefourcc('S', 'P', 'r', 'L'),
@@ -132,6 +129,7 @@ namespace oxygine
             virtual spTransition _runTransitionOut(Flow*, spScene current);
 
             spActor _holder;
+            bool _inloop;
 
         private:
 
@@ -140,14 +138,13 @@ namespace oxygine
 
             bool _remove;
             bool _done;
-            bool _inloop;
+            
 
             void preShowing();
             void postShowing();
             void preHiding();
             void postHiding();
-            void entering();
-            void leaving();
+            void preEntering();
             void preLeaving();
             void postLeaving();
 

+ 2 - 3
src/flow/flow.cpp

@@ -83,7 +83,7 @@ namespace oxygine
             if (scenes.empty())
             {
                 scenes.push_back(scene);
-                scene->entering();
+                scene->preEntering();
                 scene->preShowing();
                 scene->_holder->attachTo(getStage());
                 scene->postShowing();
@@ -129,7 +129,7 @@ namespace oxygine
 
 
             if (next && !_back)
-                next->entering();
+                next->preEntering();
 
             if (!_back || !current->_dialog)
                 next->preShowing();
@@ -180,7 +180,6 @@ namespace oxygine
 
             if (current->_done)
             {
-                current->leaving();
                 current->postLeaving();
                 if (current->_resultCB)
                 {