\hypertarget{classMicroAIModule}{\section{\-Micro\-A\-I\-Module \-Class \-Reference}
\label{classMicroAIModule}\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}}
}


{\ttfamily \#include $<$\-Micro\-Project.\-h$>$}



\-Collaboration diagram for \-Micro\-A\-I\-Module\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classMicroAIModule__coll__graph}
\end{center}
\end{figure}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classMicroAIModule_a02ff242b4e44830f619fc01677b5552e}{\-Micro\-A\-I\-Module} ()
\item 
\hyperlink{classMicroAIModule_a6eceb9507b568a06d8e5526e7a02c77b}{$\sim$\-Micro\-A\-I\-Module} ()
\item 
virtual void \hyperlink{classMicroAIModule_a8f4b24b17ddfecc9e74987a7c9852075}{on\-Start} ()
\item 
virtual void \hyperlink{classMicroAIModule_a6c1831856f3f2decfbb4dfa05a726331}{on\-End} (bool is\-Winner)
\item 
virtual void \hyperlink{classMicroAIModule_a5b0548f856a87527b29b37c30921fe05}{on\-Frame} ()
\item 
virtual void \hyperlink{classMicroAIModule_a3b7fbfd6f80da7c41d2cdb8e4559ecc8}{on\-Send\-Text} (std\-::string text)
\item 
virtual void \hyperlink{classMicroAIModule_a6b84c5999f1c9b93f239811f15d52d00}{on\-Unit\-Create} (\-Unit $\ast$unit)
\item 
virtual void \hyperlink{classMicroAIModule_a4661779d8e967668da5f7669591d27ed}{on\-Unit\-Destroy} (\-Unit $\ast$unit)
\item 
virtual void \hyperlink{classMicroAIModule_acdf6893cdf60ffebee696b42a1ba2a24}{on\-Unit\-Show} (\-B\-W\-A\-P\-I\-::\-Unit $\ast$unit)
\item 
virtual void \hyperlink{classMicroAIModule_add02a4ef6b5098861fa712fee310592c}{on\-Unit\-Hide} (\-B\-W\-A\-P\-I\-::\-Unit $\ast$unit)
\item 
void \hyperlink{classMicroAIModule_a28c8c8a644c16ccefe2a58ac8860f46f}{show\-Stats} ()
\item 
void \hyperlink{classMicroAIModule_a6b47ce5fae6228b30a2fc8af1a62e933}{show\-Players} ()
\item 
void \hyperlink{classMicroAIModule_a8efb561c9d44d4536dcd37cf89154a31}{show\-Forces} ()
\end{DoxyCompactItemize}
\subsection*{\-Public \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classEUnitsFilter}{\-E\-Units\-Filter} $\ast$ \hyperlink{classMicroAIModule_aad0b48f2caacc189f7e5f755bf2de5bb}{e\-Units\-Filter}
\item 
\hyperlink{classMapManager}{\-Map\-Manager} $\ast$ \hyperlink{classMicroAIModule_a2d5cc9a431ba36202fff009104abbd05}{map\-Manager}
\item 
\hyperlink{classRegions}{\-Regions} $\ast$ \hyperlink{classMicroAIModule_ac7bc1d70d1c0f6392b792aaafbff8daa}{regions}
\item 
\hyperlink{classUnitGroupManager}{\-Unit\-Group\-Manager} $\ast$ \hyperlink{classMicroAIModule_aae264418c331b512566e8940f77d34f9}{unit\-Group\-Manager}
\item 
\hyperlink{classArbitrator_1_1Arbitrator}{\-Arbitrator\-::\-Arbitrator}\*
$<$ \-B\-W\-A\-P\-I\-::\-Unit $\ast$, double $>$ \hyperlink{classMicroAIModule_a2323a0920ee94d726f27cdc5270293fe}{arbitrator}
\item 
\hyperlink{classGoalManager}{\-Goal\-Manager} $\ast$ \hyperlink{classMicroAIModule_a2e3dd657d8daef51573dfb280c1b9a0d}{goal\-Manager}
\item 
bool \hyperlink{classMicroAIModule_a10afdd027fed0bffdf16f52332e55b28}{enemies\-Found}
\item 
\-B\-W\-A\-P\-I\-::\-Tile\-Position \hyperlink{classMicroAIModule_a4f215dbc5c9b12c086680f3e6ef2fd32}{e\-Start\-Location}
\item 
std\-::map$<$ \-B\-W\-A\-P\-I\-::\-Unit \*
$\ast$, \-B\-W\-A\-P\-I\-::\-Unit\-Type $>$ \hyperlink{classMicroAIModule_af72f459abe488752ff9d8b05840b9f77}{buildings}
\end{DoxyCompactItemize}


