<?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="d1/ddc/classControllerComponent" kind="class" language="C++" prot="public">
    <compoundname>ControllerComponent</compoundname>
    <basecompoundref refid="d8/d6b/classComponent" prot="public" virt="non-virtual">Component</basecompoundref>
    <includes refid="d0/d32/ControllerComponent_8hpp" local="no">ControllerComponent.hpp</includes>
      <sectiondef kind="private-attrib">
      <memberdef kind="variable" id="d1/ddc/classControllerComponent_1afb14140f6f4754cbb3e0914d042023b1" prot="private" static="no" mutable="no">
        <type><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref></type>
        <definition>Vec2D ControllerComponent::deltaPos</definition>
        <argsstring></argsstring>
        <name>deltaPos</name>
        <qualifiedname>ControllerComponent::deltaPos</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/ControllerComponent.hpp" line="42" column="11" bodyfile="include/ControllerComponent.hpp" bodystart="42" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="d1/ddc/classControllerComponent_1a53d602ca4032751d4fe10f446e939f77" prot="private" static="no" mutable="no">
        <type><ref refid="d2/d0a/classTransformComponent" kindref="compound">TransformComponent</ref> *</type>
        <definition>TransformComponent* ControllerComponent::transform</definition>
        <argsstring></argsstring>
        <name>transform</name>
        <qualifiedname>ControllerComponent::transform</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/ControllerComponent.hpp" line="43" column="24" bodyfile="include/ControllerComponent.hpp" bodystart="43" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-func">
      <memberdef kind="function" id="d1/ddc/classControllerComponent_1a9e9959a30979e957650daeb80bcdfbdf" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>ControllerComponent::ControllerComponent</definition>
        <argsstring>(TransformComponent *_transform, Vec2D deltaPos)</argsstring>
        <name>ControllerComponent</name>
        <qualifiedname>ControllerComponent::ControllerComponent</qualifiedname>
        <param>
          <type><ref refid="d2/d0a/classTransformComponent" kindref="compound">TransformComponent</ref> *</type>
          <declname>_transform</declname>
        </param>
        <param>
          <type><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref></type>
          <declname>deltaPos</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Construct a new Controller <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> object,</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>_transform</parametername>
</parameternamelist>
<parameterdescription>
<para>the position of the containing <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref> </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="see"><para><ref refid="d2/d0a/classTransformComponent" kindref="compound">TransformComponent</ref> </para>
</simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>deltaPos</parametername>
</parameternamelist>
<parameterdescription>
<para>how much the position changes given input </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/ControllerComponent.hpp" line="21" column="5" bodyfile="src/ControllerComponent.cpp" bodystart="4" bodyend="7"/>
      </memberdef>
      <memberdef kind="function" id="d1/ddc/classControllerComponent_1a2a874e5d561bdc75d5f8e75603135b0f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>ControllerComponent::~ControllerComponent</definition>
        <argsstring>()</argsstring>
        <name>~ControllerComponent</name>
        <qualifiedname>ControllerComponent::~ControllerComponent</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Destroy the Controller <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> object. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/ControllerComponent.hpp" line="26" column="5" bodyfile="src/ControllerComponent.cpp" bodystart="9" bodyend="10"/>
      </memberdef>
      <memberdef kind="function" id="d1/ddc/classControllerComponent_1a15980f62cf3400a2829e78d6e0073ea1" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void ControllerComponent::Update</definition>
        <argsstring>(SDL_Event e, int frame, std::vector&lt; std::string &gt; broadcastList) override</argsstring>
        <name>Update</name>
        <qualifiedname>ControllerComponent::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>Uses any input in the SDL_Event to move the <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref>.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>e</parametername>
</parameternamelist>
<parameterdescription>
<para>checked for any controller input </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>frame</parametername>
</parameternamelist>
<parameterdescription>
<para>irrelevant for this implementation </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>broadcastList</parametername>
</parameternamelist>
<parameterdescription>
<para>irrelevant for this implementation </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/ControllerComponent.hpp" line="35" column="10" bodyfile="src/ControllerComponent.cpp" bodystart="12" bodyend="25"/>
        <references refid="d2/d0a/classTransformComponent_1a5452c308a26521441745d3edc1ab5d4d" compoundref="da/d4e/TransformComponent_8cpp" startline="19" endline="21">TransformComponent::getPos</references>
        <references refid="d8/d6b/classComponent_1aea8f0f460a62d86183020bd667b6cbf0" compoundref="d4/d92/Component_8cpp" startline="37" endline="50">Component::ParseAndUpdateBroadcast</references>
        <references refid="d2/d0a/classTransformComponent_1aa3cd2785878a82d02103778d04761a32" compoundref="da/d4e/TransformComponent_8cpp" startline="8" endline="12">TransformComponent::SetTransform</references>
      </memberdef>
      <memberdef kind="function" id="d1/ddc/classControllerComponent_1ac55c98ab7c759f014314998b9db372a4" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void ControllerComponent::ShowComponentEditor</definition>
        <argsstring>(bool *showEditor) override</argsstring>
        <name>ShowComponentEditor</name>
        <qualifiedname>ControllerComponent::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/ControllerComponent.hpp" line="37" column="10" bodyfile="src/ControllerComponent.cpp" bodystart="27" bodyend="36"/>
      </memberdef>
      <memberdef kind="function" id="d1/ddc/classControllerComponent_1a8bf49679c87b14a4eb1e90e8046b0b67" prot="public" static="no" const="no" explicit="no" inline="yes" virt="virtual">
        <type>const char *</type>
        <definition>const char * ControllerComponent::ComponentTypeName</definition>
        <argsstring>() override</argsstring>
        <name>ComponentTypeName</name>
        <qualifiedname>ControllerComponent::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/ControllerComponent.hpp" line="39" column="16" bodyfile="include/ControllerComponent.hpp" bodystart="39" bodyend="39"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
