\hypertarget{classUnitManager}{\section{\-Unit\-Manager \-Class \-Reference}
\label{classUnitManager}\index{\-Unit\-Manager@{\-Unit\-Manager}}
}


{\ttfamily \#include $<$\-Unit\-Manager.\-h$>$}



\-Inheritance diagram for \-Unit\-Manager\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=218pt]{classUnitManager__inherit__graph}
\end{center}
\end{figure}


\-Collaboration diagram for \-Unit\-Manager\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{classUnitManager__coll__graph}
\end{center}
\end{figure}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
std\-::string \hyperlink{classUnitManager_a0aed94f896fb94a4cc41f70385db40af}{get\-Name} () const 
\begin{DoxyCompactList}\small\item\em return the name of the class \end{DoxyCompactList}\item 
void \hyperlink{classUnitManager_a1240f0b2569ed33305ad8da94a1a5b27}{update} ()
\begin{DoxyCompactList}\small\item\em update the unit manager at each time step \end{DoxyCompactList}\item 
void \hyperlink{classUnitManager_a3587b73afcaa92c0f9dcc56d6272e615}{check\-New\-Objectives} ()
\begin{DoxyCompactList}\small\item\em check for new objectives to create \end{DoxyCompactList}\item 
void \hyperlink{classUnitManager_a5d727a26445018be4fb19f8622df9ce7}{assign\-Group\-To\-Obj} ()
\begin{DoxyCompactList}\small\item\em assign groups of units to the current objectives to fulfill \end{DoxyCompactList}\item 
void \hyperlink{classUnitManager_aca11ae68c074207d1eb64b66157c2ca0}{on\-Unit\-Create} (\-B\-W\-A\-P\-I\-::\-Unit $\ast$unit)
\begin{DoxyCompactList}\small\item\em add a new unit \end{DoxyCompactList}\item 
void \hyperlink{classUnitManager_ae54264c1cd190d892364a20b89a8232c}{on\-Unit\-Destroy} (\-B\-W\-A\-P\-I\-::\-Unit $\ast$unit)
\begin{DoxyCompactList}\small\item\em add a new unit \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{\-Protected \-Attributes}
\begin{DoxyCompactItemize}
\item 
std\-::list$<$ \-B\-W\-A\-P\-I\-::\-Unit $\ast$ $>$ \hyperlink{classUnitManager_a47fbf5510c86b13e7a446f8d10f59edc}{l\-Units\-\_\-}
\item 
std\-::list$<$ \hyperlink{classUnitGroup}{\-Unit\-Group} $\ast$ $>$ \hyperlink{classUnitManager_ad2354fa60a217bbe4c05f10facbf408c}{l\-Group\-\_\-}
\item 
std\-::list$<$ \hyperlink{classObjective}{\-Objective} $\ast$ $>$ \hyperlink{classUnitManager_ac395f92e87b94409ce6ad428df455568}{l\-Objective\-\_\-}
\item 
\hyperlink{classRegions}{\-Regions} $\ast$ \hyperlink{classUnitManager_a8bba90f558fa99b6f79dfebb52afcc26}{regions}
\end{DoxyCompactItemize}
\subsection*{\-Friends}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classUnitManager_a92dccc1df50601194ef48f46d60c8395}{\-C\-Singleton$<$ Unit\-Manager $>$}
\end{DoxyCompactItemize}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classUnitManager_a5d727a26445018be4fb19f8622df9ce7}{\index{\-Unit\-Manager@{\-Unit\-Manager}!assign\-Group\-To\-Obj@{assign\-Group\-To\-Obj}}
\index{assign\-Group\-To\-Obj@{assign\-Group\-To\-Obj}!UnitManager@{\-Unit\-Manager}}
\subsubsection[{assign\-Group\-To\-Obj}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Unit\-Manager\-::assign\-Group\-To\-Obj} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classUnitManager_a5d727a26445018be4fb19f8622df9ce7}


assign groups of units to the current objectives to fulfill 

\hypertarget{classUnitManager_a3587b73afcaa92c0f9dcc56d6272e615}{\index{\-Unit\-Manager@{\-Unit\-Manager}!check\-New\-Objectives@{check\-New\-Objectives}}
\index{check\-New\-Objectives@{check\-New\-Objectives}!UnitManager@{\-Unit\-Manager}}
\subsubsection[{check\-New\-Objectives}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Unit\-Manager\-::check\-New\-Objectives} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classUnitManager_a3587b73afcaa92c0f9dcc56d6272e615}


check for new objectives to create 

\hypertarget{classUnitManager_a0aed94f896fb94a4cc41f70385db40af}{\index{\-Unit\-Manager@{\-Unit\-Manager}!get\-Name@{get\-Name}}
\index{get\-Name@{get\-Name}!UnitManager@{\-Unit\-Manager}}
\subsubsection[{get\-Name}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string {\bf \-Unit\-Manager\-::get\-Name} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{classUnitManager_a0aed94f896fb94a4cc41f70385db40af}


return the name of the class 

\begin{DoxyReturn}{\-Returns}
the name of the class 
\end{DoxyReturn}
\hypertarget{classUnitManager_aca11ae68c074207d1eb64b66157c2ca0}{\index{\-Unit\-Manager@{\-Unit\-Manager}!on\-Unit\-Create@{on\-Unit\-Create}}
\index{on\-Unit\-Create@{on\-Unit\-Create}!UnitManager@{\-Unit\-Manager}}
\subsubsection[{on\-Unit\-Create}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Unit\-Manager\-::on\-Unit\-Create} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-A\-P\-I\-::\-Unit $\ast$}]{unit}
\end{DoxyParamCaption}
)}}\label{classUnitManager_aca11ae68c074207d1eb64b66157c2ca0}


