<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.9.7" xml:lang="en-US">
  <compounddef id="df/d1f/Component_8hpp" kind="file" language="C++">
    <compoundname>Component.hpp</compoundname>
    <includes local="no">SDL.h</includes>
    <includes local="yes">imgui.h</includes>
    <includes local="yes">imgui_impl_sdl2.h</includes>
    <includes local="yes">imgui_impl_sdlrenderer.h</includes>
    <includes local="no">vector</includes>
    <includes local="no">string</includes>
    <includes local="no">algorithm</includes>
    <includedby refid="d4/db5/GameObject_8hpp" local="yes">include/GameObject.hpp</includedby>
    <includedby refid="d2/dad/HealthComponent_8h" local="yes">include/HealthComponent.h</includedby>
    <includedby refid="d5/d69/IPhysicsComponent_8hpp" local="yes">include/IPhysicsComponent.hpp</includedby>
    <includedby refid="de/d11/IScript_8hpp" local="yes">include/IScript.hpp</includedby>
    <includedby refid="de/d03/TileMap_8hpp" local="yes">include/TileMap.hpp</includedby>
    <includedby refid="d9/da8/TransformComponent_8hpp" local="yes">include/TransformComponent.hpp</includedby>
    <includedby refid="d4/d92/Component_8cpp" local="yes">src/Component.cpp</includedby>
    <incdepgraph>
      <node id="1">
        <label>include/Component.hpp</label>
        <link refid="df/d1f/Component_8hpp"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="3" relation="include">
        </childnode>
        <childnode refid="4" relation="include">
        </childnode>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="8" relation="include">
        </childnode>
      </node>
      <node id="2">
        <label>SDL.h</label>
      </node>
      <node id="8">
        <label>algorithm</label>
      </node>
      <node id="3">
        <label>imgui.h</label>
      </node>
      <node id="4">
        <label>imgui_impl_sdl2.h</label>
      </node>
      <node id="5">
        <label>imgui_impl_sdlrenderer.h</label>
      </node>
      <node id="7">
        <label>string</label>
      </node>
      <node id="6">
        <label>vector</label>
      </node>
    </incdepgraph>
    <invincdepgraph>
      <node id="1">
        <label>include/Component.hpp</label>
        <link refid="df/d1f/Component_8hpp"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="10" relation="include">
        </childnode>
        <childnode refid="11" relation="include">
        </childnode>
        <childnode refid="12" relation="include">
        </childnode>
      </node>
      <node id="13">
        <label>include/ControllerComponent.hpp</label>
        <link refid="d0/d32/ControllerComponent_8hpp_source"/>
      </node>
      <node id="3">
        <label>include/Engine.hpp</label>
        <link refid="d3/d48/Engine_8hpp_source"/>
      </node>
      <node id="4">
        <label>include/GameMakerGUI.hpp</label>
        <link refid="df/d47/GameMakerGUI_8hpp_source"/>
        <childnode refid="3" relation="include">
        </childnode>
      </node>
      <node id="2">
        <label>include/GameObject.hpp</label>
        <link refid="d4/db5/GameObject_8hpp_source"/>
        <childnode refid="3" relation="include">
        </childnode>
        <childnode refid="4" relation="include">
        </childnode>
      </node>
      <node id="5">
        <label>include/HealthComponent.h</label>
        <link refid="d2/dad/HealthComponent_8h_source"/>
      </node>
      <node id="6">
        <label>include/IPhysicsComponent.hpp</label>
        <link refid="d5/d69/IPhysicsComponent_8hpp_source"/>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="8" relation="include">
        </childnode>
      </node>
      <node id="10">
        <label>include/IScript.hpp</label>
        <link refid="de/d11/IScript_8hpp_source"/>
      </node>
      <node id="7">
        <label>include/PhysicsEngine.hpp</label>
        <link refid="d1/d20/PhysicsEngine_8hpp_source"/>
        <childnode refid="3" relation="include">
        </childnode>
      </node>
      <node id="9">
        <label>include/ProjectileComponent.hpp</label>
        <link refid="d8/da5/ProjectileComponent_8hpp_source"/>
      </node>
      <node id="8">
        <label>include/RigidbodyComponent.hpp</label>
        <link refid="d8/d16/RigidbodyComponent_8hpp_source"/>
        <childnode refid="9" relation="include">
        </childnode>
      </node>
      <node id="14">
        <label>include/Sprite.hpp</label>
        <link refid="da/da5/Sprite_8hpp_source"/>
      </node>
      <node id="11">
        <label>include/TileMap.hpp</label>
        <link refid="de/d03/TileMap_8hpp_source"/>
      </node>
      <node id="12">
        <label>include/TransformComponent.hpp</label>
        <link refid="d9/da8/TransformComponent_8hpp_source"/>
        <childnode refid="13" relation="include">
        </childnode>
        <childnode refid="4" relation="include">
        </childnode>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="8" relation="include">
        </childnode>
        <childnode refid="14" relation="include">
        </childnode>
      </node>
    </invincdepgraph>
    <innerclass refid="d8/d6b/classComponent" prot="public">Component</innerclass>
      <sectiondef kind="enum">
      <memberdef kind="enum" id="df/d1f/Component_8hpp_1abf646faba28e32e5a8f9ceefd5a6f68e" prot="public" static="no" strong="no">
        <type></type>
        <name>ComponentTag</name>
        <enumvalue id="df/d1f/Component_8hpp_1abf646faba28e32e5a8f9ceefd5a6f68ea04d3bb5a7145b862ce618963f3e204d2" prot="public">
          <name>Physics</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="df/d1f/Component_8hpp_1abf646faba28e32e5a8f9ceefd5a6f68eabd62348391d75c7fc8c130ea346cba29" prot="public">
          <name>Input</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="df/d1f/Component_8hpp_1abf646faba28e32e5a8f9ceefd5a6f68ea903b5b8ede65de7a8eb2c5a1885e9dc7" prot="public">
          <name>Graphics</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="df/d1f/Component_8hpp_1abf646faba28e32e5a8f9ceefd5a6f68ea0ca2444163688098d8e674e31fb11397" prot="public">
          <name>Position</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Tags for <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> types Used to identify which (if any) subsystems should interface with components using the tags. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/Component.hpp" line="25" column="1" bodyfile="include/Component.hpp" bodystart="25" bodyend="30"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <programlisting>
