\hypertarget{classBuilder}{\section{\-Builder \-Class \-Reference}
\label{classBuilder}\index{\-Builder@{\-Builder}}
}


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

\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{classBuilder_a14d54d9c03b87f918f206d149cd06aca}{add\-Task} (const \-B\-W\-A\-P\-I\-::\-Unit\-Type \&t, const \-B\-W\-A\-P\-I\-::\-Tile\-Position \&seed\-Position, bool quick, int last\-Order=0)
\item 
void \hyperlink{classBuilder_a62a1c645cbfd565d259c32adab7a1d54}{build} (const \-B\-W\-A\-P\-I\-::\-Unit\-Type \&t, const \-B\-W\-A\-P\-I\-::\-Tile\-Position \&seed\-Position=\hyperlink{Macro_2UnitGroup_8h_add79f866c2bbd6a8c66c9111fda8bca6ac9d3e887722f2bc482bcca9d41c512af}{\-B\-W\-A\-P\-I\-::\-Tile\-Positions\-::\-None}, bool quick=false)
\item 
void \hyperlink{classBuilder_ad994bf8e62e5697ffa9bd950a45c92d7}{build\-Order} (const \-B\-W\-A\-P\-I\-::\-Unit\-Type \&t, int supply\-As\-Time, const \-B\-W\-A\-P\-I\-::\-Tile\-Position \&seed\-Position=\hyperlink{Macro_2UnitGroup_8h_add79f866c2bbd6a8c66c9111fda8bca6ac9d3e887722f2bc482bcca9d41c512af}{\-B\-W\-A\-P\-I\-::\-Tile\-Positions\-::\-None})
\item 
void \hyperlink{classBuilder_a4dff3100e966e026b35b5a17fba442fb}{build\-Cannons\-Minerals} (\-B\-W\-T\-A\-::\-Base\-Location $\ast$b)
\begin{DoxyCompactList}\small\item\em \-Attempts to build 2 pylons + 2 cannons around the minerals. \end{DoxyCompactList}\item 
int \hyperlink{classBuilder_af6f032b097869ae006dce211f28c7462}{number\-In\-Future\-Tasks} (const \-B\-W\-A\-P\-I\-::\-Unit\-Type \&t)
\item 
int \hyperlink{classBuilder_a31a8b3e9fb0035e6d383cff24d2aa493}{number\-In\-Construction} (const \-B\-W\-A\-P\-I\-::\-Unit\-Type \&t)
\item 
int \hyperlink{classBuilder_aea492e0b762e2daaebf2083560b5651b}{will\-Build} (const \-B\-W\-A\-P\-I\-::\-Unit\-Type \&t)
\item 
const std\-::list$<$ \-B\-W\-A\-P\-I\-::\-Unit $\ast$ $>$ \& \hyperlink{classBuilder_a5fdcd4d4fe508594b3381ea227e1846c}{get\-In\-Construction} ()
\item 
int \hyperlink{classBuilder_a9a0141556a48880087cad0585ed3be76}{additional\-Supply\-Next\-Frames} (int frames=30 $\ast$24)
\item 
void \hyperlink{classBuilder_aa70d03aac84c7c6b2f90fc51e8d668ce}{update} ()
\item 
const \-B\-W\-A\-P\-I\-::\-Unit\-Type \& \hyperlink{classBuilder_abeb545af69e86d8fd89a279e562da1b5}{next\-Building\-Type} ()
\item 
void \hyperlink{classBuilder_a75044cc85700dafb5226fc7b225b6998}{on\-Unit\-Create} (\-B\-W\-A\-P\-I\-::\-Unit $\ast$unit)
\item 
void \hyperlink{classBuilder_a34f9ad81f4c63ba92b1d1569bb14de4a}{on\-Unit\-Destroy} (\-B\-W\-A\-P\-I\-::\-Unit $\ast$unit)
\end{DoxyCompactItemize}
\subsection*{\-Static \-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
static \hyperlink{classBuilder}{\-Builder} $\ast$ \hyperlink{classBuilder_af43f5f3e7e5c169996854f692135bb2e}{create} ()
\item 
static void \hyperlink{classBuilder_a7a4b54b4f59044969337468703fb0494}{destroy} ()
\end{DoxyCompactItemize}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classBuilder_a9a0141556a48880087cad0585ed3be76}{\index{\-Builder@{\-Builder}!additional\-Supply\-Next\-Frames@{additional\-Supply\-Next\-Frames}}
\index{additional\-Supply\-Next\-Frames@{additional\-Supply\-Next\-Frames}!Builder@{\-Builder}}
\subsubsection[{additional\-Supply\-Next\-Frames}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf \-Builder\-::additional\-Supply\-Next\-Frames} (
\begin{DoxyParamCaption}
\item[{int}]{frames = {\ttfamily 30$\ast$24}}
\end{DoxyParamCaption}
)}}\label{classBuilder_a9a0141556a48880087cad0585ed3be76}


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