add a new unit 


\begin{DoxyParams}{\-Parameters}
{\em unit} & \-: the new created unit \\
\hline
\end{DoxyParams}
\hypertarget{classUnitManager_ae54264c1cd190d892364a20b89a8232c}{\index{\-Unit\-Manager@{\-Unit\-Manager}!on\-Unit\-Destroy@{on\-Unit\-Destroy}}
\index{on\-Unit\-Destroy@{on\-Unit\-Destroy}!UnitManager@{\-Unit\-Manager}}
\subsubsection[{on\-Unit\-Destroy}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Unit\-Manager\-::on\-Unit\-Destroy} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-A\-P\-I\-::\-Unit $\ast$}]{unit}
\end{DoxyParamCaption}
)}}\label{classUnitManager_ae54264c1cd190d892364a20b89a8232c}


add a new unit 


\begin{DoxyParams}{\-Parameters}
{\em unit} & \-: the new created unit \\
\hline
\end{DoxyParams}
\hypertarget{classUnitManager_a1240f0b2569ed33305ad8da94a1a5b27}{\index{\-Unit\-Manager@{\-Unit\-Manager}!update@{update}}
\index{update@{update}!UnitManager@{\-Unit\-Manager}}
\subsubsection[{update}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Unit\-Manager\-::update} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classUnitManager_a1240f0b2569ed33305ad8da94a1a5b27}


update the unit manager at each time step 



\subsection{\-Friends \-And \-Related \-Function \-Documentation}
\hypertarget{classUnitManager_a92dccc1df50601194ef48f46d60c8395}{\index{\-Unit\-Manager@{\-Unit\-Manager}!\-C\-Singleton$<$ Unit\-Manager $>$@{\-C\-Singleton$<$ Unit\-Manager $>$}}
\index{\-C\-Singleton$<$ Unit\-Manager $>$@{\-C\-Singleton$<$ Unit\-Manager $>$}!UnitManager@{\-Unit\-Manager}}
\subsubsection[{\-C\-Singleton$<$ Unit\-Manager $>$}]{\setlength{\rightskip}{0pt plus 5cm}friend class {\bf \-C\-Singleton}$<$ {\bf \-Unit\-Manager} $>$\hspace{0.3cm}{\ttfamily  \mbox{[}friend\mbox{]}}}}\label{classUnitManager_a92dccc1df50601194ef48f46d60c8395}


\subsection{\-Member \-Data \-Documentation}
\hypertarget{classUnitManager_ad2354fa60a217bbe4c05f10facbf408c}{\index{\-Unit\-Manager@{\-Unit\-Manager}!l\-Group\-\_\-@{l\-Group\-\_\-}}
\index{l\-Group\-\_\-@{l\-Group\-\_\-}!UnitManager@{\-Unit\-Manager}}
\subsubsection[{l\-Group\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}std\-::list$<${\bf \-Unit\-Group}$\ast$$>$ {\bf \-Unit\-Manager\-::l\-Group\-\_\-}\hspace{0.3cm}{\ttfamily  \mbox{[}protected\mbox{]}}}}\label{classUnitManager_ad2354fa60a217bbe4c05f10facbf408c}
list of the groups of units managed \hypertarget{classUnitManager_ac395f92e87b94409ce6ad428df455568}{\index{\-Unit\-Manager@{\-Unit\-Manager}!l\-Objective\-\_\-@{l\-Objective\-\_\-}}
\index{l\-Objective\-\_\-@{l\-Objective\-\_\-}!UnitManager@{\-Unit\-Manager}}
\subsubsection[{l\-Objective\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}std\-::list$<${\bf \-Objective}$\ast$$>$ {\bf \-Unit\-Manager\-::l\-Objective\-\_\-}\hspace{0.3cm}{\ttfamily  \mbox{[}protected\mbox{]}}}}\label{classUnitManager_ac395f92e87b94409ce6ad428df455568}
list of the objective to fulfill \hypertarget{classUnitManager_a47fbf5510c86b13e7a446f8d10f59edc}{\index{\-Unit\-Manager@{\-Unit\-Manager}!l\-Units\-\_\-@{l\-Units\-\_\-}}
\index{l\-Units\-\_\-@{l\-Units\-\_\-}!UnitManager@{\-Unit\-Manager}}
\subsubsection[{l\-Units\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}std\-::list$<$\-B\-W\-A\-P\-I\-::\-Unit$\ast$$>$ {\bf \-Unit\-Manager\-::l\-Units\-\_\-}\hspace{0.3cm}{\ttfamily  \mbox{[}protected\mbox{]}}}}\label{classUnitManager_a47fbf5510c86b13e7a446f8d10f59edc}
list of all available units \hypertarget{classUnitManager_a8bba90f558fa99b6f79dfebb52afcc26}{\index{\-Unit\-Manager@{\-Unit\-Manager}!regions@{regions}}
\index{regions@{regions}!UnitManager@{\-Unit\-Manager}}
\subsubsection[{regions}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Regions}$\ast$ {\bf \-Unit\-Manager\-::regions}\hspace{0.3cm}{\ttfamily  \mbox{[}protected\mbox{]}}}}\label{classUnitManager_a8bba90f558fa99b6f79dfebb52afcc26}


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