Jagguar Game Engine

Loading...
Searching...
No Matches
Engine.hpp
1#ifndef SDLGRAPHICSPROGRAM
2#define SDLGRAPHICSPROGRAM
3
4#include <iostream>
5#include <string>
6#include <sstream>
7#include <fstream>
8#include <stdlib.h>
9#include <time.h>
10#include <vector>
11
12#include "imgui.h"
13
14#include "GameObject.hpp"
15#include "IGraphicsEngineRenderer.hpp"
16#include "PhysicsEngine.hpp"
17#include "GameMakerGUI.hpp"
18
23 class Engine
24{
25 public:
29 Engine();
30
34 ~Engine();
35
40 void Input(bool *quit, bool *editing);
41
45 void Update();
46
50 void Render();
51
55 void MainGameLoop();
56
61 void Start();
62
67 void Shutdown();
68
73 void InitializeGraphicsSubSystem();
74
79 void InitializePhysicsSubsystem();
80
85 void InitializeGUI();
86
94 GameObject *createFly(Vec2D spawnPos);
95
96 private:
97
101 SDLGraphicsEngineRenderer *mRenderer = nullptr;
102
106 PhysicsEngine *mPhysics = nullptr;
107
111 GameMakerGUI *mGUI = nullptr;
112
116 std::vector<GameObject *> m_gameobjects;
117
118 bool runGame = true;
119};
120
121#endif
Engine
Definition: Engine.hpp:24
Engine::runGame
bool runGame
Definition: Engine.hpp:118
Engine::createFly
GameObject * createFly(Vec2D spawnPos)
Definition: Engine.cpp:206
Engine::Start
void Start()
Definition: Engine.cpp:162
Engine::InitializePhysicsSubsystem
void InitializePhysicsSubsystem()
Definition: Engine.cpp:251
Engine::Shutdown
void Shutdown()
Definition: Engine.cpp:221
Engine::mPhysics
PhysicsEngine * mPhysics
Definition: Engine.hpp:106
Engine::InitializeGraphicsSubSystem
void InitializeGraphicsSubSystem()
Definition: Engine.cpp:236
Engine::Input
void Input(bool *quit, bool *editing)
Definition: Engine.cpp:36
Engine::mRenderer
SDLGraphicsEngineRenderer * mRenderer
Definition: Engine.hpp:101
Engine::Engine
Engine()
Definition: Engine.cpp:26
Engine::~Engine
~Engine()
Definition: Engine.cpp:31
Engine::mGUI
GameMakerGUI * mGUI
Definition: Engine.hpp:111
Engine::MainGameLoop
void MainGameLoop()
Definition: Engine.cpp:127
Engine::InitializeGUI
void InitializeGUI()
Definition: Engine.cpp:269
Engine::m_gameobjects
std::vector< GameObject * > m_gameobjects
Definition: Engine.hpp:116
Engine::Update
void Update()
Definition: Engine.cpp:58
Engine::Render
void Render()
Definition: Engine.cpp:87
GameMakerGUI
Definition: GameMakerGUI.hpp:20
GameObject
Definition: GameObject.hpp:13
PhysicsEngine
Definition: PhysicsEngine.hpp:11
SDLGraphicsEngineRenderer
Definition: IGraphicsEngineRenderer.hpp:63
Vec2D
Definition: TinyMath.hpp:14