\hypertarget{classBuilder_a14d54d9c03b87f918f206d149cd06aca}{\index{\-Builder@{\-Builder}!add\-Task@{add\-Task}}
\index{add\-Task@{add\-Task}!Builder@{\-Builder}}
\subsubsection[{add\-Task}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Builder\-::add\-Task} (
\begin{DoxyParamCaption}
\item[{const \-B\-W\-A\-P\-I\-::\-Unit\-Type \&}]{t, }
\item[{const \-B\-W\-A\-P\-I\-::\-Tile\-Position \&}]{seed\-Position, }
\item[{bool}]{quick, }
\item[{int}]{last\-Order = {\ttfamily 0}}
\end{DoxyParamCaption}
)}}\label{classBuilder_a14d54d9c03b87f918f206d149cd06aca}


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


\hypertarget{classBuilder_a62a1c645cbfd565d259c32adab7a1d54}{\index{\-Builder@{\-Builder}!build@{build}}
\index{build@{build}!Builder@{\-Builder}}
\subsubsection[{build}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Builder\-::build} (
\begin{DoxyParamCaption}
\item[{const \-B\-W\-A\-P\-I\-::\-Unit\-Type \&}]{t, }
\item[{const \-B\-W\-A\-P\-I\-::\-Tile\-Position \&}]{seed\-Position = {\ttfamily {\bf \-B\-W\-A\-P\-I\-::\-Tile\-Positions\-::\-None}}, }
\item[{bool}]{quick = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{classBuilder_a62a1c645cbfd565d259c32adab7a1d54}


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




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


\hypertarget{classBuilder_a4dff3100e966e026b35b5a17fba442fb}{\index{\-Builder@{\-Builder}!build\-Cannons\-Minerals@{build\-Cannons\-Minerals}}
\index{build\-Cannons\-Minerals@{build\-Cannons\-Minerals}!Builder@{\-Builder}}
\subsubsection[{build\-Cannons\-Minerals}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Builder\-::build\-Cannons\-Minerals} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-T\-A\-::\-Base\-Location $\ast$}]{b}
\end{DoxyParamCaption}
)}}\label{classBuilder_a4dff3100e966e026b35b5a17fba442fb}


\-Attempts to build 2 pylons + 2 cannons around the minerals. 



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




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


\hypertarget{classBuilder_ad994bf8e62e5697ffa9bd950a45c92d7}{\index{\-Builder@{\-Builder}!build\-Order@{build\-Order}}
\index{build\-Order@{build\-Order}!Builder@{\-Builder}}
\subsubsection[{build\-Order}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Builder\-::build\-Order} (
\begin{DoxyParamCaption}
\item[{const \-B\-W\-A\-P\-I\-::\-Unit\-Type \&}]{t, }
\item[{int}]{supply\-As\-Time, }
\item[{const \-B\-W\-A\-P\-I\-::\-Tile\-Position \&}]{seed\-Position = {\ttfamily {\bf \-B\-W\-A\-P\-I\-::\-Tile\-Positions\-::\-None}}}
\end{DoxyParamCaption}
)}}\label{classBuilder_ad994bf8e62e5697ffa9bd950a45c92d7}


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


