\hypertarget{classGameMakerGUI}{}\doxysection{Game\+Maker\+GUI Class Reference}
\label{classGameMakerGUI}\index{GameMakerGUI@{GameMakerGUI}}


{\ttfamily \#include $<$Game\+Maker\+GUI.\+hpp$>$}

\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classGameMakerGUI_ad37ecbda46cbed33f2cbbe3e3bf0016f}{Game\+Maker\+GUI}} (SDL\+\_\+\+Window $\ast$window, SDL\+\_\+\+Renderer $\ast$renderer, std\+::vector$<$ \mbox{\hyperlink{classGameObject}{Game\+Object}} $\ast$ $>$ $\ast$game\+Objects)
\item 
\mbox{\hyperlink{classGameMakerGUI_a2a29c430891076eb8e7fe0ddf4861079}{$\sim$\+Game\+Maker\+GUI}} ()
\item 
void \mbox{\hyperlink{classGameMakerGUI_ae5d7cd973b4ae98b6bb53a780eb5065a}{Input}} (SDL\+\_\+\+Event e)
\item 
void \mbox{\hyperlink{classGameMakerGUI_a2cc6da97c0f4b45175ddc9683308866e}{Render\+Editor}} (\mbox{\hyperlink{classIGraphicsEngineRenderer}{IGraphics\+Engine\+Renderer}} $\ast$m\+Renderer, bool $\ast$run\+Game)
\end{DoxyCompactItemize}
\doxysubsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{classGameMakerGUI_ac6b9e94c057349726c94cbaea077ac07}{Show\+Game\+Object\+Window}} ()
\item 
void \mbox{\hyperlink{classGameMakerGUI_a7161039330e8a8cc81dbd9a813d34038}{Show\+Debug\+Window}} ()
\item 
void \mbox{\hyperlink{classGameMakerGUI_a93fadf8f7775147db45bf8c0f41c8f60}{Create\+New\+Game\+Object}} ()
\item 
void \mbox{\hyperlink{classGameMakerGUI_a234477cd3aefa75d38b00aa81c848525}{Edit\+Game\+Object}} ()
\item 
void \mbox{\hyperlink{classGameMakerGUI_a39546dd352c9c5d198f61e34011131b4}{Create\+Component}} (\mbox{\hyperlink{classIGraphicsEngineRenderer}{IGraphics\+Engine\+Renderer}} $\ast$ren)
\item 
\mbox{\hyperlink{classTransformComponent}{Transform\+Component}} $\ast$ \mbox{\hyperlink{classGameMakerGUI_a8bb86d3ac72c1ba9607b8c638e5e91dc}{Find\+Transform}} (\mbox{\hyperlink{classGameObject}{Game\+Object}} $\ast$cur\+Obj)
\end{DoxyCompactItemize}
\doxysubsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
std\+::vector$<$ \mbox{\hyperlink{classGameObject}{Game\+Object}} $\ast$ $>$ $\ast$ \mbox{\hyperlink{classGameMakerGUI_a8c721d17e3fa3992f27196e17324b17c}{m\+\_\+gameobjects}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
The GUI creating the game editor. Displays menus allowing for creation, editing, and destruction of all {\ttfamily \doxylink{classGameObject}{Game\+Objects}} and {\ttfamily \doxylink{classComponent}{Components}} 

\doxysubsection{Constructor \& Destructor Documentation}
\Hypertarget{classGameMakerGUI_ad37ecbda46cbed33f2cbbe3e3bf0016f}\label{classGameMakerGUI_ad37ecbda46cbed33f2cbbe3e3bf0016f} 
\index{GameMakerGUI@{GameMakerGUI}!GameMakerGUI@{GameMakerGUI}}
\index{GameMakerGUI@{GameMakerGUI}!GameMakerGUI@{GameMakerGUI}}
\doxysubsubsection{\texorpdfstring{GameMakerGUI()}{GameMakerGUI()}}
{\footnotesize\ttfamily Game\+Maker\+GUI\+::\+Game\+Maker\+GUI (\begin{DoxyParamCaption}\item[{SDL\+\_\+\+Window $\ast$}]{window,  }\item[{SDL\+\_\+\+Renderer $\ast$}]{renderer,  }\item[{std\+::vector$<$ \mbox{\hyperlink{classGameObject}{Game\+Object}} $\ast$ $>$ $\ast$}]{game\+Objects }\end{DoxyParamCaption})}

Construct a new Game Maker GUI object


\begin{DoxyParams}{Parameters}
{\em window} & the window to be drawn to \\
\hline
{\em renderer} & the renderer to be drawn to \\
\hline
{\em game\+Objects} & all game objects in the game \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\doxylink{classEngine_ab03f0933af2767764d2e05f56fa44fd7}{Engine\+::\+Initialize\+GUI()} 

\doxylink{classEngine_acde70aed0043e2e2091d0bb6cce8e3c1}{Engine\+::\+Render()} 
\end{DoxySeeAlso}
\Hypertarget{classGameMakerGUI_a2a29c430891076eb8e7fe0ddf4861079}\label{classGameMakerGUI_a2a29c430891076eb8e7fe0ddf4861079} 
\index{GameMakerGUI@{GameMakerGUI}!````~GameMakerGUI@{$\sim$GameMakerGUI}}
\index{````~GameMakerGUI@{$\sim$GameMakerGUI}!GameMakerGUI@{GameMakerGUI}}
\doxysubsubsection{\texorpdfstring{$\sim$GameMakerGUI()}{\string~GameMakerGUI()}}
{\footnotesize\ttfamily Game\+Maker\+GUI\+::$\sim$\+Game\+Maker\+GUI (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Destroy the Game Maker GUI object 

\doxysubsection{Member Function Documentation}
\Hypertarget{classGameMakerGUI_a39546dd352c9c5d198f61e34011131b4}\label{classGameMakerGUI_a39546dd352c9c5d198f61e34011131b4} 
\index{GameMakerGUI@{GameMakerGUI}!CreateComponent@{CreateComponent}}
\index{CreateComponent@{CreateComponent}!GameMakerGUI@{GameMakerGUI}}
\doxysubsubsection{\texorpdfstring{CreateComponent()}{CreateComponent()}}
{\footnotesize\ttfamily void Game\+Maker\+GUI\+::\+Create\+Component (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classIGraphicsEngineRenderer}{IGraphics\+Engine\+Renderer}} $\ast$}]{ren }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}