<para>Allows a <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref> to be controlled via player input. </para>
    </detaileddescription>
    <inheritancegraph>
      <node id="2">
        <label>Component</label>
        <link refid="d8/d6b/classComponent"/>
      </node>
      <node id="1">
        <label>ControllerComponent</label>
        <link refid="d1/ddc/classControllerComponent"/>
        <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>ControllerComponent</label>
        <link refid="d1/ddc/classControllerComponent"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
        <childnode refid="3" relation="usage">
          <edgelabel>deltaPos</edgelabel>
        </childnode>
        <childnode refid="4" relation="usage">
          <edgelabel>transform</edgelabel>
        </childnode>
      </node>
      <node id="4">
        <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/ControllerComponent.hpp" line="11" column="1" bodyfile="include/ControllerComponent.hpp" bodystart="11" bodyend="44"/>
    <listofallmembers>
      <member refid="d8/d6b/classComponent_1a8775db6d1a2c1afc2e77cd3c8f39da6f" prot="public" virt="non-virtual"><scope>ControllerComponent</scope><name>Component</name></member>
      <member refid="d1/ddc/classControllerComponent_1a8bf49679c87b14a4eb1e90e8046b0b67" prot="public" virt="virtual"><scope>ControllerComponent</scope><name>ComponentTypeName</name></member>
      <member refid="d1/ddc/classControllerComponent_1a9e9959a30979e957650daeb80bcdfbdf" prot="public" virt="non-virtual"><scope>ControllerComponent</scope><name>ControllerComponent</name></member>
      <member refid="d1/ddc/classControllerComponent_1afb14140f6f4754cbb3e0914d042023b1" prot="private" virt="non-virtual"><scope>ControllerComponent</scope><name>deltaPos</name></member>
      <member refid="d8/d6b/classComponent_1aed93a0ec70ebc71f34f02eb0a3ad4006" prot="public" virt="virtual"><scope>ControllerComponent</scope><name>HasTag</name></member>
      <member refid="d8/d6b/classComponent_1aea8f0f460a62d86183020bd667b6cbf0" prot="public" virt="non-virtual"><scope>ControllerComponent</scope><name>ParseAndUpdateBroadcast</name></member>
      <member refid="d8/d6b/classComponent_1a7d03b8c23a6fa95fd83f08ad88cd59ee" prot="protected" virt="non-virtual"><scope>ControllerComponent</scope><name>pendingBroadcasts</name></member>
      <member refid="d8/d6b/classComponent_1a929d29b8cdb9447b70f5e7d990c7d0f0" prot="protected" virt="non-virtual"><scope>ControllerComponent</scope><name>previousBroadcasts</name></member>
      <member refid="d8/d6b/classComponent_1ab856bdb8c4357a080d7abcf99871a573" prot="public" virt="virtual"><scope>ControllerComponent</scope><name>Render</name></member>
      <member refid="d1/ddc/classControllerComponent_1ac55c98ab7c759f014314998b9db372a4" prot="public" virt="virtual"><scope>ControllerComponent</scope><name>ShowComponentEditor</name></member>
      <member refid="d8/d6b/classComponent_1ab9b45a6a11e943c86770a1b3e085c25c" prot="protected" virt="non-virtual"><scope>ControllerComponent</scope><name>tags</name></member>
      <member refid="d1/ddc/classControllerComponent_1a53d602ca4032751d4fe10f446e939f77" prot="private" virt="non-virtual"><scope>ControllerComponent</scope><name>transform</name></member>
      <member refid="d1/ddc/classControllerComponent_1a15980f62cf3400a2829e78d6e0073ea1" prot="public" virt="virtual"><scope>ControllerComponent</scope><name>Update</name></member>
      <member refid="d8/d6b/classComponent_1ab8378fa275af98e568a7e91d33d867af" prot="public" virt="non-virtual"><scope>ControllerComponent</scope><name>~Component</name></member>
      <member refid="d1/ddc/classControllerComponent_1a2a874e5d561bdc75d5f8e75603135b0f" prot="public" virt="non-virtual"><scope>ControllerComponent</scope><name>~ControllerComponent</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
