<?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="d2/d0a/classTransformComponent" kind="class" language="C++" prot="public">
    <compoundname>TransformComponent</compoundname>
    <basecompoundref refid="d8/d6b/classComponent" prot="public" virt="non-virtual">Component</basecompoundref>
    <includes refid="d9/da8/TransformComponent_8hpp" local="no">TransformComponent.hpp</includes>
      <sectiondef kind="private-attrib">
      <memberdef kind="variable" id="d2/d0a/classTransformComponent_1ae464529a05665d3f6f35371e7a8947fd" prot="private" static="no" mutable="no">
        <type><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref></type>
        <definition>Vec2D TransformComponent::position</definition>
        <argsstring></argsstring>
        <name>position</name>
        <qualifiedname>TransformComponent::position</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/TransformComponent.hpp" line="60" column="11" bodyfile="include/TransformComponent.hpp" bodystart="60" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="d2/d0a/classTransformComponent_1a180638d1c113c045644a1d99bb101c46" prot="private" static="no" mutable="no">
        <type>std::vector&lt; ComponentTag &gt;</type>
        <definition>std::vector&lt;ComponentTag&gt; TransformComponent::tags</definition>
        <argsstring></argsstring>
        <name>tags</name>
        <qualifiedname>TransformComponent::tags</qualifiedname>
        <initializer>= {ComponentTag::Position}</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/TransformComponent.hpp" line="61" column="17" bodyfile="include/TransformComponent.hpp" bodystart="61" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-func">
      <memberdef kind="function" id="d2/d0a/classTransformComponent_1a461808701b999d0e0e14c856f7ab41c1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>TransformComponent::TransformComponent</definition>
        <argsstring>(int _x, int _y)</argsstring>
        <name>TransformComponent</name>
        <qualifiedname>TransformComponent::TransformComponent</qualifiedname>
        <param>
          <type>int</type>
          <declname>_x</declname>
        </param>
        <param>
          <type>int</type>
          <declname>_y</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Construct a new Transform <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> object.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>_x</parametername>
</parameternamelist>
<parameterdescription>
<para>the x position of the <ref refid="d2/d0a/classTransformComponent" kindref="compound">TransformComponent</ref> </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>_y</parametername>
</parameternamelist>
<parameterdescription>
<para>the y position of the <ref refid="d2/d0a/classTransformComponent" kindref="compound">TransformComponent</ref> </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/TransformComponent.hpp" line="20" column="5" bodyfile="src/TransformComponent.cpp" bodystart="3" bodyend="6"/>
      </memberdef>
      <memberdef kind="function" id="d2/d0a/classTransformComponent_1a37d5d34a3695eafc8b8cbf37905e756f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>TransformComponent::~TransformComponent</definition>
        <argsstring>()</argsstring>
        <name>~TransformComponent</name>
        <qualifiedname>TransformComponent::~TransformComponent</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Destroy the Transform <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> object. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/TransformComponent.hpp" line="25" column="5" bodyfile="src/TransformComponent.cpp" bodystart="23" bodyend="24"/>
      </memberdef>
      <memberdef kind="function" id="d2/d0a/classTransformComponent_1aa3cd2785878a82d02103778d04761a32" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void TransformComponent::SetTransform</definition>
        <argsstring>(Vec2D _pos)</argsstring>
        <name>SetTransform</name>
        <qualifiedname>TransformComponent::SetTransform</qualifiedname>
        <param>
          <type><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref></type>
          <declname>_pos</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the position of the <ref refid="d2/d0a/classTransformComponent" kindref="compound">TransformComponent</ref>.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>_pos</parametername>
</parameternamelist>
<parameterdescription>
<para>the new position of the <ref refid="d2/d0a/classTransformComponent" kindref="compound">TransformComponent</ref> </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="see"><para><ref refid="d2/d0a/classTransformComponent_1a9cfb03b06888fc489be5d2751a6d4543" kindref="member">SetTransform(int, int)</ref> </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/TransformComponent.hpp" line="33" column="10" bodyfile="src/TransformComponent.cpp" bodystart="8" bodyend="12"/>
        <referencedby refid="de/d87/classRigidbodyComponent_1a7dafbd3c40121afeb2e30ad99d9be4ca" compoundref="d4/d4e/RigidbodyComponent_8cpp" startline="26" endline="28">RigidbodyComponent::ApplyVelocity</referencedby>
        <referencedby refid="d1/ddc/classControllerComponent_1a15980f62cf3400a2829e78d6e0073ea1" compoundref="d3/d17/ControllerComponent_8cpp" startline="12" endline="25">ControllerComponent::Update</referencedby>
        <referencedby refid="de/d87/classRigidbodyComponent_1afc82759bee18cd1bd0cc90d7482307c1" compoundref="d4/d4e/RigidbodyComponent_8cpp" startline="30" endline="33">RigidbodyComponent::Update</referencedby>
      </memberdef>
      <memberdef kind="function" id="d2/d0a/classTransformComponent_1a9cfb03b06888fc489be5d2751a6d4543" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void TransformComponent::SetTransform</definition>
        <argsstring>(int _x, int _y)</argsstring>
        <name>SetTransform</name>
        <qualifiedname>TransformComponent::SetTransform</qualifiedname>
        <param>
          <type>int</type>
          <declname>_x</declname>
        </param>
        <param>
          <type>int</type>
          <declname>_y</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the position of the <ref refid="d2/d0a/classTransformComponent" kindref="compound">TransformComponent</ref>.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>_x</parametername>
