\hypertarget{classAIController}{\section{\-A\-I\-Controller \-Class \-Reference}
\label{classAIController}\index{\-A\-I\-Controller@{\-A\-I\-Controller}}
}


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

\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classAIController_a242d23b051987dce484a141955de1b79}{\-A\-I\-Controller} ()
\item 
\hyperlink{classAIController_a8ef6168b848152fb0758e339417122b3}{$\sim$\-A\-I\-Controller} ()
\item 
void \hyperlink{classAIController_a3354062300ec4db5fd8e2603400e2b2d}{\-Attack\-Add} (\hyperlink{Detours_8h_ab5a791e918b09a41addbf5b813175633}{int} count, \hyperlink{classBWAPI_1_1UnitType}{\-B\-W\-A\-P\-I\-::\-Unit\-Type} type)
\item 
void \hyperlink{classAIController_a5e36e660435857f11656a4064a9d0a2a}{\-Defense\-Clear} (\hyperlink{Detours_8h_ab5a791e918b09a41addbf5b813175633}{int} type)
\item 
void \hyperlink{classAIController_a9663fc8a335465a7cb3e88b74dc18ac5}{\-Defense\-Build} (\hyperlink{Detours_8h_ab5a791e918b09a41addbf5b813175633}{int} type, \hyperlink{Detours_8h_ab5a791e918b09a41addbf5b813175633}{int} count, \hyperlink{classBWAPI_1_1UnitType}{\-B\-W\-A\-P\-I\-::\-Unit\-Type} u\-Type)
\item 
void \hyperlink{classAIController_a92b6526e706248a3da8038e69c8b1959}{\-Defense\-Use} (\hyperlink{Detours_8h_ab5a791e918b09a41addbf5b813175633}{int} type, \hyperlink{Detours_8h_ab5a791e918b09a41addbf5b813175633}{int} count, \hyperlink{classBWAPI_1_1UnitType}{\-B\-W\-A\-P\-I\-::\-Unit\-Type} u\-Type)
\end{DoxyCompactItemize}
\subsection*{\-Public \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{Types_8h_a4ae1dab0fb4b072a66584546209e7d58}{\-B\-Y\-T\-E} \hyperlink{classAIController_ac94c3468ca3bf5a08811370973ad3d98}{b\-Nuke\-Rate}
\item 
\hyperlink{Types_8h_a4ae1dab0fb4b072a66584546209e7d58}{\-B\-Y\-T\-E} \hyperlink{classAIController_ae84d21e63e83250e5d738e4ce030be59}{b\-Attacks}
\item 
\hyperlink{Types_8h_a8aec363bdef0c755693c97d1757e8642}{\-D\-W\-O\-R\-D} \hyperlink{classAIController_a4fca6b88887d9d64f34b9dbe85b20383}{dw\-Last\-Nuke\-Time}
\item 
\hyperlink{Types_8h_a197942eefa7db30960ae396d68339b97}{\-W\-O\-R\-D} \hyperlink{classAIController_a5fc8f827d8b007cd5701697f115233d6}{w\-Flags}
\item 
\hyperlink{Types_8h_a197942eefa7db30960ae396d68339b97}{\-W\-O\-R\-D} \hyperlink{classAIController_a9f2cbeafe96b17ef85edc545900ac929}{w\-Panic\-Block}
\item 
\hyperlink{Types_8h_a197942eefa7db30960ae396d68339b97}{\-W\-O\-R\-D} \hyperlink{classAIController_a1b0fa80321695be8f2f697a986eaebb4}{w\-Max\-Force}
\item 
\hyperlink{Types_8h_a197942eefa7db30960ae396d68339b97}{\-W\-O\-R\-D} \hyperlink{classAIController_a45a230741a6a85aba620bd37ab5e0e6d}{w\-Attack\-Group}
\item 
\hyperlink{Types_8h_a197942eefa7db30960ae396d68339b97}{\-W\-O\-R\-D} \hyperlink{classAIController_a5eb6af4ea0347c78006a7c74b6260d82}{w\-Wait\-For\-Type}
\item 
\hyperlink{Types_8h_a4ae1dab0fb4b072a66584546209e7d58}{\-B\-Y\-T\-E} \hyperlink{classAIController_ae0b8270f3a055ab9fba099037c8e4505}{b\-Default\-Min}
\item 
\hyperlink{Types_8h_a8aec363bdef0c755693c97d1757e8642}{\-D\-W\-O\-R\-D} \hyperlink{classAIController_a7a8122fd70ff60c596a2ced401477ed6}{dw\-Last\-Individual\-Unit\-Update\-Time}
\item 
\hyperlink{Types_8h_a8aec363bdef0c755693c97d1757e8642}{\-D\-W\-O\-R\-D} \hyperlink{classAIController_a84a9931cf027c991b6600c99b1f35910}{dw\-Attack\-Time}
\item 
\hyperlink{Types_8h_a4ae1dab0fb4b072a66584546209e7d58}{\-B\-Y\-T\-E} \hyperlink{classAIController_a2b1a8c7bc7cd27b66840b4e0eb1d8df4}{b\-If\-Dif}
\item 
\hyperlink{Types_8h_a197942eefa7db30960ae396d68339b97}{\-W\-O\-R\-D} \hyperlink{classAIController_ad12cbd746d02ab5d79300cf7eca41ae7}{attack\-Groups} \mbox{[}64\mbox{]}
\item 
\hyperlink{Types_8h_a8aec363bdef0c755693c97d1757e8642}{\-D\-W\-O\-R\-D} \hyperlink{classAIController_aad1a39b4a79089a4d8051a0a42bb6b75}{defensebuild} \mbox{[}4\mbox{]}\mbox{[}10\mbox{]}
\item 
\hyperlink{Types_8h_a8aec363bdef0c755693c97d1757e8642}{\-D\-W\-O\-R\-D} \hyperlink{classAIController_a7824ea1353e0150cdb7a213199a8a5ef}{defenseuse} \mbox{[}4\mbox{]}\mbox{[}10\mbox{]}
\item 
\hyperlink{Types_8h_a4ae1dab0fb4b072a66584546209e7d58}{\-B\-Y\-T\-E} \hyperlink{classAIController_ab80ab4b264298da812e92d8a55398ecf}{b\-Define\-Max} \mbox{[}228\mbox{]}
\item 
\-R\-E\-C\-T \hyperlink{classAIController_ab81839630e2445d6976f5459e5dc273d}{gen\-Cmd\-Target}
\end{DoxyCompactItemize}


\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{classAIController_a242d23b051987dce484a141955de1b79}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!\-A\-I\-Controller@{\-A\-I\-Controller}}
\index{\-A\-I\-Controller@{\-A\-I\-Controller}!AIController@{\-A\-I\-Controller}}
\subsubsection[{\-A\-I\-Controller}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-A\-I\-Controller\-::\-A\-I\-Controller} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classAIController_a242d23b051987dce484a141955de1b79}
\hypertarget{classAIController_a8ef6168b848152fb0758e339417122b3}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!$\sim$\-A\-I\-Controller@{$\sim$\-A\-I\-Controller}}
\index{$\sim$\-A\-I\-Controller@{$\sim$\-A\-I\-Controller}!AIController@{\-A\-I\-Controller}}
\subsubsection[{$\sim$\-A\-I\-Controller}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-A\-I\-Controller\-::$\sim$\-A\-I\-Controller} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classAIController_a8ef6168b848152fb0758e339417122b3}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classAIController_a3354062300ec4db5fd8e2603400e2b2d}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!\-Attack\-Add@{\-Attack\-Add}}
\index{\-Attack\-Add@{\-Attack\-Add}!AIController@{\-A\-I\-Controller}}
\subsubsection[{\-Attack\-Add}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-A\-I\-Controller\-::\-Attack\-Add} (
\begin{DoxyParamCaption}
\item[{{\bf int}}]{count, }
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Unit\-Type}}]{type}
\end{DoxyParamCaption}
)}}\label{classAIController_a3354062300ec4db5fd8e2603400e2b2d}


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


