MCPcopy Create free account
hub / github.com/JeanPhilippeKernel/RendererEngine / Engine

Class Engine

ZEngine/include/ZEngine/Engine.h:18–53  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16namespace ZEngine {
17
18 class Engine : public Core::IInitializable, public Core::IUpdatable, public Core::IRenderable {
19
20 public:
21 explicit Engine(const EngineConfiguration&);
22 virtual ~Engine();
23
24 public:
25 virtual void Initialize() override;
26 virtual void Update(Core::TimeStep delta_time) override;
27 virtual void Render() override;
28
29 public:
30 void Start();
31
32 const Ref<ZEngine::Window::CoreWindow>& GetWindow() const {
33 return m_window;
34 }
35
36 static Core::TimeStep GetDeltaTime() {
37 return m_delta_time;
38 }
39
40 protected:
41 void Run();
42 virtual void ProcessEvent();
43
44 public:
45 bool OnEngineClosed(Event::EngineClosedEvent&);
46
47 private:
48 static Core::TimeStep m_delta_time;
49
50 bool m_request_terminate;
51 float m_last_frame_time;
52 Ref<ZEngine::Window::CoreWindow> m_window;
53 };
54
55 Engine* CreateEngine();
56 Engine* CreateEngine(const EngineConfiguration&);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected