\hypertarget{Engine_8hpp_source}{}\doxysection{Engine.\+hpp}
\label{Engine_8hpp_source}\index{include/Engine.hpp@{include/Engine.hpp}}

\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ SDLGRAPHICSPROGRAM}}
\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ SDLGRAPHICSPROGRAM}}
\DoxyCodeLine{00003\ }
\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ <iostream>}}
\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ <string>}}
\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ <sstream>}}
\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#include\ <fstream>}}
\DoxyCodeLine{00008\ \textcolor{preprocessor}{\#include\ <stdlib.h>}}
\DoxyCodeLine{00009\ \textcolor{preprocessor}{\#include\ <time.h>}}
\DoxyCodeLine{00010\ \textcolor{preprocessor}{\#include\ <vector>}}
\DoxyCodeLine{00011\ }
\DoxyCodeLine{00012\ \textcolor{preprocessor}{\#include\ "{}imgui.h"{}}}
\DoxyCodeLine{00013\ }
\DoxyCodeLine{00014\ \textcolor{preprocessor}{\#include\ "{}GameObject.hpp"{}}}
\DoxyCodeLine{00015\ \textcolor{preprocessor}{\#include\ "{}IGraphicsEngineRenderer.hpp"{}}}
\DoxyCodeLine{00016\ \textcolor{preprocessor}{\#include\ "{}PhysicsEngine.hpp"{}}}
\DoxyCodeLine{00017\ \textcolor{preprocessor}{\#include\ "{}GameMakerGUI.hpp"{}}}
\DoxyCodeLine{00018\ }
\DoxyCodeLine{00023\ \textcolor{keyword}{class\ }\mbox{\hyperlink{classEngine}{Engine}}}
\DoxyCodeLine{00024\ \{}
\DoxyCodeLine{00025\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00029\ \ \ \ \ \mbox{\hyperlink{classEngine_a8c98683b0a3aa28d8ab72a8bcd0d52f2}{Engine}}();}
\DoxyCodeLine{00030\ }
\DoxyCodeLine{00034\ \ \ \ \ \mbox{\hyperlink{classEngine_a8ef7030a089ecb30bbfcb9e43094717a}{\string~Engine}}();}
\DoxyCodeLine{00035\ }
\DoxyCodeLine{00040\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classEngine_a8420fafe78a3742a451fac2fcedef50c}{Input}}(\textcolor{keywordtype}{bool}\ *quit,\ \textcolor{keywordtype}{bool}\ *editing);}
\DoxyCodeLine{00041\ }
\DoxyCodeLine{00045\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classEngine_ac84eefe06226f430a2448306e6fd2579}{Update}}();}
\DoxyCodeLine{00046\ }
\DoxyCodeLine{00050\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classEngine_acde70aed0043e2e2091d0bb6cce8e3c1}{Render}}();}
\DoxyCodeLine{00051\ }
\DoxyCodeLine{00055\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classEngine_a9ec9d3d7dc0f9e79032dd83801778eaf}{MainGameLoop}}();}
\DoxyCodeLine{00056\ }
\DoxyCodeLine{00061\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classEngine_a1fbe9f5cb4abc3572e432cae1f154817}{Start}}();}
\DoxyCodeLine{00062\ }
\DoxyCodeLine{00067\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classEngine_a3dbd2c0a65e642baa7eaa97caa6e4e64}{Shutdown}}();}
\DoxyCodeLine{00068\ }
\DoxyCodeLine{00073\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classEngine_a7f07811f5bfae8943d5530057b1dc822}{InitializeGraphicsSubSystem}}();}
\DoxyCodeLine{00074\ }
\DoxyCodeLine{00079\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classEngine_a2e3d93df96db6361330d3a41f7b5892b}{InitializePhysicsSubsystem}}();}
\DoxyCodeLine{00080\ }
\DoxyCodeLine{00085\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classEngine_ab03f0933af2767764d2e05f56fa44fd7}{InitializeGUI}}();}
\DoxyCodeLine{00086\ }
\DoxyCodeLine{00094\ \ \ \ \ \mbox{\hyperlink{classGameObject}{GameObject}}\ *\mbox{\hyperlink{classEngine_a0a1b174ad072878adc6dff75d40b8dd9}{createFly}}(\mbox{\hyperlink{structVec2D}{Vec2D}}\ spawnPos);}
\DoxyCodeLine{00095\ }
\DoxyCodeLine{00096\ \textcolor{keyword}{private}:}
\DoxyCodeLine{00097\ }
\DoxyCodeLine{00101\ \ \ \ \ \mbox{\hyperlink{classSDLGraphicsEngineRenderer}{SDLGraphicsEngineRenderer}}\ *\mbox{\hyperlink{classEngine_a871acf97123e6fb628a4e16a60be1f7d}{mRenderer}}\ =\ \textcolor{keyword}{nullptr};}
\DoxyCodeLine{00102\ }
\DoxyCodeLine{00106\ \ \ \ \ \mbox{\hyperlink{classPhysicsEngine}{PhysicsEngine}}\ *\mbox{\hyperlink{classEngine_a4ec8c2b90b6421647f6da9c30ecc2bca}{mPhysics}}\ =\ \textcolor{keyword}{nullptr};}
\DoxyCodeLine{00107\ }
\DoxyCodeLine{00111\ \ \ \ \ \mbox{\hyperlink{classGameMakerGUI}{GameMakerGUI}}\ *\mbox{\hyperlink{classEngine_a9e8b2e9834b4ea54e780e00333ef749e}{mGUI}}\ =\ \textcolor{keyword}{nullptr};}
\DoxyCodeLine{00112\ }
\DoxyCodeLine{00116\ \ \ \ \ std::vector<GameObject\ *>\ \mbox{\hyperlink{classEngine_ab9e9061aa9c4bc7d2d94e5693bebde21}{m\_gameobjects}};}
\DoxyCodeLine{00117\ }
\DoxyCodeLine{00118\ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classEngine_a03d6c0fcad1696c5b232c862cb1dafb1}{runGame}}\ =\ \textcolor{keyword}{true};\ }
\DoxyCodeLine{00119\ \};}
\DoxyCodeLine{00120\ }
\DoxyCodeLine{00121\ \textcolor{preprocessor}{\#endif}}

\end{DoxyCode}