\hypertarget{classAIController_a9663fc8a335465a7cb3e88b74dc18ac5}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!\-Defense\-Build@{\-Defense\-Build}}
\index{\-Defense\-Build@{\-Defense\-Build}!AIController@{\-A\-I\-Controller}}
\subsubsection[{\-Defense\-Build}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-A\-I\-Controller\-::\-Defense\-Build} (
\begin{DoxyParamCaption}
\item[{{\bf int}}]{type, }
\item[{{\bf int}}]{count, }
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Unit\-Type}}]{u\-Type}
\end{DoxyParamCaption}
)}}\label{classAIController_a9663fc8a335465a7cb3e88b74dc18ac5}


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


\hypertarget{classAIController_a5e36e660435857f11656a4064a9d0a2a}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!\-Defense\-Clear@{\-Defense\-Clear}}
\index{\-Defense\-Clear@{\-Defense\-Clear}!AIController@{\-A\-I\-Controller}}
\subsubsection[{\-Defense\-Clear}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-A\-I\-Controller\-::\-Defense\-Clear} (
\begin{DoxyParamCaption}
\item[{{\bf int}}]{type}
\end{DoxyParamCaption}
)}}\label{classAIController_a5e36e660435857f11656a4064a9d0a2a}


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


\hypertarget{classAIController_a92b6526e706248a3da8038e69c8b1959}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!\-Defense\-Use@{\-Defense\-Use}}
\index{\-Defense\-Use@{\-Defense\-Use}!AIController@{\-A\-I\-Controller}}
\subsubsection[{\-Defense\-Use}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-A\-I\-Controller\-::\-Defense\-Use} (
\begin{DoxyParamCaption}
\item[{{\bf int}}]{type, }
\item[{{\bf int}}]{count, }
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Unit\-Type}}]{u\-Type}
\end{DoxyParamCaption}
)}}\label{classAIController_a92b6526e706248a3da8038e69c8b1959}


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




