<?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/db6/classEngine" kind="class" language="C++" prot="public">
    <compoundname>Engine</compoundname>
    <includes refid="d3/d48/Engine_8hpp" local="no">Engine.hpp</includes>
      <sectiondef kind="private-attrib">
      <memberdef kind="variable" id="d1/db6/classEngine_1a871acf97123e6fb628a4e16a60be1f7d" prot="private" static="no" mutable="no">
        <type><ref refid="d1/d7f/classSDLGraphicsEngineRenderer" kindref="compound">SDLGraphicsEngineRenderer</ref> *</type>
        <definition>SDLGraphicsEngineRenderer* Engine::mRenderer</definition>
        <argsstring></argsstring>
        <name>mRenderer</name>
        <qualifiedname>Engine::mRenderer</qualifiedname>
        <initializer>= nullptr</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Object that renders all objects </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/Engine.hpp" line="101" column="31" bodyfile="include/Engine.hpp" bodystart="101" bodyend="-1"/>
        <referencedby refid="d1/db6/classEngine_1a0a1b174ad072878adc6dff75d40b8dd9" compoundref="d6/d0c/Engine_8cpp" startline="206" endline="219">createFly</referencedby>
        <referencedby refid="d1/db6/classEngine_1a7f07811f5bfae8943d5530057b1dc822" compoundref="d6/d0c/Engine_8cpp" startline="236" endline="249">InitializeGraphicsSubSystem</referencedby>
        <referencedby refid="d1/db6/classEngine_1ab03f0933af2767764d2e05f56fa44fd7" compoundref="d6/d0c/Engine_8cpp" startline="269" endline="272">InitializeGUI</referencedby>
        <referencedby refid="d1/db6/classEngine_1acde70aed0043e2e2091d0bb6cce8e3c1" compoundref="d6/d0c/Engine_8cpp" startline="87" endline="124">Render</referencedby>
        <referencedby refid="d1/db6/classEngine_1a3dbd2c0a65e642baa7eaa97caa6e4e64" compoundref="d6/d0c/Engine_8cpp" startline="221" endline="234">Shutdown</referencedby>
        <referencedby refid="d1/db6/classEngine_1a1fbe9f5cb4abc3572e432cae1f154817" compoundref="d6/d0c/Engine_8cpp" startline="162" endline="204">Start</referencedby>
      </memberdef>
      <memberdef kind="variable" id="d1/db6/classEngine_1a4ec8c2b90b6421647f6da9c30ecc2bca" prot="private" static="no" mutable="no">
        <type><ref refid="db/df5/classPhysicsEngine" kindref="compound">PhysicsEngine</ref> *</type>
        <definition>PhysicsEngine* Engine::mPhysics</definition>
        <argsstring></argsstring>
        <name>mPhysics</name>
        <qualifiedname>Engine::mPhysics</qualifiedname>
        <initializer>= nullptr</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Calculates all collisions </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/Engine.hpp" line="106" column="19" bodyfile="include/Engine.hpp" bodystart="106" bodyend="-1"/>
        <referencedby refid="d1/db6/classEngine_1a2e3d93df96db6361330d3a41f7b5892b" compoundref="d6/d0c/Engine_8cpp" startline="251" endline="267">InitializePhysicsSubsystem</referencedby>
        <referencedby refid="d1/db6/classEngine_1ac84eefe06226f430a2448306e6fd2579" compoundref="d6/d0c/Engine_8cpp" startline="58" endline="83">Update</referencedby>
      </memberdef>
      <memberdef kind="variable" id="d1/db6/classEngine_1a9e8b2e9834b4ea54e780e00333ef749e" prot="private" static="no" mutable="no">
        <type><ref refid="d5/d3b/classGameMakerGUI" kindref="compound">GameMakerGUI</ref> *</type>
        <definition>GameMakerGUI* Engine::mGUI</definition>
        <argsstring></argsstring>
        <name>mGUI</name>
        <qualifiedname>Engine::mGUI</qualifiedname>
        <initializer>= nullptr</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Displays editor </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/Engine.hpp" line="111" column="18" bodyfile="include/Engine.hpp" bodystart="111" bodyend="-1"/>
        <referencedby refid="d1/db6/classEngine_1ab03f0933af2767764d2e05f56fa44fd7" compoundref="d6/d0c/Engine_8cpp" startline="269" endline="272">InitializeGUI</referencedby>
        <referencedby refid="d1/db6/classEngine_1a8420fafe78a3742a451fac2fcedef50c" compoundref="d6/d0c/Engine_8cpp" startline="36" endline="55">Input</referencedby>
        <referencedby refid="d1/db6/classEngine_1acde70aed0043e2e2091d0bb6cce8e3c1" compoundref="d6/d0c/Engine_8cpp" startline="87" endline="124">Render</referencedby>
      </memberdef>
      <memberdef kind="variable" id="d1/db6/classEngine_1ab9e9061aa9c4bc7d2d94e5693bebde21" prot="private" static="no" mutable="no">
        <type>std::vector&lt; <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref> * &gt;</type>
        <definition>std::vector&lt;GameObject *&gt; Engine::m_gameobjects</definition>
        <argsstring></argsstring>
        <name>m_gameobjects</name>
        <qualifiedname>Engine::m_gameobjects</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Holds all game objects </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/Engine.hpp" line="116" column="17" bodyfile="include/Engine.hpp" bodystart="116" bodyend="-1"/>
        <referencedby refid="d1/db6/classEngine_1a0a1b174ad072878adc6dff75d40b8dd9" compoundref="d6/d0c/Engine_8cpp" startline="206" endline="219">createFly</referencedby>
        <referencedby refid="d1/db6/classEngine_1ab03f0933af2767764d2e05f56fa44fd7" compoundref="d6/d0c/Engine_8cpp" startline="269" endline="272">InitializeGUI</referencedby>
        <referencedby refid="d1/db6/classEngine_1a2e3d93df96db6361330d3a41f7b5892b" compoundref="d6/d0c/Engine_8cpp" startline="251" endline="267">InitializePhysicsSubsystem</referencedby>
        <referencedby refid="d1/db6/classEngine_1acde70aed0043e2e2091d0bb6cce8e3c1" compoundref="d6/d0c/Engine_8cpp" startline="87" endline="124">Render</referencedby>
        <referencedby refid="d1/db6/classEngine_1a3dbd2c0a65e642baa7eaa97caa6e4e64" compoundref="d6/d0c/Engine_8cpp" startline="221" endline="234">Shutdown</referencedby>
        <referencedby refid="d1/db6/classEngine_1a1fbe9f5cb4abc3572e432cae1f154817" compoundref="d6/d0c/Engine_8cpp" startline="162" endline="204">Start</referencedby>
        <referencedby refid="d1/db6/classEngine_1ac84eefe06226f430a2448306e6fd2579" compoundref="d6/d0c/Engine_8cpp" startline="58" endline="83">Update</referencedby>
      </memberdef>
      <memberdef kind="variable" id="d1/db6/classEngine_1a03d6c0fcad1696c5b232c862cb1dafb1" prot="private" static="no" mutable="no">
        <type>bool</type>
        <definition>bool Engine::runGame</definition>
        <argsstring></argsstring>
        <name>runGame</name>
        <qualifiedname>Engine::runGame</qualifiedname>
        <initializer>= true</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Used to pause/play the game </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/Engine.hpp" line="118" column="10" bodyfile="include/Engine.hpp" bodystart="118" bodyend="-1"/>
        <referencedby refid="d1/db6/classEngine_1a9ec9d3d7dc0f9e79032dd83801778eaf" compoundref="d6/d0c/Engine_8cpp" startline="127" endline="160">MainGameLoop</referencedby>
        <referencedby refid="d1/db6/classEngine_1acde70aed0043e2e2091d0bb6cce8e3c1" compoundref="d6/d0c/Engine_8cpp" startline="87" endline="124">Render</referencedby>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-func">
      <memberdef kind="function" id="d1/db6/classEngine_1a8c98683b0a3aa28d8ab72a8bcd0d52f2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>Engine::Engine</definition>
        <argsstring>()</argsstring>
        <name>Engine</name>
        <qualifiedname>Engine::Engine</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Constructor of <ref refid="d1/db6/classEngine" kindref="compound">Engine</ref> </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/Engine.hpp" line="29" column="5" bodyfile="src/Engine.cpp" bodystart="26" bodyend="28"/>
      </memberdef>
      <memberdef kind="function" id="d1/db6/classEngine_1a8ef7030a089ecb30bbfcb9e43094717a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>Engine::~Engine</definition>
        <argsstring>()</argsstring>
        <name>~Engine</name>
        <qualifiedname>Engine::~Engine</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Destructor </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/Engine.hpp" line="34" column="5" bodyfile="src/Engine.cpp" bodystart="31" bodyend="33"/>
      </memberdef>
      <memberdef kind="function" id="d1/db6/classEngine_1a8420fafe78a3742a451fac2fcedef50c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void Engine::Input</definition>
        <argsstring>(bool *quit, bool *editing)</argsstring>
        <name>Input</name>
        <qualifiedname>Engine::Input</qualifiedname>
        <param>
          <type>bool *</type>
          <declname>quit</declname>
        </param>
        <param>
          <type>bool *</type>
          <declname>editing</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Gets user input <parameterlist kind="param"><parameteritem>