Displays a window to create a new \doxylink{classComponent}{Component}


\begin{DoxyParams}{Parameters}
{\em ren} & the renderer a new component might need \\
\hline
\end{DoxyParams}
Here is the call graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d3b/classGameMakerGUI_a39546dd352c9c5d198f61e34011131b4_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d3b/classGameMakerGUI_a39546dd352c9c5d198f61e34011131b4_icgraph}
\end{center}
\end{figure}
\Hypertarget{classGameMakerGUI_a93fadf8f7775147db45bf8c0f41c8f60}\label{classGameMakerGUI_a93fadf8f7775147db45bf8c0f41c8f60} 
\index{GameMakerGUI@{GameMakerGUI}!CreateNewGameObject@{CreateNewGameObject}}
\index{CreateNewGameObject@{CreateNewGameObject}!GameMakerGUI@{GameMakerGUI}}
\doxysubsubsection{\texorpdfstring{CreateNewGameObject()}{CreateNewGameObject()}}
{\footnotesize\ttfamily void Game\+Maker\+GUI\+::\+Create\+New\+Game\+Object (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}

Displays a window to create a new \doxylink{classGameObject}{Game\+Object}. Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d3b/classGameMakerGUI_a93fadf8f7775147db45bf8c0f41c8f60_icgraph}
\end{center}
\end{figure}
\Hypertarget{classGameMakerGUI_a234477cd3aefa75d38b00aa81c848525}\label{classGameMakerGUI_a234477cd3aefa75d38b00aa81c848525} 
\index{GameMakerGUI@{GameMakerGUI}!EditGameObject@{EditGameObject}}
\index{EditGameObject@{EditGameObject}!GameMakerGUI@{GameMakerGUI}}
\doxysubsubsection{\texorpdfstring{EditGameObject()}{EditGameObject()}}
{\footnotesize\ttfamily void Game\+Maker\+GUI\+::\+Edit\+Game\+Object (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}

Displays a window to edit a \doxylink{classGameObject}{Game\+Object}. \begin{DoxySeeAlso}{See also}
\doxylink{classGameMakerGUI_a39546dd352c9c5d198f61e34011131b4}{Create\+Component()} 
\end{DoxySeeAlso}
Here is the call graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d3b/classGameMakerGUI_a234477cd3aefa75d38b00aa81c848525_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d3b/classGameMakerGUI_a234477cd3aefa75d38b00aa81c848525_icgraph}
\end{center}
\end{figure}
\Hypertarget{classGameMakerGUI_a8bb86d3ac72c1ba9607b8c638e5e91dc}\label{classGameMakerGUI_a8bb86d3ac72c1ba9607b8c638e5e91dc} 
\index{GameMakerGUI@{GameMakerGUI}!FindTransform@{FindTransform}}
\index{FindTransform@{FindTransform}!GameMakerGUI@{GameMakerGUI}}
\doxysubsubsection{\texorpdfstring{FindTransform()}{FindTransform()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classTransformComponent}{Transform\+Component}} $\ast$ Game\+Maker\+GUI\+::\+Find\+Transform (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classGameObject}{Game\+Object}} $\ast$}]{cur\+Obj }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}