\subsection{\-Member \-Data \-Documentation}
\hypertarget{classAIController_ad12cbd746d02ab5d79300cf7eca41ae7}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!attack\-Groups@{attack\-Groups}}
\index{attack\-Groups@{attack\-Groups}!AIController@{\-A\-I\-Controller}}
\subsubsection[{attack\-Groups}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-W\-O\-R\-D} {\bf \-A\-I\-Controller\-::attack\-Groups}\mbox{[}64\mbox{]}}}\label{classAIController_ad12cbd746d02ab5d79300cf7eca41ae7}
\hypertarget{classAIController_ae84d21e63e83250e5d738e4ce030be59}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!b\-Attacks@{b\-Attacks}}
\index{b\-Attacks@{b\-Attacks}!AIController@{\-A\-I\-Controller}}
\subsubsection[{b\-Attacks}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-B\-Y\-T\-E} {\bf \-A\-I\-Controller\-::b\-Attacks}}}\label{classAIController_ae84d21e63e83250e5d738e4ce030be59}
\hypertarget{classAIController_ae0b8270f3a055ab9fba099037c8e4505}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!b\-Default\-Min@{b\-Default\-Min}}
\index{b\-Default\-Min@{b\-Default\-Min}!AIController@{\-A\-I\-Controller}}
\subsubsection[{b\-Default\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-B\-Y\-T\-E} {\bf \-A\-I\-Controller\-::b\-Default\-Min}}}\label{classAIController_ae0b8270f3a055ab9fba099037c8e4505}
\hypertarget{classAIController_ab80ab4b264298da812e92d8a55398ecf}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!b\-Define\-Max@{b\-Define\-Max}}
\index{b\-Define\-Max@{b\-Define\-Max}!AIController@{\-A\-I\-Controller}}
\subsubsection[{b\-Define\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-B\-Y\-T\-E} {\bf \-A\-I\-Controller\-::b\-Define\-Max}\mbox{[}228\mbox{]}}}\label{classAIController_ab80ab4b264298da812e92d8a55398ecf}
\hypertarget{classAIController_a2b1a8c7bc7cd27b66840b4e0eb1d8df4}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!b\-If\-Dif@{b\-If\-Dif}}
\index{b\-If\-Dif@{b\-If\-Dif}!AIController@{\-A\-I\-Controller}}
\subsubsection[{b\-If\-Dif}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-B\-Y\-T\-E} {\bf \-A\-I\-Controller\-::b\-If\-Dif}}}\label{classAIController_a2b1a8c7bc7cd27b66840b4e0eb1d8df4}
\hypertarget{classAIController_ac94c3468ca3bf5a08811370973ad3d98}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!b\-Nuke\-Rate@{b\-Nuke\-Rate}}
\index{b\-Nuke\-Rate@{b\-Nuke\-Rate}!AIController@{\-A\-I\-Controller}}
\subsubsection[{b\-Nuke\-Rate}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-B\-Y\-T\-E} {\bf \-A\-I\-Controller\-::b\-Nuke\-Rate}}}\label{classAIController_ac94c3468ca3bf5a08811370973ad3d98}
\hypertarget{classAIController_aad1a39b4a79089a4d8051a0a42bb6b75}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!defensebuild@{defensebuild}}
\index{defensebuild@{defensebuild}!AIController@{\-A\-I\-Controller}}
\subsubsection[{defensebuild}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-D\-W\-O\-R\-D} {\bf \-A\-I\-Controller\-::defensebuild}\mbox{[}4\mbox{]}\mbox{[}10\mbox{]}}}\label{classAIController_aad1a39b4a79089a4d8051a0a42bb6b75}
\hypertarget{classAIController_a7824ea1353e0150cdb7a213199a8a5ef}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!defenseuse@{defenseuse}}
\index{defenseuse@{defenseuse}!AIController@{\-A\-I\-Controller}}
\subsubsection[{defenseuse}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-D\-W\-O\-R\-D} {\bf \-A\-I\-Controller\-::defenseuse}\mbox{[}4\mbox{]}\mbox{[}10\mbox{]}}}\label{classAIController_a7824ea1353e0150cdb7a213199a8a5ef}
\hypertarget{classAIController_a84a9931cf027c991b6600c99b1f35910}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!dw\-Attack\-Time@{dw\-Attack\-Time}}
\index{dw\-Attack\-Time@{dw\-Attack\-Time}!AIController@{\-A\-I\-Controller}}
\subsubsection[{dw\-Attack\-Time}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-D\-W\-O\-R\-D} {\bf \-A\-I\-Controller\-::dw\-Attack\-Time}}}\label{classAIController_a84a9931cf027c991b6600c99b1f35910}
\hypertarget{classAIController_a7a8122fd70ff60c596a2ced401477ed6}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!dw\-Last\-Individual\-Unit\-Update\-Time@{dw\-Last\-Individual\-Unit\-Update\-Time}}
\index{dw\-Last\-Individual\-Unit\-Update\-Time@{dw\-Last\-Individual\-Unit\-Update\-Time}!AIController@{\-A\-I\-Controller}}
\subsubsection[{dw\-Last\-Individual\-Unit\-Update\-Time}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-D\-W\-O\-R\-D} {\bf \-A\-I\-Controller\-::dw\-Last\-Individual\-Unit\-Update\-Time}}}\label{classAIController_a7a8122fd70ff60c596a2ced401477ed6}
\hypertarget{classAIController_a4fca6b88887d9d64f34b9dbe85b20383}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!dw\-Last\-Nuke\-Time@{dw\-Last\-Nuke\-Time}}
\index{dw\-Last\-Nuke\-Time@{dw\-Last\-Nuke\-Time}!AIController@{\-A\-I\-Controller}}
\subsubsection[{dw\-Last\-Nuke\-Time}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-D\-W\-O\-R\-D} {\bf \-A\-I\-Controller\-::dw\-Last\-Nuke\-Time}}}\label{classAIController_a4fca6b88887d9d64f34b9dbe85b20383}
\hypertarget{classAIController_ab81839630e2445d6976f5459e5dc273d}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!gen\-Cmd\-Target@{gen\-Cmd\-Target}}
\index{gen\-Cmd\-Target@{gen\-Cmd\-Target}!AIController@{\-A\-I\-Controller}}
\subsubsection[{gen\-Cmd\-Target}]{\setlength{\rightskip}{0pt plus 5cm}\-R\-E\-C\-T {\bf \-A\-I\-Controller\-::gen\-Cmd\-Target}}}\label{classAIController_ab81839630e2445d6976f5459e5dc273d}
\hypertarget{classAIController_a45a230741a6a85aba620bd37ab5e0e6d}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!w\-Attack\-Group@{w\-Attack\-Group}}
\index{w\-Attack\-Group@{w\-Attack\-Group}!AIController@{\-A\-I\-Controller}}
\subsubsection[{w\-Attack\-Group}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-W\-O\-R\-D} {\bf \-A\-I\-Controller\-::w\-Attack\-Group}}}\label{classAIController_a45a230741a6a85aba620bd37ab5e0e6d}
\hypertarget{classAIController_a5fc8f827d8b007cd5701697f115233d6}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!w\-Flags@{w\-Flags}}
\index{w\-Flags@{w\-Flags}!AIController@{\-A\-I\-Controller}}
\subsubsection[{w\-Flags}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-W\-O\-R\-D} {\bf \-A\-I\-Controller\-::w\-Flags}}}\label{classAIController_a5fc8f827d8b007cd5701697f115233d6}
\hypertarget{classAIController_a1b0fa80321695be8f2f697a986eaebb4}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!w\-Max\-Force@{w\-Max\-Force}}
\index{w\-Max\-Force@{w\-Max\-Force}!AIController@{\-A\-I\-Controller}}
\subsubsection[{w\-Max\-Force}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-W\-O\-R\-D} {\bf \-A\-I\-Controller\-::w\-Max\-Force}}}\label{classAIController_a1b0fa80321695be8f2f697a986eaebb4}
\hypertarget{classAIController_a9f2cbeafe96b17ef85edc545900ac929}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!w\-Panic\-Block@{w\-Panic\-Block}}
\index{w\-Panic\-Block@{w\-Panic\-Block}!AIController@{\-A\-I\-Controller}}
\subsubsection[{w\-Panic\-Block}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-W\-O\-R\-D} {\bf \-A\-I\-Controller\-::w\-Panic\-Block}}}\label{classAIController_a9f2cbeafe96b17ef85edc545900ac929}
\hypertarget{classAIController_a5eb6af4ea0347c78006a7c74b6260d82}{\index{\-A\-I\-Controller@{\-A\-I\-Controller}!w\-Wait\-For\-Type@{w\-Wait\-For\-Type}}
\index{w\-Wait\-For\-Type@{w\-Wait\-For\-Type}!AIController@{\-A\-I\-Controller}}
\subsubsection[{w\-Wait\-For\-Type}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-W\-O\-R\-D} {\bf \-A\-I\-Controller\-::w\-Wait\-For\-Type}}}\label{classAIController_a5eb6af4ea0347c78006a7c74b6260d82}


\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
trunk/bwapi/\-B\-W\-Script\-Emulator/\hyperlink{Controller_8h}{\-Controller.\-h}\item 
trunk/bwapi/\-B\-W\-Script\-Emulator/\hyperlink{Controller_8cpp}{\-Controller.\-cpp}\end{DoxyCompactItemize}