<parameternamelist>
</parameternamelist>
<parameterdescription>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/Engine.hpp" line="40" column="10" bodyfile="src/Engine.cpp" bodystart="36" bodyend="55"/>
        <references refid="d5/d3b/classGameMakerGUI_1ae5d7cd973b4ae98b6bb53a780eb5065a" compoundref="d8/da4/GameMakerGUI_8cpp" startline="48" endline="51">GameMakerGUI::Input</references>
        <references refid="d1/db6/classEngine_1a9e8b2e9834b4ea54e780e00333ef749e" compoundref="d3/d48/Engine_8hpp" startline="111">mGUI</references>
        <referencedby refid="d1/db6/classEngine_1a9ec9d3d7dc0f9e79032dd83801778eaf" compoundref="d6/d0c/Engine_8cpp" startline="127" endline="160">MainGameLoop</referencedby>
      </memberdef>
      <memberdef kind="function" id="d1/db6/classEngine_1ac84eefe06226f430a2448306e6fd2579" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void Engine::Update</definition>
        <argsstring>()</argsstring>
        <name>Update</name>
        <qualifiedname>Engine::Update</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Per frame update </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/Engine.hpp" line="45" column="10" bodyfile="src/Engine.cpp" bodystart="58" bodyend="83"/>
        <references refid="d1/db6/classEngine_1ab9e9061aa9c4bc7d2d94e5693bebde21" compoundref="d3/d48/Engine_8hpp" startline="116">m_gameobjects</references>
        <references refid="d1/db6/classEngine_1a4ec8c2b90b6421647f6da9c30ecc2bca" compoundref="d3/d48/Engine_8hpp" startline="106">mPhysics</references>
        <references refid="db/df5/classPhysicsEngine_1a30d283b6067980e42765340dea6eb62a" compoundref="df/da7/PhysicsEngine_8cpp" startline="17" endline="85">PhysicsEngine::Update</references>
        <referencedby refid="d1/db6/classEngine_1a9ec9d3d7dc0f9e79032dd83801778eaf" compoundref="d6/d0c/Engine_8cpp" startline="127" endline="160">MainGameLoop</referencedby>
      </memberdef>
      <memberdef kind="function" id="d1/db6/classEngine_1acde70aed0043e2e2091d0bb6cce8e3c1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void Engine::Render</definition>
        <argsstring>()</argsstring>
        <name>Render</name>
        <qualifiedname>Engine::Render</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Per frame render. Renders everything </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/Engine.hpp" line="50" column="10" bodyfile="src/Engine.cpp" bodystart="87" bodyend="124"/>
        <references refid="d1/db6/classEngine_1ab9e9061aa9c4bc7d2d94e5693bebde21" compoundref="d3/d48/Engine_8hpp" startline="116">m_gameobjects</references>
        <references refid="d1/db6/classEngine_1a9e8b2e9834b4ea54e780e00333ef749e" compoundref="d3/d48/Engine_8hpp" startline="111">mGUI</references>
        <references refid="d1/db6/classEngine_1a871acf97123e6fb628a4e16a60be1f7d" compoundref="d3/d48/Engine_8hpp" startline="101">mRenderer</references>
        <references refid="d1/d7f/classSDLGraphicsEngineRenderer_1ae6edfc67a39076c0c12101ad85be4f6a" compoundref="de/d9c/IGraphicsEngineRenderer_8cpp" startline="67" endline="69">SDLGraphicsEngineRenderer::RenderClear</references>
        <references refid="d5/d3b/classGameMakerGUI_1a2cc6da97c0f4b45175ddc9683308866e" compoundref="d8/da4/GameMakerGUI_8cpp" startline="53" endline="108">GameMakerGUI::RenderEditor</references>
        <references refid="d1/d7f/classSDLGraphicsEngineRenderer_1acddd7c456e4311d71fc1d43f29343d81" compoundref="de/d9c/IGraphicsEngineRenderer_8cpp" startline="71" endline="73">SDLGraphicsEngineRenderer::RenderPresent</references>
        <references refid="d1/db6/classEngine_1a03d6c0fcad1696c5b232c862cb1dafb1" compoundref="d3/d48/Engine_8hpp" startline="118">runGame</references>
        <references refid="d1/d7f/classSDLGraphicsEngineRenderer_1a91b29bf19986c6ad8710238778312277" compoundref="de/d9c/IGraphicsEngineRenderer_8cpp" startline="63" endline="65">SDLGraphicsEngineRenderer::SetRenderDrawColor</references>
        <referencedby refid="d1/db6/classEngine_1a9ec9d3d7dc0f9e79032dd83801778eaf" compoundref="d6/d0c/Engine_8cpp" startline="127" endline="160">MainGameLoop</referencedby>
      </memberdef>
      <memberdef kind="function" id="d1/db6/classEngine_1a9ec9d3d7dc0f9e79032dd83801778eaf" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void Engine::MainGameLoop</definition>
        <argsstring>()</argsstring>
        <name>MainGameLoop</name>
        <qualifiedname>Engine::MainGameLoop</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Main Game Loop that runs forever </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/Engine.hpp" line="55" column="10" bodyfile="src/Engine.cpp" bodystart="127" bodyend="160"/>
        <references refid="d1/db6/classEngine_1a2e3d93df96db6361330d3a41f7b5892b" compoundref="d6/d0c/Engine_8cpp" startline="251" endline="267">InitializePhysicsSubsystem</references>
        <references refid="d1/db6/classEngine_1a8420fafe78a3742a451fac2fcedef50c" compoundref="d6/d0c/Engine_8cpp" startline="36" endline="55">Input</references>
        <references refid="d1/db6/classEngine_1acde70aed0043e2e2091d0bb6cce8e3c1" compoundref="d6/d0c/Engine_8cpp" startline="87" endline="124">Render</references>
        <references refid="d1/db6/classEngine_1a03d6c0fcad1696c5b232c862cb1dafb1" compoundref="d3/d48/Engine_8hpp" startline="118">runGame</references>
        <references refid="d1/db6/classEngine_1ac84eefe06226f430a2448306e6fd2579" compoundref="d6/d0c/Engine_8cpp" startline="58" endline="83">Update</references>
      </memberdef>
      <memberdef kind="function" id="d1/db6/classEngine_1a1fbe9f5cb4abc3572e432cae1f154817" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void Engine::Start</definition>
        <argsstring>()</argsstring>
        <name>Start</name>
        <qualifiedname>Engine::Start</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Initialization and shutdown pattern. Explicitly call &apos;Start&apos; to launch the engine </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/Engine.hpp" line="61" column="10" bodyfile="src/Engine.cpp" bodystart="162" bodyend="204"/>
        <references refid="de/d1c/classGameObject_1a0d33d826d709a1e4496e568193fb9c57" compoundref="d4/d2b/GameObject_8cpp" startline="13" endline="15">GameObject::AddComponent</references>
        <references refid="d1/db6/classEngine_1a0a1b174ad072878adc6dff75d40b8dd9" compoundref="d6/d0c/Engine_8cpp" startline="206" endline="219">createFly</references>
        <references refid="d9/d56/classTileMapComponent_1abda1e3f6a76380b3628e69f33ad730bc" compoundref="d2/d69/TileMap_8cpp" startline="66" endline="105">TileMapComponent::GenerateSimpleMap</references>
        <references refid="d6/d77/classSpriteComponent_1a70bc3139c9721612b1cdb3e514d4dd46" compoundref="d0/dff/Sprite_8cpp" startline="72" endline="96">SpriteComponent::LoadImage</references>
        <references refid="d1/db6/classEngine_1ab9e9061aa9c4bc7d2d94e5693bebde21" compoundref="d3/d48/Engine_8hpp" startline="116">m_gameobjects</references>
        <references refid="d1/db6/classEngine_1a871acf97123e6fb628a4e16a60be1f7d" compoundref="d3/d48/Engine_8hpp" startline="101">mRenderer</references>
        <references refid="d9/d56/classTileMapComponent_1ad74bd890fb494d89958b4bc67686bdc6" compoundref="d2/d69/TileMap_8cpp" startline="109" endline="119">TileMapComponent::PrintMap</references>
      </memberdef>
      <memberdef kind="function" id="d1/db6/classEngine_1a3dbd2c0a65e642baa7eaa97caa6e4e64" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void Engine::Shutdown</definition>
        <argsstring>()</argsstring>
        <name>Shutdown</name>
        <qualifiedname>Engine::Shutdown</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Initialization and shutdown pattern. Explicitly call &apos;Shutdown&apos; to terminate the engine </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/Engine.hpp" line="67" column="10" bodyfile="src/Engine.cpp" bodystart="221" bodyend="234"/>
        <references refid="d1/db6/classEngine_1ab9e9061aa9c4bc7d2d94e5693bebde21" compoundref="d3/d48/Engine_8hpp" startline="116">m_gameobjects</references>
        <references refid="d1/db6/classEngine_1a871acf97123e6fb628a4e16a60be1f7d" compoundref="d3/d48/Engine_8hpp" startline="101">mRenderer</references>
      </memberdef>
      <memberdef kind="function" id="d1/db6/classEngine_1a7f07811f5bfae8943d5530057b1dc822" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void Engine::InitializeGraphicsSubSystem</definition>
        <argsstring>()</argsstring>
        <name>InitializeGraphicsSubSystem</name>
        <qualifiedname>Engine::InitializeGraphicsSubSystem</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Request to startup the Graphics Subsystem. <simplesect kind="see"><para><ref refid="d7/dea/classIGraphicsEngineRenderer" kindref="compound">IGraphicsEngineRenderer</ref> </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/Engine.hpp" line="73" column="10" bodyfile="src/Engine.cpp" bodystart="236" bodyend="249"/>
        <references refid="d1/db6/classEngine_1a871acf97123e6fb628a4e16a60be1f7d" compoundref="d3/d48/Engine_8hpp" startline="101">mRenderer</references>
      </memberdef>
      <memberdef kind="function" id="d1/db6/classEngine_1a2e3d93df96db6361330d3a41f7b5892b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void Engine::InitializePhysicsSubsystem</definition>
        <argsstring>()</argsstring>
        <name>InitializePhysicsSubsystem</name>
        <qualifiedname>Engine::InitializePhysicsSubsystem</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Request to startup the Physics Subsystem. <simplesect kind="see"><para><ref refid="db/df5/classPhysicsEngine" kindref="compound">PhysicsEngine</ref> </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/Engine.hpp" line="79" column="10" bodyfile="src/Engine.cpp" bodystart="251" bodyend="267"/>
        <references refid="db/df5/classPhysicsEngine_1aaa69a81964d980456a6ac48816d2f756" compoundref="df/da7/PhysicsEngine_8cpp" startline="11" endline="13">PhysicsEngine::AddComponent</references>
        <references refid="d1/db6/classEngine_1ab9e9061aa9c4bc7d2d94e5693bebde21" compoundref="d3/d48/Engine_8hpp" startline="116">m_gameobjects</references>
        <references refid="d1/db6/classEngine_1a4ec8c2b90b6421647f6da9c30ecc2bca" compoundref="d3/d48/Engine_8hpp" startline="106">mPhysics</references>
        <referencedby refid="d1/db6/classEngine_1a9ec9d3d7dc0f9e79032dd83801778eaf" compoundref="d6/d0c/Engine_8cpp" startline="127" endline="160">MainGameLoop</referencedby>
      </memberdef>
      <memberdef kind="function" id="d1/db6/classEngine_1ab03f0933af2767764d2e05f56fa44fd7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void Engine::InitializeGUI</definition>
        <argsstring>()</argsstring>
        <name>InitializeGUI</name>
        <qualifiedname>Engine::InitializeGUI</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Request to startup the GUI Subsystem. <simplesect kind="see"><para><ref refid="d5/d3b/classGameMakerGUI" kindref="compound">GameMakerGUI</ref> </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/Engine.hpp" line="85" column="10" bodyfile="src/Engine.cpp" bodystart="269" bodyend="272"/>
        <references refid="d1/d7f/classSDLGraphicsEngineRenderer_1a93e5f435d003933cf3304e44c5aa7324" compoundref="de/d9c/IGraphicsEngineRenderer_8cpp" startline="81" endline="83">SDLGraphicsEngineRenderer::GetRenderer</references>
        <references refid="d1/d7f/classSDLGraphicsEngineRenderer_1abd24deb029577fc237b47a3cbf30c121" compoundref="de/d9c/IGraphicsEngineRenderer_8cpp" startline="76" endline="78">SDLGraphicsEngineRenderer::GetWindow</references>
        <references refid="d1/db6/classEngine_1ab9e9061aa9c4bc7d2d94e5693bebde21" compoundref="d3/d48/Engine_8hpp" startline="116">m_gameobjects</references>
        <references refid="d1/db6/classEngine_1a9e8b2e9834b4ea54e780e00333ef749e" compoundref="d3/d48/Engine_8hpp" startline="111">mGUI</references>
        <references refid="d1/db6/classEngine_1a871acf97123e6fb628a4e16a60be1f7d" compoundref="d3/d48/Engine_8hpp" startline="101">mRenderer</references>
      </memberdef>
      <memberdef kind="function" id="d1/db6/classEngine_1a0a1b174ad072878adc6dff75d40b8dd9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref> *</type>
        <definition>GameObject * Engine::createFly</definition>
        <argsstring>(Vec2D spawnPos)</argsstring>
        <name>createFly</name>
        <qualifiedname>Engine::createFly</qualifiedname>
        <param>
          <type><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref></type>
          <declname>spawnPos</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Create a new bespoke Fly <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref> at the given location. Used to create the demo scene.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>spawnPos</parametername>
