YAPOG  0.0.1
Yet Another Pokemon Online Game
IGameScreenManager.hpp
Go to the documentation of this file.
1 #ifndef YAPOG_IGAMESCREENMANAGER_HPP
2 # define YAPOG_IGAMESCREENMANAGER_HPP
3 
4 # include "YAPOG/Macros.hpp"
7 
8 namespace yap
9 {
12  {
13  virtual ~IGameScreenManager () {}
14 
18  virtual void Init (const ScreenType& screenType) = 0;
21  virtual void AddGameScreen (IGameScreen* gameScreen) = 0;
24  virtual void RemoveGameScreen (const ScreenType& screenType) = 0;
27  virtual void SetCurrentScreen (const ScreenType& screenType) = 0;
28 
29  virtual void NextFrame () = 0;
30 
34  virtual void Run (const Time& dt, IDrawingContext& context) = 0;
35 
36  virtual Event<IGameScreenManager&>& OnGameExitedEvent () = 0;
37  };
38 } // namespace yap
39 
40 #endif // YAPOG_IGAMESCREENMANAGER_HPP