Browse Source

added virtual _finish to hook Scene::finish

dmuratshin 10 years ago
parent
commit
ad0582db37
2 changed files with 15 additions and 5 deletions
  1. 13 5
      src/Scene.cpp
  2. 2 0
      src/Scene.h

+ 13 - 5
src/Scene.cpp

@@ -175,13 +175,21 @@ namespace oxygine
             dispatchEvent(&ev);
         }
 
-        void Scene::finish(Event* ev)
+        void Scene::_finish(Event* ev)
         {
             _done = true;
-            if (ev)
-                static_cast<Event&>(_finishEvent) = *ev;
-            else
-                _finishEvent = SceneEvent();
+        }
+
+        void Scene::finish(Event* ev)
+        {
+            _finish(ev);
+            if (_done)
+            {
+                if (ev)
+                    static_cast<Event&>(_finishEvent) = *ev;
+                else
+                    _finishEvent = SceneEvent();
+            }
 
             //Flow::instance.checkDone();
         }

+ 2 - 0
src/Scene.h

@@ -112,6 +112,8 @@ namespace oxygine
             friend class Flow;
             friend class Transition;
 
+            virtual void _finish(Event*);
+
             /**dialog mode*/
             bool _dialog;