</parameternamelist>
<parameterdescription>
<para>the position to place the new <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref> </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a Fly <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref> </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/Engine.hpp" line="94" column="16" bodyfile="src/Engine.cpp" bodystart="206" bodyend="219"/>
        <references refid="de/d1c/classGameObject_1a0d33d826d709a1e4496e568193fb9c57" compoundref="d4/d2b/GameObject_8cpp" startline="13" endline="15">GameObject::AddComponent</references>
        <references refid="d6/d77/classSpriteComponent_1a70bc3139c9721612b1cdb3e514d4dd46" compoundref="d0/dff/Sprite_8cpp" startline="72" endline="96">SpriteComponent::LoadImage</references>
        <references refid="d1/db6/classEngine_1ab9e9061aa9c4bc7d2d94e5693bebde21" compoundref="d3/d48/Engine_8hpp" startline="116">m_gameobjects</references>
        <references refid="d1/db6/classEngine_1a871acf97123e6fb628a4e16a60be1f7d" compoundref="d3/d48/Engine_8hpp" startline="101">mRenderer</references>
        <referencedby refid="d1/db6/classEngine_1a1fbe9f5cb4abc3572e432cae1f154817" compoundref="d6/d0c/Engine_8cpp" startline="162" endline="204">Start</referencedby>
      </memberdef>
      </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