\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{classMicroAIModule_a02ff242b4e44830f619fc01677b5552e}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}}
\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{\-Micro\-A\-I\-Module}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Micro\-A\-I\-Module\-::\-Micro\-A\-I\-Module} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classMicroAIModule_a02ff242b4e44830f619fc01677b5552e}
\hypertarget{classMicroAIModule_a6eceb9507b568a06d8e5526e7a02c77b}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!$\sim$\-Micro\-A\-I\-Module@{$\sim$\-Micro\-A\-I\-Module}}
\index{$\sim$\-Micro\-A\-I\-Module@{$\sim$\-Micro\-A\-I\-Module}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{$\sim$\-Micro\-A\-I\-Module}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Micro\-A\-I\-Module\-::$\sim$\-Micro\-A\-I\-Module} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classMicroAIModule_a6eceb9507b568a06d8e5526e7a02c77b}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classMicroAIModule_a6c1831856f3f2decfbb4dfa05a726331}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!on\-End@{on\-End}}
\index{on\-End@{on\-End}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{on\-End}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Micro\-A\-I\-Module\-::on\-End} (
\begin{DoxyParamCaption}
\item[{bool}]{is\-Winner}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classMicroAIModule_a6c1831856f3f2decfbb4dfa05a726331}


\-Here is the call graph for this function\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classMicroAIModule_a6c1831856f3f2decfbb4dfa05a726331_cgraph}
\end{center}
\end{figure}


\hypertarget{classMicroAIModule_a5b0548f856a87527b29b37c30921fe05}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!on\-Frame@{on\-Frame}}
\index{on\-Frame@{on\-Frame}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{on\-Frame}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Micro\-A\-I\-Module\-::on\-Frame} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classMicroAIModule_a5b0548f856a87527b29b37c30921fe05}


\-Here is the call graph for this function\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classMicroAIModule_a5b0548f856a87527b29b37c30921fe05_cgraph}
\end{center}
\end{figure}


\hypertarget{classMicroAIModule_a3b7fbfd6f80da7c41d2cdb8e4559ecc8}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!on\-Send\-Text@{on\-Send\-Text}}
\index{on\-Send\-Text@{on\-Send\-Text}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{on\-Send\-Text}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Micro\-A\-I\-Module\-::on\-Send\-Text} (
\begin{DoxyParamCaption}
\item[{std\-::string}]{text}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classMicroAIModule_a3b7fbfd6f80da7c41d2cdb8e4559ecc8}


\-Here is the call graph for this function\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=338pt]{classMicroAIModule_a3b7fbfd6f80da7c41d2cdb8e4559ecc8_cgraph}
\end{center}
\end{figure}


\hypertarget{classMicroAIModule_a8f4b24b17ddfecc9e74987a7c9852075}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!on\-Start@{on\-Start}}
\index{on\-Start@{on\-Start}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{on\-Start}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Micro\-A\-I\-Module\-::on\-Start} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classMicroAIModule_a8f4b24b17ddfecc9e74987a7c9852075}
\-Broodwar-\/$>$printf(\char`\"{}\-The map is \%s, a \%d player map\char`\"{},\-Broodwar-\/$>$map\-Name().c\-\_\-str(),\-Broodwar-\/$>$get\-Start\-Locations().size()); 

\-Here is the call graph for this function\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classMicroAIModule_a8f4b24b17ddfecc9e74987a7c9852075_cgraph}
\end{center}
\end{figure}


