TurtleBrains  0.2.1
High quality, portable, C++ API for native application and game development.
tb_game_scene.h
1 
9 #ifndef _TurtleBrains_GameSceneInterface_h_
10 #define _TurtleBrains_GameSceneInterface_h_
11 
12 #include "tb_entity_manager.h"
13 #include "../graphics/tb_graphic_list.h"
14 
15 #include <list>
16 
17 namespace TurtleBrains
18 {
19  namespace Game
20  {
21 
27  class GameScene : public EntityManager
28  {
29  public:
30 
35  GameScene(void);
36 
41  virtual ~GameScene(void) = 0;
42 
53  static void ChangeToScene(GameScene& gameScene);
54 
64  static void PerformFrame(const float deltaTime);
65 
74  static void PerformFrame(GameScene& gameScene, const float deltaTime);
75 
76  protected:
83  virtual void OnSimulate(void);
84 
94  virtual void OnUpdate(const float deltaTime);
95 
99  virtual void OnRender(void) const;
100 
106  virtual void OnOpen(void);
107 
112  virtual void OnClose(void);
113 
114  private:
115  float mAccumulatedSimulationTime;
116  };
117 
118  }; /* namespace Game */
119 }; /* namespace TurtleBrains */
120 
121 namespace tbGame = TurtleBrains::Game;
122 
123 #endif /* _TurtleBrains_GameSceneInterface_h_ */
virtual void OnRender(void) const
static void ChangeToScene(GameScene &gameScene)
Contains all functions, classes and helpers related to game/application development written by Tim "B...
Definition: tb_application_dialog.h:21
virtual void OnUpdate(const float deltaTime)
virtual void OnSimulate(void)
Definition: tb_game_scene.h:27
Definition: tb_entity_manager.h:114
static void PerformFrame(const float deltaTime)
virtual void OnOpen(void)
virtual void OnClose(void)
This is the heart of TurtleBrains for game developers to create GameScenes and Entities to interact w...