</parameternamelist>
<parameterdescription>
<para>the new x position of the <ref refid="d2/d0a/classTransformComponent" kindref="compound">TransformComponent</ref> </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>_y</parametername>
</parameternamelist>
<parameterdescription>
<para>the new y position of the <ref refid="d2/d0a/classTransformComponent" kindref="compound">TransformComponent</ref> </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="see"><para><ref refid="d2/d0a/classTransformComponent_1aa3cd2785878a82d02103778d04761a32" kindref="member">SetTransform(Vec2D)</ref> </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/TransformComponent.hpp" line="42" column="10" bodyfile="src/TransformComponent.cpp" bodystart="14" bodyend="17"/>
      </memberdef>
      <memberdef kind="function" id="d2/d0a/classTransformComponent_1ae808ac3be0106babc97e92afb8f93a96" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void TransformComponent::Update</definition>
        <argsstring>(SDL_Event e, int frame, std::vector&lt; std::string &gt; broadcastList) override</argsstring>
        <name>Update</name>
        <qualifiedname>TransformComponent::Update</qualifiedname>
        <reimplements refid="d8/d6b/classComponent_1a9c764c2a5607ef52629458d361ebf16e">Update</reimplements>
        <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>Updates the state of the component object. Called by the <ref refid="d1/db6/classEngine" kindref="compound">Engine</ref> every tick</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>e</parametername>
</parameternamelist>
<parameterdescription>
<para>any inputs given by the user </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>frame</parametername>
</parameternamelist>
<parameterdescription>
<para>what frame is the game currently displaying </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>broadcastList</parametername>
</parameternamelist>
<parameterdescription>
<para>a list to be used to send messages between components </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="see"><para><ref refid="d8/d6b/classComponent_1aea8f0f460a62d86183020bd667b6cbf0" kindref="member">ParseAndUpdateBroadcast()</ref> </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/TransformComponent.hpp" line="44" column="10" bodyfile="src/TransformComponent.cpp" bodystart="37" bodyend="39"/>
        <references refid="d8/d6b/classComponent_1aea8f0f460a62d86183020bd667b6cbf0" compoundref="d4/d92/Component_8cpp" startline="37" endline="50">Component::ParseAndUpdateBroadcast</references>
      </memberdef>
      <memberdef kind="function" id="d2/d0a/classTransformComponent_1aedc094eb1922c3cfe116e6d67191400e" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void TransformComponent::Render</definition>
        <argsstring>(SDL_Renderer *ren) override</argsstring>
        <name>Render</name>
        <qualifiedname>TransformComponent::Render</qualifiedname>
        <reimplements refid="d8/d6b/classComponent_1ab856bdb8c4357a080d7abcf99871a573">Render</reimplements>
        <param>
          <type>SDL_Renderer *</type>
          <declname>ren</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Renders the component (if it has anything to render)</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>ren</parametername>
</parameternamelist>
<parameterdescription>
<para>the SDL renderer to be displayed upon </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="see"><para><ref refid="d7/dea/classIGraphicsEngineRenderer" kindref="compound">IGraphicsEngineRenderer</ref> </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/TransformComponent.hpp" line="46" column="10" bodyfile="src/TransformComponent.cpp" bodystart="41" bodyend="42"/>
      </memberdef>
      <memberdef kind="function" id="d2/d0a/classTransformComponent_1a2db75c6b70fcf13c086f02ac41953057" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void TransformComponent::ShowComponentEditor</definition>
        <argsstring>(bool *showEditor) override</argsstring>
        <name>ShowComponentEditor</name>
        <qualifiedname>TransformComponent::ShowComponentEditor</qualifiedname>
        <reimplements refid="d8/d6b/classComponent_1a92af5bb942ea9633515a0c0e16a0bb8c">ShowComponentEditor</reimplements>
        <param>
          <type>bool *</type>
          <declname>showEditor</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Using Imgui, render an editor for this component</para>
