<?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="de/d1c/classGameObject" kind="class" language="C++" prot="public">
    <compoundname>GameObject</compoundname>
    <includes refid="d4/db5/GameObject_8hpp" local="no">GameObject.hpp</includes>
      <sectiondef kind="private-attrib">
      <memberdef kind="variable" id="de/d1c/classGameObject_1ab5b5189fede20b8d6f9ac73934e8a724" prot="private" static="no" mutable="no">
        <type>std::vector&lt; <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> * &gt;</type>
        <definition>std::vector&lt;Component *&gt; GameObject::m_components</definition>
        <argsstring></argsstring>
        <name>m_components</name>
        <qualifiedname>GameObject::m_components</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/GameObject.hpp" line="76" column="17" bodyfile="include/GameObject.hpp" bodystart="76" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="de/d1c/classGameObject_1a6de57342e9d37c35b3aa918dc5cc883a" prot="private" static="no" mutable="no">
        <type>std::string</type>
        <definition>std::string GameObject::m_name</definition>
        <argsstring></argsstring>
        <name>m_name</name>
        <qualifiedname>GameObject::m_name</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/GameObject.hpp" line="77" column="17" bodyfile="include/GameObject.hpp" bodystart="77" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-func">
      <memberdef kind="function" id="de/d1c/classGameObject_1a0737657696b478c7962c2a6c2f5b1bd8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>GameObject::GameObject</definition>
        <argsstring>(std::string name)</argsstring>
        <name>GameObject</name>
        <qualifiedname>GameObject::GameObject</qualifiedname>
        <param>
          <type>std::string</type>
          <declname>name</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Construct a new Game Object</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the name of the <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref> </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/GameObject.hpp" line="20" column="5" bodyfile="src/GameObject.cpp" bodystart="3" bodyend="5"/>
      </memberdef>
      <memberdef kind="function" id="de/d1c/classGameObject_1ab82dfdb656f9051c0587e6593b2dda97" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>GameObject::~GameObject</definition>
        <argsstring>()</argsstring>
        <name>~GameObject</name>
        <qualifiedname>GameObject::~GameObject</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Destroy the Game Object </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/GameObject.hpp" line="25" column="5" bodyfile="src/GameObject.cpp" bodystart="7" bodyend="11"/>
      </memberdef>
      <memberdef kind="function" id="de/d1c/classGameObject_1a55e8c4dff07bdf40e9eb0bda3fb17bba" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void GameObject::Update</definition>
        <argsstring>(SDL_Event e, int frame, std::vector&lt; std::string &gt; broadcastList)</argsstring>
        <name>Update</name>
        <qualifiedname>GameObject::Update</qualifiedname>
        <param>
          <type>SDL_Event</type>
          <declname>e</declname>
        </param>
        <param>
          <type>int</type>
          <declname>frame</declname>
        </param>
        <param>
          <type>std::vector&lt; std::string &gt;</type>
          <declname>broadcastList</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Update all <ref refid="d8/d6b/classComponent" kindref="compound">components </ref> within the <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref>.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>e</parametername>
</parameternamelist>
<parameterdescription>
<para>any user input </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>frame</parametername>
</parameternamelist>
<parameterdescription>
<para>the current frame </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>broadcastList</parametername>
</parameternamelist>
<parameterdescription>
<para>a list of messages for <ref refid="d8/d6b/classComponent" kindref="compound">components </ref> to talk to each other </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="see"><para><ref refid="d1/db6/classEngine_1ac84eefe06226f430a2448306e6fd2579" kindref="member">Engine::Update()</ref> </para>
</simplesect>
<simplesect kind="see"><para><ref refid="d8/d6b/classComponent_1a9c764c2a5607ef52629458d361ebf16e" kindref="member">Component::Update()</ref> </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/GameObject.hpp" line="36" column="10" bodyfile="src/GameObject.cpp" bodystart="25" bodyend="29"/>
      </memberdef>
      <memberdef kind="function" id="de/d1c/classGameObject_1a4018df48b4df0fc4b1db520fcad1ba6c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void GameObject::Render</definition>
        <argsstring>(SDL_Renderer *ren)</argsstring>
        <name>Render</name>
        <qualifiedname>GameObject::Render</qualifiedname>
        <param>
          <type>SDL_Renderer *</type>
          <declname>ren</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Render all <ref refid="d8/d6b/classComponent" kindref="compound">components </ref> within the <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref>.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>ren</parametername>
