<?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="dd/d81/classHealthComponent" kind="class" language="C++" prot="public">
    <compoundname>HealthComponent</compoundname>
    <basecompoundref refid="d8/d6b/classComponent" prot="public" virt="non-virtual">Component</basecompoundref>
    <includes refid="d2/dad/HealthComponent_8h" local="no">HealthComponent.h</includes>
      <sectiondef kind="private-attrib">
      <memberdef kind="variable" id="dd/d81/classHealthComponent_1ab5c59b96b90adbfa667683ea4f579ccb" prot="private" static="no" mutable="no">
        <type>int</type>
        <definition>int HealthComponent::m_totalHealth</definition>
        <argsstring></argsstring>
        <name>m_totalHealth</name>
        <qualifiedname>HealthComponent::m_totalHealth</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/HealthComponent.h" line="51" column="9" bodyfile="include/HealthComponent.h" bodystart="51" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="dd/d81/classHealthComponent_1af5f130e34ce0748b24995a2e8aad5159" prot="private" static="no" mutable="no">
        <type>int</type>
        <definition>int HealthComponent::m_currentHealth</definition>
        <argsstring></argsstring>
        <name>m_currentHealth</name>
        <qualifiedname>HealthComponent::m_currentHealth</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/HealthComponent.h" line="52" column="9" bodyfile="include/HealthComponent.h" bodystart="52" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-func">
      <memberdef kind="function" id="dd/d81/classHealthComponent_1aa28f1db8018726c3aca9110369ab7fda" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>HealthComponent::HealthComponent</definition>
        <argsstring>(int totalHealth)</argsstring>
        <name>HealthComponent</name>
        <qualifiedname>HealthComponent::HealthComponent</qualifiedname>
        <param>
          <type>int</type>
          <declname>totalHealth</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Construct a new Health <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> object</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>totalHealth</parametername>
</parameternamelist>
<parameterdescription>
<para>the maximum the <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref>&apos;s health can be </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/HealthComponent.h" line="21" column="5" bodyfile="src/HealthComponent.cpp" bodystart="7" bodyend="12"/>
      </memberdef>
      <memberdef kind="function" id="dd/d81/classHealthComponent_1aac06fe69b879a4eb47ddce62f18ca2f9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>HealthComponent::~HealthComponent</definition>
        <argsstring>()</argsstring>
        <name>~HealthComponent</name>
        <qualifiedname>HealthComponent::~HealthComponent</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Destroy the Health <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> object </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/HealthComponent.h" line="26" column="5" bodyfile="src/HealthComponent.cpp" bodystart="14" bodyend="16"/>
      </memberdef>
      <memberdef kind="function" id="dd/d81/classHealthComponent_1ab754979c3a0ac83d2fb7e163dd168d18" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void HealthComponent::Update</definition>
        <argsstring>(SDL_Event r, int frame, std::vector&lt; std::string &gt; broadcastList) override</argsstring>
        <name>Update</name>
        <qualifiedname>HealthComponent::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/HealthComponent.h" line="28" column="10" bodyfile="src/HealthComponent.cpp" bodystart="18" bodyend="20"/>
        <references refid="d8/d6b/classComponent_1aea8f0f460a62d86183020bd667b6cbf0" compoundref="d4/d92/Component_8cpp" startline="37" endline="50">Component::ParseAndUpdateBroadcast</references>
      </memberdef>
      <memberdef kind="function" id="dd/d81/classHealthComponent_1a196e71923fbf5458a243846e5b71fa6f" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void HealthComponent::Render</definition>
        <argsstring>(SDL_Renderer *ren) override</argsstring>
        <name>Render</name>
        <qualifiedname>HealthComponent::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/HealthComponent.h" line="30" column="10" bodyfile="src/HealthComponent.cpp" bodystart="23" bodyend="25"/>
      </memberdef>
      <memberdef kind="function" id="dd/d81/classHealthComponent_1a8ee269e60d65fb673c09ed1678ee433d" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void HealthComponent::ShowComponentEditor</definition>
        <argsstring>(bool *showEditor) override</argsstring>
        <name>ShowComponentEditor</name>
        <qualifiedname>HealthComponent::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/HealthComponent.h" line="32" column="10" bodyfile="src/HealthComponent.cpp" bodystart="27" bodyend="36"/>
      </memberdef>
      <memberdef kind="function" id="dd/d81/classHealthComponent_1a1318c479f692c3dede234ecbb2530558" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void HealthComponent::SetHealth</definition>
        <argsstring>(int newHealth)</argsstring>
        <name>SetHealth</name>
        <qualifiedname>HealthComponent::SetHealth</qualifiedname>
        <param>
          <type>int</type>
          <declname>newHealth</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the current health.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>newHealth</parametername>
</parameternamelist>
<parameterdescription>
<para>the new health value </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/HealthComponent.h" line="39" column="10" bodyfile="src/HealthComponent.cpp" bodystart="38" bodyend="43"/>
      </memberdef>
      <memberdef kind="function" id="dd/d81/classHealthComponent_1a453210b44b4483b3e74fdff60fc832bb" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void HealthComponent::UpdateHealth</definition>
        <argsstring>(int changeInHealth)</argsstring>
        <name>UpdateHealth</name>
        <qualifiedname>HealthComponent::UpdateHealth</qualifiedname>
        <param>
          <type>int</type>
          <declname>changeInHealth</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Modify the health by the given value.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>changeInHealth</parametername>