<codeline lineno="1"><highlight class="preprocessor">#ifndef<sp/>COMPONENT_HPP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>COMPONENT_HPP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3"><highlight class="normal"></highlight></codeline>
<codeline lineno="4"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>defined(LINUX)<sp/>||<sp/>defined(MINGW)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;SDL2/SDL.h&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="7"><highlight class="normal"></highlight><highlight class="comment">//<sp/>Windows<sp/>and<sp/>Mac<sp/>use<sp/>a<sp/>different<sp/>path</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="8"><highlight class="normal"></highlight><highlight class="comment">//<sp/>If<sp/>you<sp/>have<sp/>compilation<sp/>errors,<sp/>change<sp/>this<sp/>as<sp/>needed.</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="9"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;SDL.h&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="10"><highlight class="normal"></highlight></codeline>
<codeline lineno="11"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="12"><highlight class="normal"></highlight></codeline>
<codeline lineno="13"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;imgui.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="14"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;imgui_impl_sdl2.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="15"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;imgui_impl_sdlrenderer.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="16"><highlight class="normal"></highlight></codeline>
<codeline lineno="17"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;vector&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="18"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;string&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="19"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;algorithm&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="20"><highlight class="normal"></highlight></codeline>
<codeline lineno="25"><highlight class="normal"></highlight><highlight class="keyword">enum</highlight><highlight class="normal"><sp/>ComponentTag<sp/>{</highlight></codeline>
<codeline lineno="26"><highlight class="normal"><sp/><sp/><sp/><sp/>Physics,</highlight></codeline>
<codeline lineno="27"><highlight class="normal"><sp/><sp/><sp/><sp/>Input,</highlight></codeline>
<codeline lineno="28"><highlight class="normal"><sp/><sp/><sp/><sp/>Graphics,</highlight></codeline>
<codeline lineno="29"><highlight class="normal"><sp/><sp/><sp/><sp/>Position</highlight></codeline>
<codeline lineno="30"><highlight class="normal">};</highlight></codeline>
<codeline lineno="31"><highlight class="normal"></highlight></codeline>
<codeline lineno="38" refid="d8/d6b/classComponent" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="d8/d6b/classComponent" kindref="compound">Component</ref><sp/>{</highlight></codeline>
<codeline lineno="39"><highlight class="normal"></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="43"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="d8/d6b/classComponent_1a8775db6d1a2c1afc2e77cd3c8f39da6f" kindref="member">Component</ref>();</highlight></codeline>
<codeline lineno="44"><highlight class="normal"></highlight></codeline>
<codeline lineno="48"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="d8/d6b/classComponent_1ab8378fa275af98e568a7e91d33d867af" kindref="member">~Component</ref>();</highlight></codeline>
<codeline lineno="49"><highlight class="normal"></highlight></codeline>
<codeline lineno="59"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="d8/d6b/classComponent_1a9c764c2a5607ef52629458d361ebf16e" kindref="member">Update</ref>(SDL_Event<sp/>e,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>frame,<sp/>std::vector&lt;std::string&gt;<sp/>broadcastList);</highlight></codeline>
<codeline lineno="60"><highlight class="normal"></highlight></codeline>
<codeline lineno="67"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="d8/d6b/classComponent_1ab856bdb8c4357a080d7abcf99871a573" kindref="member">Render</ref>(SDL_Renderer<sp/>*ren);</highlight></codeline>
<codeline lineno="68"><highlight class="normal"></highlight></codeline>
<codeline lineno="75"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="d8/d6b/classComponent_1a92af5bb942ea9633515a0c0e16a0bb8c" kindref="member">ShowComponentEditor</ref>(</highlight><highlight class="keywordtype">bool</highlight><highlight class="normal">*<sp/>showEditor);</highlight></codeline>
<codeline lineno="76"><highlight class="normal"></highlight></codeline>
<codeline lineno="83"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="d8/d6b/classComponent_1aed93a0ec70ebc71f34f02eb0a3ad4006" kindref="member">HasTag</ref>(ComponentTag<sp/>t);</highlight></codeline>
<codeline lineno="84"><highlight class="normal"></highlight></codeline>
<codeline lineno="92" refid="d8/d6b/classComponent_1a6ad359e7f57daa4ba249aaf5c88da052" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/><ref refid="d8/d6b/classComponent_1a6ad359e7f57daa4ba249aaf5c88da052" kindref="member">ComponentTypeName</ref>()<sp/>{</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;Component&quot;</highlight><highlight class="normal">;}</highlight></codeline>
<codeline lineno="93"><highlight class="normal"></highlight></codeline>
<codeline lineno="102"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="d8/d6b/classComponent_1aea8f0f460a62d86183020bd667b6cbf0" kindref="member">ParseAndUpdateBroadcast</ref>(std::vector&lt;std::string&gt;<sp/>broadcastList);</highlight></codeline>
<codeline lineno="103"><highlight class="normal"></highlight></codeline>
<codeline lineno="104"><highlight class="normal"></highlight><highlight class="keyword">protected</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="105"><highlight class="normal"><sp/><sp/><sp/><sp/>std::vector&lt;ComponentTag&gt;<sp/>tags;</highlight></codeline>
<codeline lineno="106"><highlight class="normal"><sp/><sp/><sp/><sp/>std::vector&lt;std::string&gt;<sp/>previousBroadcasts;</highlight></codeline>
<codeline lineno="107"><highlight class="normal"><sp/><sp/><sp/><sp/>std::vector&lt;std::string&gt;<sp/>pendingBroadcasts;</highlight></codeline>
<codeline lineno="108"><highlight class="normal">};</highlight></codeline>
<codeline lineno="109"><highlight class="normal"></highlight></codeline>
<codeline lineno="110"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
    </programlisting>
    <location file="include/Component.hpp"/>
  </compounddef>
</doxygen>
