00001
00002
00003
00004
00006
00007
00008
00009
00010
00011
00012
00013
00014
00016
00017 #ifndef __ISceneManager_h_INCLUDED__
00018 #define __ISceneManager_h_INCLUDED__
00019
00020 #include <string>
00021 #include "IRoot.h"
00022 #include "IObject.h"
00023 #include "IScene.h"
00024
00025 namespace mortic
00026 {
00028
00034 class ISceneManager : public IObject
00035 {
00036 public:
00038 ISceneManager(IRoot* root) : IObject(root, "SceneManager")
00039 { }
00041 virtual ~ISceneManager()
00042 { }
00043
00045
00049 virtual void addScene(IScene* scene) = 0;
00050
00052
00056 virtual bool loadScene(std::string filename) = 0;
00057
00059
00063 virtual void startScene(std::string name) = 0;
00064
00066
00070 virtual void startScene(IScene* scene) = 0;
00071
00073
00076 virtual void endScene(std::string name) = 0;
00077
00079
00082 virtual void endScene(IScene* scene) = 0;
00083
00085
00088 virtual void endAllScenes() = 0;
00089
00091
00095 virtual void run() = 0;
00096
00098
00106 virtual void event(IEvent* e) = 0;
00107 };
00108
00109 }
00110 ;
00111 #endif // __ISceneManager_h_INCLUDED__