\hypertarget{classBuilder_af43f5f3e7e5c169996854f692135bb2e}{\index{\-Builder@{\-Builder}!create@{create}}
\index{create@{create}!Builder@{\-Builder}}
\subsubsection[{create}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Builder} $\ast$ {\bf \-Builder\-::create} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}\label{classBuilder_af43f5f3e7e5c169996854f692135bb2e}
\hypertarget{classBuilder_a7a4b54b4f59044969337468703fb0494}{\index{\-Builder@{\-Builder}!destroy@{destroy}}
\index{destroy@{destroy}!Builder@{\-Builder}}
\subsubsection[{destroy}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Builder\-::destroy} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}\label{classBuilder_a7a4b54b4f59044969337468703fb0494}
\hypertarget{classBuilder_a5fdcd4d4fe508594b3381ea227e1846c}{\index{\-Builder@{\-Builder}!get\-In\-Construction@{get\-In\-Construction}}
\index{get\-In\-Construction@{get\-In\-Construction}!Builder@{\-Builder}}
\subsubsection[{get\-In\-Construction}]{\setlength{\rightskip}{0pt plus 5cm}const list$<$ \-Unit $\ast$ $>$ \& {\bf \-Builder\-::get\-In\-Construction} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classBuilder_a5fdcd4d4fe508594b3381ea227e1846c}


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


\hypertarget{classBuilder_abeb545af69e86d8fd89a279e562da1b5}{\index{\-Builder@{\-Builder}!next\-Building\-Type@{next\-Building\-Type}}
\index{next\-Building\-Type@{next\-Building\-Type}!Builder@{\-Builder}}
\subsubsection[{next\-Building\-Type}]{\setlength{\rightskip}{0pt plus 5cm}const \-Unit\-Type \& {\bf \-Builder\-::next\-Building\-Type} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classBuilder_abeb545af69e86d8fd89a279e562da1b5}
\hypertarget{classBuilder_a31a8b3e9fb0035e6d383cff24d2aa493}{\index{\-Builder@{\-Builder}!number\-In\-Construction@{number\-In\-Construction}}
\index{number\-In\-Construction@{number\-In\-Construction}!Builder@{\-Builder}}
\subsubsection[{number\-In\-Construction}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf \-Builder\-::number\-In\-Construction} (
\begin{DoxyParamCaption}
\item[{const \-B\-W\-A\-P\-I\-::\-Unit\-Type \&}]{t}
\end{DoxyParamCaption}
)}}\label{classBuilder_a31a8b3e9fb0035e6d383cff24d2aa493}


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


\hypertarget{classBuilder_af6f032b097869ae006dce211f28c7462}{\index{\-Builder@{\-Builder}!number\-In\-Future\-Tasks@{number\-In\-Future\-Tasks}}
\index{number\-In\-Future\-Tasks@{number\-In\-Future\-Tasks}!Builder@{\-Builder}}
\subsubsection[{number\-In\-Future\-Tasks}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf \-Builder\-::number\-In\-Future\-Tasks} (
\begin{DoxyParamCaption}
\item[{const \-B\-W\-A\-P\-I\-::\-Unit\-Type \&}]{t}
\end{DoxyParamCaption}
)}}\label{classBuilder_af6f032b097869ae006dce211f28c7462}


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


\hypertarget{classBuilder_a75044cc85700dafb5226fc7b225b6998}{\index{\-Builder@{\-Builder}!on\-Unit\-Create@{on\-Unit\-Create}}
\index{on\-Unit\-Create@{on\-Unit\-Create}!Builder@{\-Builder}}
\subsubsection[{on\-Unit\-Create}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Builder\-::on\-Unit\-Create} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-A\-P\-I\-::\-Unit $\ast$}]{unit}
\end{DoxyParamCaption}
)}}\label{classBuilder_a75044cc85700dafb5226fc7b225b6998}


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


\hypertarget{classBuilder_a34f9ad81f4c63ba92b1d1569bb14de4a}{\index{\-Builder@{\-Builder}!on\-Unit\-Destroy@{on\-Unit\-Destroy}}
\index{on\-Unit\-Destroy@{on\-Unit\-Destroy}!Builder@{\-Builder}}
\subsubsection[{on\-Unit\-Destroy}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Builder\-::on\-Unit\-Destroy} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-A\-P\-I\-::\-Unit $\ast$}]{unit}
\end{DoxyParamCaption}
)}}\label{classBuilder_a34f9ad81f4c63ba92b1d1569bb14de4a}


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




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


\hypertarget{classBuilder_aa70d03aac84c7c6b2f90fc51e8d668ce}{\index{\-Builder@{\-Builder}!update@{update}}
\index{update@{update}!Builder@{\-Builder}}
\subsubsection[{update}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Builder\-::update} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classBuilder_aa70d03aac84c7c6b2f90fc51e8d668ce}
\-Follow the \-B\-O

\-Perform tasks

update as much construction tasks as we can afford

\-Check buildings in construction

\-Default check/defensive for the late game 

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




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


\hypertarget{classBuilder_aea492e0b762e2daaebf2083560b5651b}{\index{\-Builder@{\-Builder}!will\-Build@{will\-Build}}
\index{will\-Build@{will\-Build}!Builder@{\-Builder}}
\subsubsection[{will\-Build}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf \-Builder\-::will\-Build} (
\begin{DoxyParamCaption}
\item[{const \-B\-W\-A\-P\-I\-::\-Unit\-Type \&}]{t}
\end{DoxyParamCaption}
)}}\label{classBuilder_aea492e0b762e2daaebf2083560b5651b}


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




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




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