<para><simplesect kind="see"><para><ref refid="d5/d3b/classGameMakerGUI_1a2cc6da97c0f4b45175ddc9683308866e" kindref="member">GameMakerGUI::RenderEditor()</ref> </para>
</simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>showEditor</parametername>
</parameternamelist>
<parameterdescription>
<para></para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/TransformComponent.hpp" line="48" column="10" bodyfile="src/TransformComponent.cpp" bodystart="44" bodyend="54"/>
      </memberdef>
      <memberdef kind="function" id="d2/d0a/classTransformComponent_1a5452c308a26521441745d3edc1ab5d4d" prot="public" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref></type>
        <definition>Vec2D TransformComponent::getPos</definition>
        <argsstring>() const</argsstring>
        <name>getPos</name>
        <qualifiedname>TransformComponent::getPos</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the position of the <ref refid="d2/d0a/classTransformComponent" kindref="compound">TransformComponent</ref>.</para>
<para><simplesect kind="return"><para>the current position of the <ref refid="d2/d0a/classTransformComponent" kindref="compound">TransformComponent</ref> </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/TransformComponent.hpp" line="55" column="11" bodyfile="src/TransformComponent.cpp" bodystart="19" bodyend="21"/>
        <referencedby refid="de/d87/classRigidbodyComponent_1a7dafbd3c40121afeb2e30ad99d9be4ca" compoundref="d4/d4e/RigidbodyComponent_8cpp" startline="26" endline="28">RigidbodyComponent::ApplyVelocity</referencedby>
        <referencedby refid="d9/d15/classIPhysicsComponent_1abfaa678eb1c7312e9bf098bc1473f794" compoundref="d3/d9c/IPhysicsComponent_8cpp" startline="20" endline="22">IPhysicsComponent::GetPosition</referencedby>
        <referencedby refid="d9/d15/classIPhysicsComponent_1aae80e0691898c61495f43a7bc2f0e494" compoundref="d3/d9c/IPhysicsComponent_8cpp" startline="9" endline="18">IPhysicsComponent::IsColliding</referencedby>
        <referencedby refid="dd/d7a/classProjectileComponent_1ac67ad7b89802466876a93ff01ab291f5" compoundref="db/d41/ProjectileComponent_8cpp" startline="3" endline="34">ProjectileComponent::ProjectileComponent</referencedby>
        <referencedby refid="d6/d77/classSpriteComponent_1a99e5eff28736f3fc109037078564249a" compoundref="d0/dff/Sprite_8cpp" startline="4" endline="8">SpriteComponent::SpriteComponent</referencedby>
        <referencedby refid="d1/ddc/classControllerComponent_1a15980f62cf3400a2829e78d6e0073ea1" compoundref="d3/d17/ControllerComponent_8cpp" startline="12" endline="25">ControllerComponent::Update</referencedby>
        <referencedby refid="dd/d7a/classProjectileComponent_1a38c9c6161b276691004f672991795b54" compoundref="db/d41/ProjectileComponent_8cpp" startline="40" endline="52">ProjectileComponent::Update</referencedby>
        <referencedby refid="de/d87/classRigidbodyComponent_1afc82759bee18cd1bd0cc90d7482307c1" compoundref="d4/d4e/RigidbodyComponent_8cpp" startline="30" endline="33">RigidbodyComponent::Update</referencedby>
        <referencedby refid="d6/d77/classSpriteComponent_1ae8f47512e84273fd8f5312920affb275" compoundref="d0/dff/Sprite_8cpp" startline="19" endline="44">SpriteComponent::Update</referencedby>
      </memberdef>
      <memberdef kind="function" id="d2/d0a/classTransformComponent_1aebd4b99e08cce915dd3929ad54befcbc" prot="public" static="no" const="no" explicit="no" inline="yes" virt="virtual">
        <type>const char *</type>
        <definition>const char * TransformComponent::ComponentTypeName</definition>
        <argsstring>() override</argsstring>
        <name>ComponentTypeName</name>
        <qualifiedname>TransformComponent::ComponentTypeName</qualifiedname>
        <reimplements refid="d8/d6b/classComponent_1a6ad359e7f57daa4ba249aaf5c88da052">ComponentTypeName</reimplements>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>The name of the component type. Used by the GUI</para>
