Untitled Game engine no.5  1.0
Engine.hpp
1 #ifndef SDLGRAPHICSPROGRAM
2 #define SDLGRAPHICSPROGRAM
3 
4 #include <fstream>
5 #include <iostream>
6 #include <sstream>
7 #include <stdlib.h>
8 #include <string>
9 #include <time.h>
10 
11 #include "Window.hpp"
12 #include "Renderer.hpp"
13 #include "ECS.hpp"
14 #include "Scene.hpp"
15 
16 namespace Engine {
18  class Engine {
19  private:
21  Uni<Renderer> m_Renderer = nullptr;
23  Uni<Window> m_Window = nullptr;
25  int sWidth;
27  int sHeight;
29  Ref<Shader> shader;
31  Ref<Mesh> quad;
32  Scene scene;
33 
34  public:
36  Engine(int w, int h);
37 
39  ~Engine();
40 
42  void ProcessInput(bool *quit);
43 
45  void Update(double dt);
46 
48  void Render();
49 
51  void MainGameLoop();
52 
55  void Start();
56 
59  void Shutdown();
60 
62  void InitializeGraphicsSubSystem();
63 
64  };
65 
66 }
67 #endif
Engine::Scene
A container for entities currently in the Scene.
Definition: Scene.hpp:9
Engine::Ref
std::shared_ptr< T > Ref
Has stuff for making references a lot more easily shared smart pointer.
Definition: Base.hpp:21
Engine
Definition: Animation.hpp:14
Engine::Uni
std::unique_ptr< T > Uni
Has stuff for making references a lot more easily shared smart pointer representing a unique object.
Definition: Base.hpp:12