\hypertarget{Component_8hpp_source}{}\doxysection{Component.\+hpp}
\label{Component_8hpp_source}\index{include/Component.hpp@{include/Component.hpp}}

\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ COMPONENT\_HPP}}
\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ COMPONENT\_HPP}}
\DoxyCodeLine{00003\ }
\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#if\ defined(LINUX)\ ||\ defined(MINGW)}}
\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ <SDL2/SDL.h>}}
\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00007\ \textcolor{comment}{//\ Windows\ and\ Mac\ use\ a\ different\ path}}
\DoxyCodeLine{00008\ \textcolor{comment}{//\ If\ you\ have\ compilation\ errors,\ change\ this\ as\ needed.}}
\DoxyCodeLine{00009\ \textcolor{preprocessor}{\#include\ <SDL.h>}}
\DoxyCodeLine{00010\ }
\DoxyCodeLine{00011\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00012\ }
\DoxyCodeLine{00013\ \textcolor{preprocessor}{\#include\ "{}imgui.h"{}}}
\DoxyCodeLine{00014\ \textcolor{preprocessor}{\#include\ "{}imgui\_impl\_sdl2.h"{}}}
\DoxyCodeLine{00015\ \textcolor{preprocessor}{\#include\ "{}imgui\_impl\_sdlrenderer.h"{}}}
\DoxyCodeLine{00016\ }
\DoxyCodeLine{00017\ \textcolor{preprocessor}{\#include\ <vector>}}
\DoxyCodeLine{00018\ \textcolor{preprocessor}{\#include\ <string>}}
\DoxyCodeLine{00019\ \textcolor{preprocessor}{\#include\ <algorithm>}}
\DoxyCodeLine{00020\ }
\DoxyCodeLine{00025\ \textcolor{keyword}{enum}\ ComponentTag\ \{}
\DoxyCodeLine{00026\ \ \ \ \ Physics,}
\DoxyCodeLine{00027\ \ \ \ \ Input,}
\DoxyCodeLine{00028\ \ \ \ \ Graphics,}
\DoxyCodeLine{00029\ \ \ \ \ Position}
\DoxyCodeLine{00030\ \};}
\DoxyCodeLine{00031\ }
\DoxyCodeLine{00038\ \textcolor{keyword}{class\ }\mbox{\hyperlink{classComponent}{Component}}\ \{}
\DoxyCodeLine{00039\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00043\ \ \ \ \ \mbox{\hyperlink{classComponent_a8775db6d1a2c1afc2e77cd3c8f39da6f}{Component}}();}
\DoxyCodeLine{00044\ }
\DoxyCodeLine{00048\ \ \ \ \ \mbox{\hyperlink{classComponent_ab8378fa275af98e568a7e91d33d867af}{\string~Component}}();}
\DoxyCodeLine{00049\ }
\DoxyCodeLine{00059\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classComponent_a9c764c2a5607ef52629458d361ebf16e}{Update}}(SDL\_Event\ e,\ \textcolor{keywordtype}{int}\ frame,\ std::vector<std::string>\ broadcastList);}
\DoxyCodeLine{00060\ }
\DoxyCodeLine{00067\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classComponent_ab856bdb8c4357a080d7abcf99871a573}{Render}}(SDL\_Renderer\ *ren);}
\DoxyCodeLine{00068\ }
\DoxyCodeLine{00075\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classComponent_a92af5bb942ea9633515a0c0e16a0bb8c}{ShowComponentEditor}}(\textcolor{keywordtype}{bool}*\ showEditor);}
\DoxyCodeLine{00076\ }
\DoxyCodeLine{00083\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classComponent_aed93a0ec70ebc71f34f02eb0a3ad4006}{HasTag}}(ComponentTag\ t);}
\DoxyCodeLine{00084\ }
\DoxyCodeLine{00092\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ \mbox{\hyperlink{classComponent_a6ad359e7f57daa4ba249aaf5c88da052}{ComponentTypeName}}()\ \{\textcolor{keywordflow}{return}\ \textcolor{stringliteral}{"{}Component"{}};\}}
\DoxyCodeLine{00093\ }
\DoxyCodeLine{00102\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classComponent_aea8f0f460a62d86183020bd667b6cbf0}{ParseAndUpdateBroadcast}}(std::vector<std::string>\ broadcastList);}
\DoxyCodeLine{00103\ }
\DoxyCodeLine{00104\ \textcolor{keyword}{protected}:}
\DoxyCodeLine{00105\ \ \ \ \ std::vector<ComponentTag>\ tags;}
\DoxyCodeLine{00106\ \ \ \ \ std::vector<std::string>\ previousBroadcasts;}
\DoxyCodeLine{00107\ \ \ \ \ std::vector<std::string>\ pendingBroadcasts;}
\DoxyCodeLine{00108\ \};}
\DoxyCodeLine{00109\ }
\DoxyCodeLine{00110\ \textcolor{preprocessor}{\#endif}}

\end{DoxyCode}