</parameternamelist>
<parameterdescription>
<para>a modifier to the health value. Set it to a positive value for healing and a negative value for damaging </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/HealthComponent.h" line="46" column="10" bodyfile="src/HealthComponent.cpp" bodystart="45" bodyend="53"/>
      </memberdef>
      <memberdef kind="function" id="dd/d81/classHealthComponent_1a14144ba98cdc2ce2fbb96ec31cf38a6d" prot="public" static="no" const="no" explicit="no" inline="yes" virt="virtual">
        <type>const char *</type>
        <definition>const char * HealthComponent::ComponentTypeName</definition>
        <argsstring>() override</argsstring>
        <name>ComponentTypeName</name>
        <qualifiedname>HealthComponent::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/HealthComponent.h" line="48" column="16" bodyfile="include/HealthComponent.h" bodystart="48" bodyend="48"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
<para>A <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> implementation to record health for a <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref>. </para>
    </detaileddescription>
    <inheritancegraph>
      <node id="2">
        <label>Component</label>
        <link refid="d8/d6b/classComponent"/>
      </node>
      <node id="1">
        <label>HealthComponent</label>
        <link refid="dd/d81/classHealthComponent"/>
        <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>HealthComponent</label>
        <link refid="dd/d81/classHealthComponent"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
      </node>
    </collaborationgraph>
    <location file="include/HealthComponent.h" line="14" column="1" bodyfile="include/HealthComponent.h" bodystart="14" bodyend="54"/>
    <listofallmembers>
      <member refid="d8/d6b/classComponent_1a8775db6d1a2c1afc2e77cd3c8f39da6f" prot="public" virt="non-virtual"><scope>HealthComponent</scope><name>Component</name></member>
      <member refid="dd/d81/classHealthComponent_1a14144ba98cdc2ce2fbb96ec31cf38a6d" prot="public" virt="virtual"><scope>HealthComponent</scope><name>ComponentTypeName</name></member>
      <member refid="d8/d6b/classComponent_1aed93a0ec70ebc71f34f02eb0a3ad4006" prot="public" virt="virtual"><scope>HealthComponent</scope><name>HasTag</name></member>
      <member refid="dd/d81/classHealthComponent_1aa28f1db8018726c3aca9110369ab7fda" prot="public" virt="non-virtual"><scope>HealthComponent</scope><name>HealthComponent</name></member>
      <member refid="dd/d81/classHealthComponent_1af5f130e34ce0748b24995a2e8aad5159" prot="private" virt="non-virtual"><scope>HealthComponent</scope><name>m_currentHealth</name></member>
      <member refid="dd/d81/classHealthComponent_1ab5c59b96b90adbfa667683ea4f579ccb" prot="private" virt="non-virtual"><scope>HealthComponent</scope><name>m_totalHealth</name></member>
      <member refid="d8/d6b/classComponent_1aea8f0f460a62d86183020bd667b6cbf0" prot="public" virt="non-virtual"><scope>HealthComponent</scope><name>ParseAndUpdateBroadcast</name></member>
      <member refid="d8/d6b/classComponent_1a7d03b8c23a6fa95fd83f08ad88cd59ee" prot="protected" virt="non-virtual"><scope>HealthComponent</scope><name>pendingBroadcasts</name></member>
      <member refid="d8/d6b/classComponent_1a929d29b8cdb9447b70f5e7d990c7d0f0" prot="protected" virt="non-virtual"><scope>HealthComponent</scope><name>previousBroadcasts</name></member>
      <member refid="dd/d81/classHealthComponent_1a196e71923fbf5458a243846e5b71fa6f" prot="public" virt="virtual"><scope>HealthComponent</scope><name>Render</name></member>
      <member refid="dd/d81/classHealthComponent_1a1318c479f692c3dede234ecbb2530558" prot="public" virt="non-virtual"><scope>HealthComponent</scope><name>SetHealth</name></member>
      <member refid="dd/d81/classHealthComponent_1a8ee269e60d65fb673c09ed1678ee433d" prot="public" virt="virtual"><scope>HealthComponent</scope><name>ShowComponentEditor</name></member>
      <member refid="d8/d6b/classComponent_1ab9b45a6a11e943c86770a1b3e085c25c" prot="protected" virt="non-virtual"><scope>HealthComponent</scope><name>tags</name></member>
      <member refid="dd/d81/classHealthComponent_1ab754979c3a0ac83d2fb7e163dd168d18" prot="public" virt="virtual"><scope>HealthComponent</scope><name>Update</name></member>
      <member refid="dd/d81/classHealthComponent_1a453210b44b4483b3e74fdff60fc832bb" prot="public" virt="non-virtual"><scope>HealthComponent</scope><name>UpdateHealth</name></member>
      <member refid="d8/d6b/classComponent_1ab8378fa275af98e568a7e91d33d867af" prot="public" virt="non-virtual"><scope>HealthComponent</scope><name>~Component</name></member>
      <member refid="dd/d81/classHealthComponent_1aac06fe69b879a4eb47ddce62f18ca2f9" prot="public" virt="non-virtual"><scope>HealthComponent</scope><name>~HealthComponent</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