Gets a \doxylink{classTransformComponent}{Transform\+Component} attached to the given \doxylink{classGameObject}{Game\+Object}


\begin{DoxyParams}{Parameters}
{\em cur\+Obj} & the game object being checked \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a \doxylink{classTransformComponent}{Transform\+Component} attached to cur\+Obj 
\end{DoxyReturn}
Here is the call graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d3b/classGameMakerGUI_a8bb86d3ac72c1ba9607b8c638e5e91dc_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d3b/classGameMakerGUI_a8bb86d3ac72c1ba9607b8c638e5e91dc_icgraph}
\end{center}
\end{figure}
\Hypertarget{classGameMakerGUI_ae5d7cd973b4ae98b6bb53a780eb5065a}\label{classGameMakerGUI_ae5d7cd973b4ae98b6bb53a780eb5065a} 
\index{GameMakerGUI@{GameMakerGUI}!Input@{Input}}
\index{Input@{Input}!GameMakerGUI@{GameMakerGUI}}
\doxysubsubsection{\texorpdfstring{Input()}{Input()}}
{\footnotesize\ttfamily void Game\+Maker\+GUI\+::\+Input (\begin{DoxyParamCaption}\item[{SDL\+\_\+\+Event}]{e }\end{DoxyParamCaption})}

Forwards all input on to Im\+Gui Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d3b/classGameMakerGUI_ae5d7cd973b4ae98b6bb53a780eb5065a_icgraph}
\end{center}
\end{figure}
\Hypertarget{classGameMakerGUI_a2cc6da97c0f4b45175ddc9683308866e}\label{classGameMakerGUI_a2cc6da97c0f4b45175ddc9683308866e} 
\index{GameMakerGUI@{GameMakerGUI}!RenderEditor@{RenderEditor}}
\index{RenderEditor@{RenderEditor}!GameMakerGUI@{GameMakerGUI}}
\doxysubsubsection{\texorpdfstring{RenderEditor()}{RenderEditor()}}
{\footnotesize\ttfamily void Game\+Maker\+GUI\+::\+Render\+Editor (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classIGraphicsEngineRenderer}{IGraphics\+Engine\+Renderer}} $\ast$}]{m\+Renderer,  }\item[{bool $\ast$}]{run\+Game }\end{DoxyParamCaption})}

The main function to draw the GUI. Dispatches member functions to draw various editor menus.