</parameternamelist>
<parameterdescription>
<para>the renderer to be drawn to </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="see"><para><ref refid="d1/db6/classEngine_1acde70aed0043e2e2091d0bb6cce8e3c1" kindref="member">Engine::Render()</ref> </para>
</simplesect>
<simplesect kind="see"><para><ref refid="d8/d6b/classComponent_1ab856bdb8c4357a080d7abcf99871a573" kindref="member">Component::Render()</ref> </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/GameObject.hpp" line="45" column="10" bodyfile="src/GameObject.cpp" bodystart="31" bodyend="35"/>
      </memberdef>
      <memberdef kind="function" id="de/d1c/classGameObject_1a0d33d826d709a1e4496e568193fb9c57" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void GameObject::AddComponent</definition>
        <argsstring>(Component *c)</argsstring>
        <name>AddComponent</name>
        <qualifiedname>GameObject::AddComponent</qualifiedname>
        <param>
          <type><ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> *</type>
          <declname>c</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Add a new <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> to the <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref>.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>c</parametername>
</parameternamelist>
<parameterdescription>
<para>a pointer to the <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> to be added </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/GameObject.hpp" line="52" column="10" bodyfile="src/GameObject.cpp" bodystart="13" bodyend="15"/>
        <referencedby refid="d5/d3b/classGameMakerGUI_1a39546dd352c9c5d198f61e34011131b4" compoundref="d8/da4/GameMakerGUI_8cpp" startline="224" endline="367">GameMakerGUI::CreateComponent</referencedby>
        <referencedby refid="d1/db6/classEngine_1a0a1b174ad072878adc6dff75d40b8dd9" compoundref="d6/d0c/Engine_8cpp" startline="206" endline="219">Engine::createFly</referencedby>
        <referencedby refid="d5/d3b/classGameMakerGUI_1a8bb86d3ac72c1ba9607b8c638e5e91dc" compoundref="d8/da4/GameMakerGUI_8cpp" startline="369" endline="383">GameMakerGUI::FindTransform</referencedby>
        <referencedby refid="d1/db6/classEngine_1a1fbe9f5cb4abc3572e432cae1f154817" compoundref="d6/d0c/Engine_8cpp" startline="162" endline="204">Engine::Start</referencedby>
      </memberdef>
      <memberdef kind="function" id="de/d1c/classGameObject_1ae603a4ad1a0110ef90f51156cb1e7166" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void GameObject::RemoveComponent</definition>
        <argsstring>(Component *c)</argsstring>
        <name>RemoveComponent</name>
        <qualifiedname>GameObject::RemoveComponent</qualifiedname>
        <param>
          <type><ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> *</type>
          <declname>c</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Remove a <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> from the <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref>.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>c</parametername>
</parameternamelist>
<parameterdescription>
<para>a pointer to the <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> to be removed </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/GameObject.hpp" line="59" column="10" bodyfile="src/GameObject.cpp" bodystart="17" bodyend="23"/>
        <referencedby refid="d5/d3b/classGameMakerGUI_1a234477cd3aefa75d38b00aa81c848525" compoundref="d8/da4/GameMakerGUI_8cpp" startline="178" endline="213">GameMakerGUI::EditGameObject</referencedby>
      </memberdef>
      <memberdef kind="function" id="de/d1c/classGameObject_1ab396480ccd35a5b6ce2f94c03738c54e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const std::vector&lt; <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> * &gt;</type>
        <definition>const std::vector&lt; Component * &gt; GameObject::ListComponents</definition>
        <argsstring>()</argsstring>
        <name>ListComponents</name>
        <qualifiedname>GameObject::ListComponents</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Gets a list of all <ref refid="d8/d6b/classComponent" kindref="compound">components </ref> within the <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref>.</para>
