Anvil Engine
Loading...
Searching...
No Matches
IGame.h
Go to the documentation of this file.
1#pragma once
2#include "ACore.h"
3#include "AMath.h"
4
5class AEngine;
6
7class IGame
8{
9 public:
15 virtual ~IGame()
16 {
17 // Empty destructor implementation as the interface doesn't own resources
18 }
19
24 virtual void OnInit(AEngine* engine) = 0;
25
30 virtual void OnUpdate(float dt) = 0;
31
36 virtual void OnShutdown() = 0;
37
42 virtual glm::mat4 GetViewMatrix() = 0;
43};
44
45// Function pointer type for the DLL export
46typedef IGame* (*CreateGameFn)();
float dt
Definition Main.cpp:10
The main engine class that manages the application lifecycle, rendering, entities,...
Definition AEngine.h:25
Definition IGame.h:8
virtual glm::mat4 GetViewMatrix()=0
virtual void OnUpdate(float dt)=0
virtual void OnInit(AEngine *engine)=0
virtual ~IGame()
Definition IGame.h:15
virtual void OnShutdown()=0