\begin{DoxyParams}{Parameters}
{\em m\+Renderer} & the renderer to be drawn to \\
\hline
{\em run\+Game} & pointer to the bool controlling \doxylink{classEngine_a9ec9d3d7dc0f9e79032dd83801778eaf}{Engine\#\+Main\+Game\+Loop()} \\
\hline
\end{DoxyParams}
Here is the call graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d3b/classGameMakerGUI_a2cc6da97c0f4b45175ddc9683308866e_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d3b/classGameMakerGUI_a2cc6da97c0f4b45175ddc9683308866e_icgraph}
\end{center}
\end{figure}
\Hypertarget{classGameMakerGUI_a7161039330e8a8cc81dbd9a813d34038}\label{classGameMakerGUI_a7161039330e8a8cc81dbd9a813d34038} 
\index{GameMakerGUI@{GameMakerGUI}!ShowDebugWindow@{ShowDebugWindow}}
\index{ShowDebugWindow@{ShowDebugWindow}!GameMakerGUI@{GameMakerGUI}}
\doxysubsubsection{\texorpdfstring{ShowDebugWindow()}{ShowDebugWindow()}}
{\footnotesize\ttfamily void Game\+Maker\+GUI\+::\+Show\+Debug\+Window (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}

Displays internal GUI static variables for debugging purposes. Here is the call graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d3b/classGameMakerGUI_a7161039330e8a8cc81dbd9a813d34038_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d3b/classGameMakerGUI_a7161039330e8a8cc81dbd9a813d34038_icgraph}
\end{center}
\end{figure}
\Hypertarget{classGameMakerGUI_ac6b9e94c057349726c94cbaea077ac07}\label{classGameMakerGUI_ac6b9e94c057349726c94cbaea077ac07} 
\index{GameMakerGUI@{GameMakerGUI}!ShowGameObjectWindow@{ShowGameObjectWindow}}
\index{ShowGameObjectWindow@{ShowGameObjectWindow}!GameMakerGUI@{GameMakerGUI}}
\doxysubsubsection{\texorpdfstring{ShowGameObjectWindow()}{ShowGameObjectWindow()}}
{\footnotesize\ttfamily void Game\+Maker\+GUI\+::\+Show\+Game\+Object\+Window (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}

Displays a window containing all Game\+Objects. \begin{DoxySeeAlso}{See also}
\doxylink{classGameMakerGUI_a93fadf8f7775147db45bf8c0f41c8f60}{Create\+New\+Game\+Object()} 

\doxylink{classGameMakerGUI_a234477cd3aefa75d38b00aa81c848525}{Edit\+Game\+Object()} 
\end{DoxySeeAlso}
Here is the call graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d3b/classGameMakerGUI_ac6b9e94c057349726c94cbaea077ac07_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d3b/classGameMakerGUI_ac6b9e94c057349726c94cbaea077ac07_icgraph}
\end{center}
\end{figure}


\doxysubsection{Member Data Documentation}
\Hypertarget{classGameMakerGUI_a8c721d17e3fa3992f27196e17324b17c}\label{classGameMakerGUI_a8c721d17e3fa3992f27196e17324b17c} 
\index{GameMakerGUI@{GameMakerGUI}!m\_gameobjects@{m\_gameobjects}}
\index{m\_gameobjects@{m\_gameobjects}!GameMakerGUI@{GameMakerGUI}}
\doxysubsubsection{\texorpdfstring{m\_gameobjects}{m\_gameobjects}}
{\footnotesize\ttfamily std\+::vector$<$\mbox{\hyperlink{classGameObject}{Game\+Object}} $\ast$$>$$\ast$ Game\+Maker\+GUI\+::m\+\_\+gameobjects\hspace{0.3cm}{\ttfamily [private]}}

Pointers to all the game objects in the \doxylink{classEngine}{Engine}. 

The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
include/Game\+Maker\+GUI.\+hpp\item 
src/Game\+Maker\+GUI.\+cpp\end{DoxyCompactItemize}