<para><simplesect kind="return"><para>const std::vector&lt;Component*&gt; </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/GameObject.hpp" line="66" column="23" bodyfile="src/GameObject.cpp" bodystart="37" bodyend="39"/>
        <referencedby refid="d5/d3b/classGameMakerGUI_1a234477cd3aefa75d38b00aa81c848525" compoundref="d8/da4/GameMakerGUI_8cpp" startline="178" endline="213">GameMakerGUI::EditGameObject</referencedby>
        <referencedby refid="d5/d3b/classGameMakerGUI_1a8bb86d3ac72c1ba9607b8c638e5e91dc" compoundref="d8/da4/GameMakerGUI_8cpp" startline="369" endline="383">GameMakerGUI::FindTransform</referencedby>
      </memberdef>
      <memberdef kind="function" id="de/d1c/classGameObject_1a74ce03d596c95cf6ebb8105c02260e7f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>std::string</type>
        <definition>std::string GameObject::GetName</definition>
        <argsstring>()</argsstring>
        <name>GetName</name>
        <qualifiedname>GameObject::GetName</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Gets the name of the <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref>.</para>
<para><simplesect kind="return"><para>the name of the <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref> </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/GameObject.hpp" line="73" column="17" bodyfile="src/GameObject.cpp" bodystart="41" bodyend="43"/>
        <referencedby refid="d5/d3b/classGameMakerGUI_1a39546dd352c9c5d198f61e34011131b4" compoundref="d8/da4/GameMakerGUI_8cpp" startline="224" endline="367">GameMakerGUI::CreateComponent</referencedby>
        <referencedby refid="d5/d3b/classGameMakerGUI_1a234477cd3aefa75d38b00aa81c848525" compoundref="d8/da4/GameMakerGUI_8cpp" startline="178" endline="213">GameMakerGUI::EditGameObject</referencedby>
        <referencedby refid="d5/d3b/classGameMakerGUI_1ac6b9e94c057349726c94cbaea077ac07" compoundref="d8/da4/GameMakerGUI_8cpp" startline="110" endline="142">GameMakerGUI::ShowGameObjectWindow</referencedby>
      </memberdef>
      </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
<para>A representation of any object in the game. Has minimal functionality on its own, holds a list of <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> objects which handle all game-related tasks. </para>
    </detaileddescription>
    <location file="include/GameObject.hpp" line="13" column="1" bodyfile="include/GameObject.hpp" bodystart="13" bodyend="79"/>
    <listofallmembers>
      <member refid="de/d1c/classGameObject_1a0d33d826d709a1e4496e568193fb9c57" prot="public" virt="non-virtual"><scope>GameObject</scope><name>AddComponent</name></member>
      <member refid="de/d1c/classGameObject_1a0737657696b478c7962c2a6c2f5b1bd8" prot="public" virt="non-virtual"><scope>GameObject</scope><name>GameObject</name></member>
      <member refid="de/d1c/classGameObject_1a74ce03d596c95cf6ebb8105c02260e7f" prot="public" virt="non-virtual"><scope>GameObject</scope><name>GetName</name></member>
      <member refid="de/d1c/classGameObject_1ab396480ccd35a5b6ce2f94c03738c54e" prot="public" virt="non-virtual"><scope>GameObject</scope><name>ListComponents</name></member>
      <member refid="de/d1c/classGameObject_1ab5b5189fede20b8d6f9ac73934e8a724" prot="private" virt="non-virtual"><scope>GameObject</scope><name>m_components</name></member>
      <member refid="de/d1c/classGameObject_1a6de57342e9d37c35b3aa918dc5cc883a" prot="private" virt="non-virtual"><scope>GameObject</scope><name>m_name</name></member>
      <member refid="de/d1c/classGameObject_1ae603a4ad1a0110ef90f51156cb1e7166" prot="public" virt="non-virtual"><scope>GameObject</scope><name>RemoveComponent</name></member>
      <member refid="de/d1c/classGameObject_1a4018df48b4df0fc4b1db520fcad1ba6c" prot="public" virt="non-virtual"><scope>GameObject</scope><name>Render</name></member>
      <member refid="de/d1c/classGameObject_1a55e8c4dff07bdf40e9eb0bda3fb17bba" prot="public" virt="non-virtual"><scope>GameObject</scope><name>Update</name></member>
      <member refid="de/d1c/classGameObject_1ab82dfdb656f9051c0587e6593b2dda97" prot="public" virt="non-virtual"><scope>GameObject</scope><name>~GameObject</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