<para><simplesect kind="see"><para><ref refid="d5/d3b/classGameMakerGUI_1a39546dd352c9c5d198f61e34011131b4" kindref="member">GameMakerGUI::CreateComponent()</ref> </para>
</simplesect>
<simplesect kind="return"><para>the name of the component </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/TransformComponent.hpp" line="57" column="16" bodyfile="include/TransformComponent.hpp" bodystart="57" bodyend="57"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
<para>A <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> implementation to hold the position of a <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref>. Used by every other <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> that needs a position. </para>
    </detaileddescription>
    <inheritancegraph>
      <node id="2">
        <label>Component</label>
        <link refid="d8/d6b/classComponent"/>
      </node>
      <node id="1">
        <label>TransformComponent</label>
        <link refid="d2/d0a/classTransformComponent"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
      </node>
    </inheritancegraph>
    <collaborationgraph>
      <node id="2">
        <label>Component</label>
        <link refid="d8/d6b/classComponent"/>
      </node>
      <node id="1">
        <label>TransformComponent</label>
        <link refid="d2/d0a/classTransformComponent"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
        <childnode refid="3" relation="usage">
          <edgelabel>position</edgelabel>
        </childnode>
      </node>
      <node id="3">
        <label>Vec2D</label>
        <link refid="dd/d40/structVec2D"/>
      </node>
    </collaborationgraph>
    <location file="include/TransformComponent.hpp" line="12" column="1" bodyfile="include/TransformComponent.hpp" bodystart="12" bodyend="62"/>
    <listofallmembers>
      <member refid="d8/d6b/classComponent_1a8775db6d1a2c1afc2e77cd3c8f39da6f" prot="public" virt="non-virtual"><scope>TransformComponent</scope><name>Component</name></member>
      <member refid="d2/d0a/classTransformComponent_1aebd4b99e08cce915dd3929ad54befcbc" prot="public" virt="virtual"><scope>TransformComponent</scope><name>ComponentTypeName</name></member>
      <member refid="d2/d0a/classTransformComponent_1a5452c308a26521441745d3edc1ab5d4d" prot="public" virt="non-virtual"><scope>TransformComponent</scope><name>getPos</name></member>
      <member refid="d8/d6b/classComponent_1aed93a0ec70ebc71f34f02eb0a3ad4006" prot="public" virt="virtual"><scope>TransformComponent</scope><name>HasTag</name></member>
      <member refid="d8/d6b/classComponent_1aea8f0f460a62d86183020bd667b6cbf0" prot="public" virt="non-virtual"><scope>TransformComponent</scope><name>ParseAndUpdateBroadcast</name></member>
      <member refid="d8/d6b/classComponent_1a7d03b8c23a6fa95fd83f08ad88cd59ee" prot="protected" virt="non-virtual"><scope>TransformComponent</scope><name>pendingBroadcasts</name></member>
      <member refid="d2/d0a/classTransformComponent_1ae464529a05665d3f6f35371e7a8947fd" prot="private" virt="non-virtual"><scope>TransformComponent</scope><name>position</name></member>
      <member refid="d8/d6b/classComponent_1a929d29b8cdb9447b70f5e7d990c7d0f0" prot="protected" virt="non-virtual"><scope>TransformComponent</scope><name>previousBroadcasts</name></member>
      <member refid="d2/d0a/classTransformComponent_1aedc094eb1922c3cfe116e6d67191400e" prot="public" virt="virtual"><scope>TransformComponent</scope><name>Render</name></member>
      <member refid="d2/d0a/classTransformComponent_1aa3cd2785878a82d02103778d04761a32" prot="public" virt="non-virtual"><scope>TransformComponent</scope><name>SetTransform</name></member>
      <member refid="d2/d0a/classTransformComponent_1a9cfb03b06888fc489be5d2751a6d4543" prot="public" virt="non-virtual"><scope>TransformComponent</scope><name>SetTransform</name></member>
      <member refid="d2/d0a/classTransformComponent_1a2db75c6b70fcf13c086f02ac41953057" prot="public" virt="virtual"><scope>TransformComponent</scope><name>ShowComponentEditor</name></member>
      <member refid="d2/d0a/classTransformComponent_1a180638d1c113c045644a1d99bb101c46" prot="private" virt="non-virtual"><scope>TransformComponent</scope><name>tags</name></member>
      <member refid="d2/d0a/classTransformComponent_1a461808701b999d0e0e14c856f7ab41c1" prot="public" virt="non-virtual"><scope>TransformComponent</scope><name>TransformComponent</name></member>
      <member refid="d2/d0a/classTransformComponent_1ae808ac3be0106babc97e92afb8f93a96" prot="public" virt="virtual"><scope>TransformComponent</scope><name>Update</name></member>
      <member refid="d8/d6b/classComponent_1ab8378fa275af98e568a7e91d33d867af" prot="public" virt="non-virtual"><scope>TransformComponent</scope><name>~Component</name></member>
      <member refid="d2/d0a/classTransformComponent_1a37d5d34a3695eafc8b8cbf37905e756f" prot="public" virt="non-virtual"><scope>TransformComponent</scope><name>~TransformComponent</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