<para>The main game engine class. Holds all objects relevant to the game and runs them based on a clock. </para>
    </detaileddescription>
    <collaborationgraph>
      <node id="1">
        <label>Engine</label>
        <link refid="d1/db6/classEngine"/>
        <childnode refid="2" relation="usage">
          <edgelabel>mRenderer</edgelabel>
        </childnode>
        <childnode refid="4" relation="usage">
          <edgelabel>mPhysics</edgelabel>
        </childnode>
        <childnode refid="5" relation="usage">
          <edgelabel>mGUI</edgelabel>
        </childnode>
      </node>
      <node id="5">
        <label>GameMakerGUI</label>
        <link refid="d5/d3b/classGameMakerGUI"/>
      </node>
      <node id="3">
        <label>IGraphicsEngineRenderer</label>
        <link refid="d7/dea/classIGraphicsEngineRenderer"/>
      </node>
      <node id="4">
        <label>PhysicsEngine</label>
        <link refid="db/df5/classPhysicsEngine"/>
      </node>
      <node id="2">
        <label>SDLGraphicsEngineRenderer</label>
        <link refid="d1/d7f/classSDLGraphicsEngineRenderer"/>
        <childnode refid="3" relation="public-inheritance">
        </childnode>
      </node>
    </collaborationgraph>
    <location file="include/Engine.hpp" line="23" column="1" bodyfile="include/Engine.hpp" bodystart="24" bodyend="119"/>
    <listofallmembers>
      <member refid="d1/db6/classEngine_1a0a1b174ad072878adc6dff75d40b8dd9" prot="public" virt="non-virtual"><scope>Engine</scope><name>createFly</name></member>
      <member refid="d1/db6/classEngine_1a8c98683b0a3aa28d8ab72a8bcd0d52f2" prot="public" virt="non-virtual"><scope>Engine</scope><name>Engine</name></member>
      <member refid="d1/db6/classEngine_1a7f07811f5bfae8943d5530057b1dc822" prot="public" virt="non-virtual"><scope>Engine</scope><name>InitializeGraphicsSubSystem</name></member>
      <member refid="d1/db6/classEngine_1ab03f0933af2767764d2e05f56fa44fd7" prot="public" virt="non-virtual"><scope>Engine</scope><name>InitializeGUI</name></member>
      <member refid="d1/db6/classEngine_1a2e3d93df96db6361330d3a41f7b5892b" prot="public" virt="non-virtual"><scope>Engine</scope><name>InitializePhysicsSubsystem</name></member>
      <member refid="d1/db6/classEngine_1a8420fafe78a3742a451fac2fcedef50c" prot="public" virt="non-virtual"><scope>Engine</scope><name>Input</name></member>
      <member refid="d1/db6/classEngine_1ab9e9061aa9c4bc7d2d94e5693bebde21" prot="private" virt="non-virtual"><scope>Engine</scope><name>m_gameobjects</name></member>
      <member refid="d1/db6/classEngine_1a9ec9d3d7dc0f9e79032dd83801778eaf" prot="public" virt="non-virtual"><scope>Engine</scope><name>MainGameLoop</name></member>
      <member refid="d1/db6/classEngine_1a9e8b2e9834b4ea54e780e00333ef749e" prot="private" virt="non-virtual"><scope>Engine</scope><name>mGUI</name></member>
      <member refid="d1/db6/classEngine_1a4ec8c2b90b6421647f6da9c30ecc2bca" prot="private" virt="non-virtual"><scope>Engine</scope><name>mPhysics</name></member>
      <member refid="d1/db6/classEngine_1a871acf97123e6fb628a4e16a60be1f7d" prot="private" virt="non-virtual"><scope>Engine</scope><name>mRenderer</name></member>
      <member refid="d1/db6/classEngine_1acde70aed0043e2e2091d0bb6cce8e3c1" prot="public" virt="non-virtual"><scope>Engine</scope><name>Render</name></member>
      <member refid="d1/db6/classEngine_1a03d6c0fcad1696c5b232c862cb1dafb1" prot="private" virt="non-virtual"><scope>Engine</scope><name>runGame</name></member>
      <member refid="d1/db6/classEngine_1a3dbd2c0a65e642baa7eaa97caa6e4e64" prot="public" virt="non-virtual"><scope>Engine</scope><name>Shutdown</name></member>
      <member refid="d1/db6/classEngine_1a1fbe9f5cb4abc3572e432cae1f154817" prot="public" virt="non-virtual"><scope>Engine</scope><name>Start</name></member>
      <member refid="d1/db6/classEngine_1ac84eefe06226f430a2448306e6fd2579" prot="public" virt="non-virtual"><scope>Engine</scope><name>Update</name></member>
      <member refid="d1/db6/classEngine_1a8ef7030a089ecb30bbfcb9e43094717a" prot="public" virt="non-virtual"><scope>Engine</scope><name>~Engine</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