\hypertarget{classMicroAIModule_a6b84c5999f1c9b93f239811f15d52d00}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!on\-Unit\-Create@{on\-Unit\-Create}}
\index{on\-Unit\-Create@{on\-Unit\-Create}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{on\-Unit\-Create}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Micro\-A\-I\-Module\-::on\-Unit\-Create} (
\begin{DoxyParamCaption}
\item[{\-Unit $\ast$}]{unit}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classMicroAIModule_a6b84c5999f1c9b93f239811f15d52d00}
\hypertarget{classMicroAIModule_a4661779d8e967668da5f7669591d27ed}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!on\-Unit\-Destroy@{on\-Unit\-Destroy}}
\index{on\-Unit\-Destroy@{on\-Unit\-Destroy}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{on\-Unit\-Destroy}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Micro\-A\-I\-Module\-::on\-Unit\-Destroy} (
\begin{DoxyParamCaption}
\item[{\-Unit $\ast$}]{unit}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classMicroAIModule_a4661779d8e967668da5f7669591d27ed}


\-Here is the call graph for this function\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classMicroAIModule_a4661779d8e967668da5f7669591d27ed_cgraph}
\end{center}
\end{figure}


\hypertarget{classMicroAIModule_add02a4ef6b5098861fa712fee310592c}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!on\-Unit\-Hide@{on\-Unit\-Hide}}
\index{on\-Unit\-Hide@{on\-Unit\-Hide}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{on\-Unit\-Hide}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Micro\-A\-I\-Module\-::on\-Unit\-Hide} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-A\-P\-I\-::\-Unit $\ast$}]{unit}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classMicroAIModule_add02a4ef6b5098861fa712fee310592c}
\hypertarget{classMicroAIModule_acdf6893cdf60ffebee696b42a1ba2a24}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!on\-Unit\-Show@{on\-Unit\-Show}}
\index{on\-Unit\-Show@{on\-Unit\-Show}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{on\-Unit\-Show}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Micro\-A\-I\-Module\-::on\-Unit\-Show} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-A\-P\-I\-::\-Unit $\ast$}]{unit}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classMicroAIModule_acdf6893cdf60ffebee696b42a1ba2a24}
\hypertarget{classMicroAIModule_a8efb561c9d44d4536dcd37cf89154a31}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!show\-Forces@{show\-Forces}}
\index{show\-Forces@{show\-Forces}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{show\-Forces}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Micro\-A\-I\-Module\-::show\-Forces} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classMicroAIModule_a8efb561c9d44d4536dcd37cf89154a31}
\hypertarget{classMicroAIModule_a6b47ce5fae6228b30a2fc8af1a62e933}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!show\-Players@{show\-Players}}
\index{show\-Players@{show\-Players}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{show\-Players}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Micro\-A\-I\-Module\-::show\-Players} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classMicroAIModule_a6b47ce5fae6228b30a2fc8af1a62e933}
\hypertarget{classMicroAIModule_a28c8c8a644c16ccefe2a58ac8860f46f}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!show\-Stats@{show\-Stats}}
\index{show\-Stats@{show\-Stats}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{show\-Stats}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Micro\-A\-I\-Module\-::show\-Stats} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classMicroAIModule_a28c8c8a644c16ccefe2a58ac8860f46f}


