YAPOG  0.0.1
Yet Another Pokemon Online Game
GameScreenManager.hpp
Go to the documentation of this file.
1 #ifndef YAPOG_GAMESCREENMANAGER_HPP
2 # define YAPOG_GAMESCREENMANAGER_HPP
3 
4 # include "YAPOG/Macros.hpp"
6 # include "YAPOG/Collection/Map.hpp"
7 
8 namespace yap
9 {
11  {
13 
14  public:
15 
17  virtual ~GameScreenManager ();
18 
21  virtual bool OnEvent (const GuiEvent& guiEvent);
22  virtual bool OnPriorityEvent (const GuiEvent& guiEvent);
24 
27  virtual void Init (const ScreenType& screenType);
28 
29  virtual void AddGameScreen (IGameScreen* gameScreen);
30  virtual void RemoveGameScreen (const ScreenType& screenType);
31  virtual void SetCurrentScreen (const ScreenType& screenType);
32 
33  virtual void NextFrame ();
34 
35  virtual void Run (const Time& dt, IDrawingContext& context);
36 
37  virtual Event<IGameScreenManager&>& OnGameExitedEvent ();
39 
41 
42  private:
43 
45 
47 
50  };
51 } // namespace yap
52 
53 #endif // YAPOG_GAMESCREENMANAGER_HPP