\subsection{\-Member \-Data \-Documentation}
\hypertarget{classMicroAIModule_a2323a0920ee94d726f27cdc5270293fe}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!arbitrator@{arbitrator}}
\index{arbitrator@{arbitrator}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{arbitrator}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Arbitrator\-::\-Arbitrator}$<$\-B\-W\-A\-P\-I\-::\-Unit$\ast$,double$>$ {\bf \-Micro\-A\-I\-Module\-::arbitrator}}}\label{classMicroAIModule_a2323a0920ee94d726f27cdc5270293fe}
\hypertarget{classMicroAIModule_af72f459abe488752ff9d8b05840b9f77}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!buildings@{buildings}}
\index{buildings@{buildings}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{buildings}]{\setlength{\rightskip}{0pt plus 5cm}std\-::map$<$\-B\-W\-A\-P\-I\-::\-Unit$\ast$,\-B\-W\-A\-P\-I\-::\-Unit\-Type$>$ {\bf \-Micro\-A\-I\-Module\-::buildings}}}\label{classMicroAIModule_af72f459abe488752ff9d8b05840b9f77}
\hypertarget{classMicroAIModule_a10afdd027fed0bffdf16f52332e55b28}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!enemies\-Found@{enemies\-Found}}
\index{enemies\-Found@{enemies\-Found}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{enemies\-Found}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-Micro\-A\-I\-Module\-::enemies\-Found}}}\label{classMicroAIModule_a10afdd027fed0bffdf16f52332e55b28}
\hypertarget{classMicroAIModule_a4f215dbc5c9b12c086680f3e6ef2fd32}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!e\-Start\-Location@{e\-Start\-Location}}
\index{e\-Start\-Location@{e\-Start\-Location}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{e\-Start\-Location}]{\setlength{\rightskip}{0pt plus 5cm}\-B\-W\-A\-P\-I\-::\-Tile\-Position {\bf \-Micro\-A\-I\-Module\-::e\-Start\-Location}}}\label{classMicroAIModule_a4f215dbc5c9b12c086680f3e6ef2fd32}
\hypertarget{classMicroAIModule_aad0b48f2caacc189f7e5f755bf2de5bb}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!e\-Units\-Filter@{e\-Units\-Filter}}
\index{e\-Units\-Filter@{e\-Units\-Filter}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{e\-Units\-Filter}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-E\-Units\-Filter}$\ast$ {\bf \-Micro\-A\-I\-Module\-::e\-Units\-Filter}}}\label{classMicroAIModule_aad0b48f2caacc189f7e5f755bf2de5bb}
\hypertarget{classMicroAIModule_a2e3dd657d8daef51573dfb280c1b9a0d}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!goal\-Manager@{goal\-Manager}}
\index{goal\-Manager@{goal\-Manager}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{goal\-Manager}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Goal\-Manager}$\ast$ {\bf \-Micro\-A\-I\-Module\-::goal\-Manager}}}\label{classMicroAIModule_a2e3dd657d8daef51573dfb280c1b9a0d}
\hypertarget{classMicroAIModule_a2d5cc9a431ba36202fff009104abbd05}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!map\-Manager@{map\-Manager}}
\index{map\-Manager@{map\-Manager}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{map\-Manager}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Map\-Manager}$\ast$ {\bf \-Micro\-A\-I\-Module\-::map\-Manager}}}\label{classMicroAIModule_a2d5cc9a431ba36202fff009104abbd05}
\hypertarget{classMicroAIModule_ac7bc1d70d1c0f6392b792aaafbff8daa}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!regions@{regions}}
\index{regions@{regions}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{regions}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Regions}$\ast$ {\bf \-Micro\-A\-I\-Module\-::regions}}}\label{classMicroAIModule_ac7bc1d70d1c0f6392b792aaafbff8daa}
\hypertarget{classMicroAIModule_aae264418c331b512566e8940f77d34f9}{\index{\-Micro\-A\-I\-Module@{\-Micro\-A\-I\-Module}!unit\-Group\-Manager@{unit\-Group\-Manager}}
\index{unit\-Group\-Manager@{unit\-Group\-Manager}!MicroAIModule@{\-Micro\-A\-I\-Module}}
\subsubsection[{unit\-Group\-Manager}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Unit\-Group\-Manager}$\ast$ {\bf \-Micro\-A\-I\-Module\-::unit\-Group\-Manager}}}\label{classMicroAIModule_aae264418c331b512566e8940f77d34f9}


\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
\-Snippy\-Hollo\-W-\/\-Broodwar\-Bot\-Q-\/f01ab56/src/\hyperlink{MicroProject_8h}{\-Micro\-Project.\-h}\item 
\-Snippy\-Hollo\-W-\/\-Broodwar\-Bot\-Q-\/f01ab56/src/\hyperlink{MicroProject_8cpp}{\-Micro\-Project.\-cpp}\end{DoxyCompactItemize}
