\hypertarget{classBWAPI_1_1AIModule}{\section{\-B\-W\-A\-P\-I\-:\-:\-A\-I\-Module \-Class \-Reference}
\label{classBWAPI_1_1AIModule}\index{\-B\-W\-A\-P\-I\-::\-A\-I\-Module@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}}
}


{\ttfamily \#include $<$\-A\-I\-Module.\-h$>$}



\-Inheritance diagram for \-B\-W\-A\-P\-I\-:\-:\-A\-I\-Module\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classBWAPI_1_1AIModule__inherit__graph}
\end{center}
\end{figure}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classBWAPI_1_1AIModule_a514f4dbd1419bb16e2c45bfa58914d8f}{\-A\-I\-Module} ()
\item 
virtual \hyperlink{classBWAPI_1_1AIModule_a15bb2eef5dd056dc47e9682215814051}{$\sim$\-A\-I\-Module} ()
\item 
virtual void \hyperlink{classBWAPI_1_1AIModule_aa4a6794e0c2d130b9128524f065a4d53}{on\-Start} ()
\item 
virtual void \hyperlink{classBWAPI_1_1AIModule_a74ba6d08de9f7d4c4f8504ab32288d45}{on\-End} (bool is\-Winner)
\item 
virtual void \hyperlink{classBWAPI_1_1AIModule_a4956c50e0d9d26128b34f679399fc89a}{on\-Frame} ()
\item 
virtual void \hyperlink{classBWAPI_1_1AIModule_adce1b1bf1227d5353c32aa16b3728a1e}{on\-Send\-Text} (std\-::string text)
\item 
virtual void \hyperlink{classBWAPI_1_1AIModule_a7b0b5cf5381adaa53ab25ba120d33d04}{on\-Receive\-Text} (\hyperlink{classBWAPI_1_1Player}{\-Player} $\ast$player, std\-::string text)
\item 
virtual void \hyperlink{classBWAPI_1_1AIModule_a9f52e00e397c49ffce2336046ef7a720}{on\-Player\-Left} (\hyperlink{classBWAPI_1_1Player}{\-Player} $\ast$player)
\item 
virtual void \hyperlink{classBWAPI_1_1AIModule_ad04b2e1d279975c21b04ddea7cbeff31}{on\-Nuke\-Detect} (\hyperlink{classBWAPI_1_1Position}{\-Position} target)
\item 
virtual void \hyperlink{classBWAPI_1_1AIModule_a86ca402a6bcbaf24f74de56eb029207c}{on\-Unit\-Discover} (\hyperlink{classBWAPI_1_1Unit}{\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classBWAPI_1_1AIModule_a5bf90e6b75dbb65b646a9abd08ea8ed6}{on\-Unit\-Evade} (\hyperlink{classBWAPI_1_1Unit}{\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classBWAPI_1_1AIModule_ab12d4ed441c6f26e2b84237918f816e0}{on\-Unit\-Show} (\hyperlink{classBWAPI_1_1Unit}{\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classBWAPI_1_1AIModule_a9e7912b7e12fcc4f89b79210e7030b8e}{on\-Unit\-Hide} (\hyperlink{classBWAPI_1_1Unit}{\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classBWAPI_1_1AIModule_aa445d7eba03ab515c7e6e6f23628e761}{on\-Unit\-Create} (\hyperlink{classBWAPI_1_1Unit}{\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classBWAPI_1_1AIModule_a32637d3e091a5fe7ee53e2de6caccfb6}{on\-Unit\-Destroy} (\hyperlink{classBWAPI_1_1Unit}{\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classBWAPI_1_1AIModule_aa3ce746650e8071250b252d1de65140f}{on\-Unit\-Morph} (\hyperlink{classBWAPI_1_1Unit}{\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classBWAPI_1_1AIModule_ae84881637231279476fea62655965c99}{on\-Unit\-Renegade} (\hyperlink{classBWAPI_1_1Unit}{\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classBWAPI_1_1AIModule_abb8179f251b940bc6b98962678917dcf}{on\-Save\-Game} (std\-::string game\-Name)
\item 
virtual void \hyperlink{classBWAPI_1_1AIModule_a960f9da65eaad73bb9e6c6c59332d210}{on\-Unit\-Complete} (\hyperlink{classBWAPI_1_1Unit}{\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classBWAPI_1_1AIModule_a865cd334112466dced04a51418fa6db0}{on\-Player\-Dropped} (\hyperlink{classBWAPI_1_1Player}{\-Player} $\ast$player)
\end{DoxyCompactItemize}


\subsection{\-Detailed \-Description}
\hyperlink{classBWAPI_1_1AIModule}{\-A\-I\-Module} is a virtual class that is intended to be implemented or inherited by a custom \-A\-I class.

\begin{DoxyNote}{\-Note}
\-Using \hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I} in a different thread than the default one will produce unexpected results and possibly crash the program. \-Multi-\/threaded \-A\-Is are possible so long as all \hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I} interaction is limited to the default thread (during one of the call-\/backs). 
\end{DoxyNote}


\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{classBWAPI_1_1AIModule_a514f4dbd1419bb16e2c45bfa58914d8f}{\index{\-B\-W\-A\-P\-I\-::\-A\-I\-Module@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}!\-A\-I\-Module@{\-A\-I\-Module}}
\index{\-A\-I\-Module@{\-A\-I\-Module}!BWAPI::AIModule@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}}
\subsubsection[{\-A\-I\-Module}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-B\-W\-A\-P\-I\-::\-A\-I\-Module\-::\-A\-I\-Module} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classBWAPI_1_1AIModule_a514f4dbd1419bb16e2c45bfa58914d8f}
\hypertarget{classBWAPI_1_1AIModule_a15bb2eef5dd056dc47e9682215814051}{\index{\-B\-W\-A\-P\-I\-::\-A\-I\-Module@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}!$\sim$\-A\-I\-Module@{$\sim$\-A\-I\-Module}}
\index{$\sim$\-A\-I\-Module@{$\sim$\-A\-I\-Module}!BWAPI::AIModule@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}}
\subsubsection[{$\sim$\-A\-I\-Module}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-B\-W\-A\-P\-I\-::\-A\-I\-Module\-::$\sim$\-A\-I\-Module} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWAPI_1_1AIModule_a15bb2eef5dd056dc47e9682215814051}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classBWAPI_1_1AIModule_a74ba6d08de9f7d4c4f8504ab32288d45}{\index{\-B\-W\-A\-P\-I\-::\-A\-I\-Module@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}!on\-End@{on\-End}}
\index{on\-End@{on\-End}!BWAPI::AIModule@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}}
\subsubsection[{on\-End}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-A\-P\-I\-::\-A\-I\-Module\-::on\-End} (
\begin{DoxyParamCaption}
\item[{bool}]{is\-Winner}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWAPI_1_1AIModule_a74ba6d08de9f7d4c4f8504ab32288d45}
\hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I} calls this at the end of the match. is\-Winner will be true if the \hyperlink{classBWAPI_1_1AIModule}{\-A\-I\-Module} won the game. \-If the game is a replay, is\-Winner will always be false. 

\-Reimplemented in \hyperlink{classBWScriptEmulator_a13159ae6be97180495eb579031ec089b}{\-B\-W\-Script\-Emulator}, \hyperlink{classDevAIModule_aa4383d72f75c063d586e579de9d2329e}{\-Dev\-A\-I\-Module}, \hyperlink{classExampleTournamentAI_a83b0d3c3ff238738123d30764e945208}{\-Example\-Tournament\-A\-I}, \hyperlink{classExampleAIModule_ad25d64654f07cfa2724a0ffdb1f197e9}{\-Example\-A\-I\-Module}, \hyperlink{classEventTest_ac423a847a3fb8c395629fe60c5d65512}{\-Event\-Test}, and \hyperlink{classTestMap1_a1c32000b0b15fd9a1e2829947dab6275}{\-Test\-Map1}.



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


\hypertarget{classBWAPI_1_1AIModule_a4956c50e0d9d26128b34f679399fc89a}{\index{\-B\-W\-A\-P\-I\-::\-A\-I\-Module@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}!on\-Frame@{on\-Frame}}
\index{on\-Frame@{on\-Frame}!BWAPI::AIModule@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}}
\subsubsection[{on\-Frame}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-A\-P\-I\-::\-A\-I\-Module\-::on\-Frame} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWAPI_1_1AIModule_a4956c50e0d9d26128b34f679399fc89a}
\hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I} calls this on every logical frame in the game. 

\-Reimplemented in \hyperlink{classBWScriptEmulator_afaab4da2e4caf5f5193a5c07cf393b4d}{\-B\-W\-Script\-Emulator}, \hyperlink{classDevAIModule_a5af26c60548d8a2251de012051e2d346}{\-Dev\-A\-I\-Module}, \hyperlink{classExampleTournamentAI_abbbb2eb5c7bae123cf5706e07a4b6d37}{\-Example\-Tournament\-A\-I}, \hyperlink{classExampleAIModule_ad224bcc8a7e977882658d0b8fad2ea52}{\-Example\-A\-I\-Module}, \hyperlink{classEventTest_a5639872db89df2047ab4a468f0b372fb}{\-Event\-Test}, \hyperlink{classTestModule_a1501004532dfbf7a4c6fdae22d958996}{\-Test\-Module}, \hyperlink{classDefaultTestModule_aab2c63f4480538f134ff19f25fe12451}{\-Default\-Test\-Module}, \hyperlink{classExistenceTest_a0976eb35fc8fbcb9279da518a65e643e}{\-Existence\-Test}, \hyperlink{classInterceptorTest_aade7284d81e48603e15df255dfafeef5}{\-Interceptor\-Test}, \hyperlink{classTestMap1_a60c4964dec3b9a1a534d0740485f5c34}{\-Test\-Map1}, and \hyperlink{classMicroTest_aacf83e14488628d0012eb12f8820e2cc}{\-Micro\-Test}.



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


\hypertarget{classBWAPI_1_1AIModule_ad04b2e1d279975c21b04ddea7cbeff31}{\index{\-B\-W\-A\-P\-I\-::\-A\-I\-Module@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}!on\-Nuke\-Detect@{on\-Nuke\-Detect}}
\index{on\-Nuke\-Detect@{on\-Nuke\-Detect}!BWAPI::AIModule@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}}
\subsubsection[{on\-Nuke\-Detect}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-A\-P\-I\-::\-A\-I\-Module\-::on\-Nuke\-Detect} (
\begin{DoxyParamCaption}
\item[{{\bf \-Position}}]{target}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWAPI_1_1AIModule_ad04b2e1d279975c21b04ddea7cbeff31}
\hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I} calls this when a nuclear launch has been detected. \-If the target position is visible, or if \-Complete \hyperlink{classBWAPI_1_1Map}{\-Map} \-Information is enabled, the target position will also be provided. \-If \-Complete \hyperlink{classBWAPI_1_1Map}{\-Map} \-Information is disabled and the target position is not visible, target will be set to \hyperlink{namespaceBWAPI_1_1Positions_ab00d3ce229246fd09e2a04c25b8b8822}{\-Positions\-::\-Unknown}. 

\-Reimplemented in \hyperlink{classBWScriptEmulator_a7edebfbea6ca79bd9eb6e11abb2611ae}{\-B\-W\-Script\-Emulator}, \hyperlink{classDevAIModule_a3bcd8351650c5bd56c9f18a30ff4c5a0}{\-Dev\-A\-I\-Module}, \hyperlink{classExampleTournamentAI_abd3e72b069df4a30cc0ce57d0e412539}{\-Example\-Tournament\-A\-I}, \hyperlink{classExampleAIModule_aabbf26ab6152e30940709d967db247c5}{\-Example\-A\-I\-Module}, \hyperlink{classEventTest_a8dc92b6358f577c481467904509fb32e}{\-Event\-Test}, and \hyperlink{classTestMap1_a09c6e78d727e280c52c96f0b81e971ce}{\-Test\-Map1}.



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


\hypertarget{classBWAPI_1_1AIModule_a865cd334112466dced04a51418fa6db0}{\index{\-B\-W\-A\-P\-I\-::\-A\-I\-Module@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}!on\-Player\-Dropped@{on\-Player\-Dropped}}
\index{on\-Player\-Dropped@{on\-Player\-Dropped}!BWAPI::AIModule@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}}
\subsubsection[{on\-Player\-Dropped}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-A\-P\-I\-::\-A\-I\-Module\-::on\-Player\-Dropped} (
\begin{DoxyParamCaption}
\item[{{\bf \-Player} $\ast$}]{player}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWAPI_1_1AIModule_a865cd334112466dced04a51418fa6db0}


\-Reimplemented in \hyperlink{classExampleTournamentAI_a77049fcc9ddc28df3dc4d17f99aea728}{\-Example\-Tournament\-A\-I}.



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


\hypertarget{classBWAPI_1_1AIModule_a9f52e00e397c49ffce2336046ef7a720}{\index{\-B\-W\-A\-P\-I\-::\-A\-I\-Module@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}!on\-Player\-Left@{on\-Player\-Left}}
\index{on\-Player\-Left@{on\-Player\-Left}!BWAPI::AIModule@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}}
\subsubsection[{on\-Player\-Left}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-A\-P\-I\-::\-A\-I\-Module\-::on\-Player\-Left} (
\begin{DoxyParamCaption}
\item[{{\bf \-Player} $\ast$}]{player}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWAPI_1_1AIModule_a9f52e00e397c49ffce2336046ef7a720}
\hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I} calls this when a player leaves the game. 

\-Reimplemented in \hyperlink{classBWScriptEmulator_a2f1c47f7e0101b9e8d1b5e63694ad544}{\-B\-W\-Script\-Emulator}, \hyperlink{classDevAIModule_a914c1dafe3ea28f2aa44a3308c39d5c4}{\-Dev\-A\-I\-Module}, \hyperlink{classExampleTournamentAI_a0fd5bde3f8c668e614cb48b12685b3ee}{\-Example\-Tournament\-A\-I}, \hyperlink{classExampleAIModule_a771587e8bdccd84802c1cdfa93da95b6}{\-Example\-A\-I\-Module}, \hyperlink{classEventTest_aaa93d917c523e16cb4dbda9e5a319862}{\-Event\-Test}, and \hyperlink{classTestMap1_aebec646eeb703685108610ab945b4edc}{\-Test\-Map1}.



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


\hypertarget{classBWAPI_1_1AIModule_a7b0b5cf5381adaa53ab25ba120d33d04}{\index{\-B\-W\-A\-P\-I\-::\-A\-I\-Module@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}!on\-Receive\-Text@{on\-Receive\-Text}}
\index{on\-Receive\-Text@{on\-Receive\-Text}!BWAPI::AIModule@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}}
\subsubsection[{on\-Receive\-Text}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-A\-P\-I\-::\-A\-I\-Module\-::on\-Receive\-Text} (
\begin{DoxyParamCaption}
\item[{{\bf \-Player} $\ast$}]{player, }
\item[{std\-::string}]{text}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWAPI_1_1AIModule_a7b0b5cf5381adaa53ab25ba120d33d04}
\hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I} calls this when another player sends a message. 

\-Reimplemented in \hyperlink{classBWScriptEmulator_a72902a126424de6281e2b6966b4e2d29}{\-B\-W\-Script\-Emulator}, \hyperlink{classDevAIModule_af4051673212fa4e2859def5865dcbcd5}{\-Dev\-A\-I\-Module}, \hyperlink{classExampleTournamentAI_a54da380aac43f37fdd4c86cb1bfe2186}{\-Example\-Tournament\-A\-I}, \hyperlink{classExampleAIModule_a7bd2df9c8ce97839d262fbc8f0a48f78}{\-Example\-A\-I\-Module}, and \hyperlink{classEventTest_aabadff77d464b1d2c91ab190c1e18638}{\-Event\-Test}.



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


\hypertarget{classBWAPI_1_1AIModule_abb8179f251b940bc6b98962678917dcf}{\index{\-B\-W\-A\-P\-I\-::\-A\-I\-Module@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}!on\-Save\-Game@{on\-Save\-Game}}
\index{on\-Save\-Game@{on\-Save\-Game}!BWAPI::AIModule@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}}
\subsubsection[{on\-Save\-Game}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-A\-P\-I\-::\-A\-I\-Module\-::on\-Save\-Game} (
\begin{DoxyParamCaption}
\item[{std\-::string}]{game\-Name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWAPI_1_1AIModule_abb8179f251b940bc6b98962678917dcf}


\-Reimplemented in \hyperlink{classBWScriptEmulator_aa395b09aa20abdaf9658029420028d56}{\-B\-W\-Script\-Emulator}, \hyperlink{classDevAIModule_a378b88ee1dcae2c626e0b809285008bc}{\-Dev\-A\-I\-Module}, \hyperlink{classExampleTournamentAI_a60836b5b9913a96750cb82ad5a19a4be}{\-Example\-Tournament\-A\-I}, \hyperlink{classExampleAIModule_ace07f305774e2639d4b96d3d46189509}{\-Example\-A\-I\-Module}, \hyperlink{classEventTest_a9b1367a81c2d27347f07c7aab590e05b}{\-Event\-Test}, and \hyperlink{classTestMap1_acb8264726c8c80cf9ada0a82915ea4f3}{\-Test\-Map1}.



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


\hypertarget{classBWAPI_1_1AIModule_adce1b1bf1227d5353c32aa16b3728a1e}{\index{\-B\-W\-A\-P\-I\-::\-A\-I\-Module@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}!on\-Send\-Text@{on\-Send\-Text}}
\index{on\-Send\-Text@{on\-Send\-Text}!BWAPI::AIModule@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}}
\subsubsection[{on\-Send\-Text}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-A\-P\-I\-::\-A\-I\-Module\-::on\-Send\-Text} (
\begin{DoxyParamCaption}
\item[{std\-::string}]{text}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWAPI_1_1AIModule_adce1b1bf1227d5353c32aa16b3728a1e}
\-If \hyperlink{namespaceBWAPI_1_1Flag_a394478b7ea50a1fea08f7a73bbad04aea74a41a92f61bc4e7d1da3468de118d34}{\-Flag\-::\-User\-Input} is enabled, \hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I} will call this each time a user enters a message into the chat. 

\-Reimplemented in \hyperlink{classBWScriptEmulator_a1bad0dd0ee46c20e29303abef29219d8}{\-B\-W\-Script\-Emulator}, \hyperlink{classDevAIModule_a9fad107633d2a85eac29666b8df3cdb0}{\-Dev\-A\-I\-Module}, \hyperlink{classExampleTournamentAI_a042f3af2fe204c104582577288bca8a7}{\-Example\-Tournament\-A\-I}, \hyperlink{classExampleAIModule_ab1109e5ab8d6ceee39674bab23cd76c8}{\-Example\-A\-I\-Module}, \hyperlink{classEventTest_a519d0d338d83371e4ba7477dbc655775}{\-Event\-Test}, and \hyperlink{classTestMap1_aa5d5d0d82f0e3c04cbdf3abf3ae7a82e}{\-Test\-Map1}.



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


\hypertarget{classBWAPI_1_1AIModule_aa4a6794e0c2d130b9128524f065a4d53}{\index{\-B\-W\-A\-P\-I\-::\-A\-I\-Module@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}!on\-Start@{on\-Start}}
\index{on\-Start@{on\-Start}!BWAPI::AIModule@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}}
\subsubsection[{on\-Start}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-A\-P\-I\-::\-A\-I\-Module\-::on\-Start} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWAPI_1_1AIModule_aa4a6794e0c2d130b9128524f065a4d53}
\hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I} calls this at the start of a match. \-Typically an \-A\-I will execute set up code in this method (initialize data structures, load build orders, etc). 

\-Reimplemented in \hyperlink{classBWScriptEmulator_a082a89a8fe27f8d3589edad333ad4734}{\-B\-W\-Script\-Emulator}, \hyperlink{classDevAIModule_a1ad5e88eb350b4c47b0d21340e8f46ae}{\-Dev\-A\-I\-Module}, \hyperlink{classExampleTournamentAI_a7d98f68b52d399829dcc025593067c95}{\-Example\-Tournament\-A\-I}, \hyperlink{classExampleAIModule_aa5e76d1c51fa396de22864335b8ea4a4}{\-Example\-A\-I\-Module}, \hyperlink{classEventTest_ac1a36f6fd374e4fb96920a9ef0702ba9}{\-Event\-Test}, \hyperlink{classDefaultTestModule_a3fcd2cf5fc47a6d9d28b6df65024d669}{\-Default\-Test\-Module}, \hyperlink{classExistenceTest_ae7466e18024d58fbdcf726224970dfc9}{\-Existence\-Test}, \hyperlink{classInterceptorTest_a3de32fba92e3ece25669ab244786e600}{\-Interceptor\-Test}, \hyperlink{classMapTest_a855f340b61e4ea98c217b136ee016163}{\-Map\-Test}, \hyperlink{classProtossTest_a0ccf9f04bc292ddb859f7e0628690e8a}{\-Protoss\-Test}, \hyperlink{classTerranTest_ab86d309791560ce32220de3aaa272ca1}{\-Terran\-Test}, \hyperlink{classZergTest_a6dcdcc83982bc1ab0c7c5e3fb6ec29bc}{\-Zerg\-Test}, \hyperlink{classMicroTest_a51e3a656607bd480527cd2e7695df9ad}{\-Micro\-Test}, and \hyperlink{classTestMap1_a0bad5ab64b7fc16fc030632adf25fefe}{\-Test\-Map1}.



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


\hypertarget{classBWAPI_1_1AIModule_a960f9da65eaad73bb9e6c6c59332d210}{\index{\-B\-W\-A\-P\-I\-::\-A\-I\-Module@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}!on\-Unit\-Complete@{on\-Unit\-Complete}}
\index{on\-Unit\-Complete@{on\-Unit\-Complete}!BWAPI::AIModule@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}}
\subsubsection[{on\-Unit\-Complete}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-A\-P\-I\-::\-A\-I\-Module\-::on\-Unit\-Complete} (
\begin{DoxyParamCaption}
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Unit} $\ast$}]{unit}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWAPI_1_1AIModule_a960f9da65eaad73bb9e6c6c59332d210}


\-Reimplemented in \hyperlink{classExampleTournamentAI_a564ac7972dc4142ed38d3d0ebbc0d3a0}{\-Example\-Tournament\-A\-I}, and \hyperlink{classExampleAIModule_a04fad164fceb0a61e3092974589a2254}{\-Example\-A\-I\-Module}.



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


\hypertarget{classBWAPI_1_1AIModule_aa445d7eba03ab515c7e6e6f23628e761}{\index{\-B\-W\-A\-P\-I\-::\-A\-I\-Module@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}!on\-Unit\-Create@{on\-Unit\-Create}}
\index{on\-Unit\-Create@{on\-Unit\-Create}!BWAPI::AIModule@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}}
\subsubsection[{on\-Unit\-Create}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-A\-P\-I\-::\-A\-I\-Module\-::on\-Unit\-Create} (
\begin{DoxyParamCaption}
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Unit} $\ast$}]{unit}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWAPI_1_1AIModule_aa445d7eba03ab515c7e6e6f23628e761}
\hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I} calls this when a unit is created. \-Note that this is \-N\-O\-T called when a unit changes type (such as larva into egg or egg into drone). \-Building a refinery/assimilator/extractor will not produce an on\-Unit\-Create call since the vespene geyser changes to the unit type of the refinery/assimilator/extractor. \-If \-Complete \hyperlink{classBWAPI_1_1Map}{\-Map} \-Information is enabled, this will also be called for new units that are hidden by the fog of war. \-If the unit is visible upon creation, on\-Unit\-Show will be called shortly after on\-Unit\-Create is called. 

\-Reimplemented in \hyperlink{classBWScriptEmulator_acc8efb71042022cfdb10f44a5cb623be}{\-B\-W\-Script\-Emulator}, \hyperlink{classDevAIModule_a35a55e69bc8cc32a98391f5f665cb5f7}{\-Dev\-A\-I\-Module}, \hyperlink{classExampleTournamentAI_a9cb9adb029443c43c52202562ebae31d}{\-Example\-Tournament\-A\-I}, \hyperlink{classExampleAIModule_ac08755a67ffe8e163143d04a9fa4977b}{\-Example\-A\-I\-Module}, \hyperlink{classEventTest_a4fa6bd532e08cee790a28108971c3932}{\-Event\-Test}, \hyperlink{classTestMap1_a0e7d329c955b97e34cffb3cfc10ca39c}{\-Test\-Map1}, \hyperlink{classTestModule_ae3a8b6abedf92039017fb0f0d74e2a3b}{\-Test\-Module}, and \hyperlink{classExistenceTest_ad01b89053fbb3df66f71953ff4cff0b1}{\-Existence\-Test}.



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


\hypertarget{classBWAPI_1_1AIModule_a32637d3e091a5fe7ee53e2de6caccfb6}{\index{\-B\-W\-A\-P\-I\-::\-A\-I\-Module@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}!on\-Unit\-Destroy@{on\-Unit\-Destroy}}
\index{on\-Unit\-Destroy@{on\-Unit\-Destroy}!BWAPI::AIModule@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}}
\subsubsection[{on\-Unit\-Destroy}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-A\-P\-I\-::\-A\-I\-Module\-::on\-Unit\-Destroy} (
\begin{DoxyParamCaption}
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Unit} $\ast$}]{unit}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWAPI_1_1AIModule_a32637d3e091a5fe7ee53e2de6caccfb6}
\hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I} calls this when a unit dies or otherwise removed from the game (i.\-e. a mined out mineral patch). \-When a zerg drone becomes an extractor, the \-Vespene geyser changes to the \-Zerg \-Extractor type and the drone is removed. \-If \-Complete \hyperlink{classBWAPI_1_1Map}{\-Map} \-Information is enabled, this will also be called for units that are hidden by the fog of war. \-If a unit that was visible gets destroyed, on\-Unit\-Hide will be called right before on\-Unit\-Destroy is called. 

\-Reimplemented in \hyperlink{classBWScriptEmulator_ad292513587618d314d524d2811aa0671}{\-B\-W\-Script\-Emulator}, \hyperlink{classDevAIModule_a215266413a7748e4fa0c28ae526de2f3}{\-Dev\-A\-I\-Module}, \hyperlink{classExampleTournamentAI_a9390868991349adc7b9e2ebf6aae27a9}{\-Example\-Tournament\-A\-I}, \hyperlink{classExampleAIModule_aa3b022a8f6dc9d054d051b6d9bc8d296}{\-Example\-A\-I\-Module}, \hyperlink{classEventTest_a80f8764a5a4bba14a6bea486a46ade94}{\-Event\-Test}, \hyperlink{classTestMap1_aebb6a9681d6ca9448e43335af133ffcf}{\-Test\-Map1}, \hyperlink{classTestModule_abcc3b8f226862a5feaf1891760551257}{\-Test\-Module}, and \hyperlink{classExistenceTest_aca4fb74336f702d297a77402ddc56d12}{\-Existence\-Test}.



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


\hypertarget{classBWAPI_1_1AIModule_a86ca402a6bcbaf24f74de56eb029207c}{\index{\-B\-W\-A\-P\-I\-::\-A\-I\-Module@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}!on\-Unit\-Discover@{on\-Unit\-Discover}}
\index{on\-Unit\-Discover@{on\-Unit\-Discover}!BWAPI::AIModule@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}}
\subsubsection[{on\-Unit\-Discover}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-A\-P\-I\-::\-A\-I\-Module\-::on\-Unit\-Discover} (
\begin{DoxyParamCaption}
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Unit} $\ast$}]{unit}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWAPI_1_1AIModule_a86ca402a6bcbaf24f74de56eb029207c}
\hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I} calls this when a unit becomes accessible. 

\-Reimplemented in \hyperlink{classBWScriptEmulator_ac206fb20bb911002aabb49813fde14bc}{\-B\-W\-Script\-Emulator}, \hyperlink{classDevAIModule_ab630728bc855997c5043223d82779166}{\-Dev\-A\-I\-Module}, \hyperlink{classExampleTournamentAI_a87fc5ab1f93137291c3531339f2d2e0b}{\-Example\-Tournament\-A\-I}, \hyperlink{classExampleAIModule_ac29d59bc64a789b464edba57d999722e}{\-Example\-A\-I\-Module}, and \hyperlink{classEventTest_a3d8484c30cc78d8bf6a76a41af60785c}{\-Event\-Test}.



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


\hypertarget{classBWAPI_1_1AIModule_a5bf90e6b75dbb65b646a9abd08ea8ed6}{\index{\-B\-W\-A\-P\-I\-::\-A\-I\-Module@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}!on\-Unit\-Evade@{on\-Unit\-Evade}}
\index{on\-Unit\-Evade@{on\-Unit\-Evade}!BWAPI::AIModule@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}}
\subsubsection[{on\-Unit\-Evade}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-A\-P\-I\-::\-A\-I\-Module\-::on\-Unit\-Evade} (
\begin{DoxyParamCaption}
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Unit} $\ast$}]{unit}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWAPI_1_1AIModule_a5bf90e6b75dbb65b646a9abd08ea8ed6}
\hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I} calls this when a unit becomes inaccessible. 

\-Reimplemented in \hyperlink{classBWScriptEmulator_aff2375ec56263832624b0c09f9554cc0}{\-B\-W\-Script\-Emulator}, \hyperlink{classDevAIModule_a6fe4e5bd2b19116d913f361cdd03c1a0}{\-Dev\-A\-I\-Module}, \hyperlink{classExampleTournamentAI_a5caae465e241b191f28bca48c27a4382}{\-Example\-Tournament\-A\-I}, \hyperlink{classExampleAIModule_a46d3568421829655a58cf155ec2e4456}{\-Example\-A\-I\-Module}, and \hyperlink{classEventTest_a7a4451b7069f9a379ff4c6797cf513ee}{\-Event\-Test}.



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


\hypertarget{classBWAPI_1_1AIModule_a9e7912b7e12fcc4f89b79210e7030b8e}{\index{\-B\-W\-A\-P\-I\-::\-A\-I\-Module@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}!on\-Unit\-Hide@{on\-Unit\-Hide}}
\index{on\-Unit\-Hide@{on\-Unit\-Hide}!BWAPI::AIModule@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}}
\subsubsection[{on\-Unit\-Hide}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-A\-P\-I\-::\-A\-I\-Module\-::on\-Unit\-Hide} (
\begin{DoxyParamCaption}
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Unit} $\ast$}]{unit}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWAPI_1_1AIModule_a9e7912b7e12fcc4f89b79210e7030b8e}
\hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I} calls this right before a unit becomes invisible, so if you want your non-\/cheating \-A\-I to remember where it last saw a unit, this callback would be a good place to implement it. \-The complete map information flag has no effect on this callback. 

\-Reimplemented in \hyperlink{classBWScriptEmulator_aa6dd0c09f2d29ad925f96a16c641ef8e}{\-B\-W\-Script\-Emulator}, \hyperlink{classDevAIModule_a8b11ebf77e4a3a80d2b3888a01d011e3}{\-Dev\-A\-I\-Module}, \hyperlink{classExampleTournamentAI_a00fc50a643772f34915072b8460c0036}{\-Example\-Tournament\-A\-I}, \hyperlink{classExampleAIModule_adc49b4d364436bcbaded7c93cff40378}{\-Example\-A\-I\-Module}, \hyperlink{classEventTest_a28c7761d49a305dae3ca3126748a3e66}{\-Event\-Test}, and \hyperlink{classTestMap1_abb71990ee809af4b897bce122a9c4362}{\-Test\-Map1}.



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


\hypertarget{classBWAPI_1_1AIModule_aa3ce746650e8071250b252d1de65140f}{\index{\-B\-W\-A\-P\-I\-::\-A\-I\-Module@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}!on\-Unit\-Morph@{on\-Unit\-Morph}}
\index{on\-Unit\-Morph@{on\-Unit\-Morph}!BWAPI::AIModule@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}}
\subsubsection[{on\-Unit\-Morph}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-A\-P\-I\-::\-A\-I\-Module\-::on\-Unit\-Morph} (
\begin{DoxyParamCaption}
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Unit} $\ast$}]{unit}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWAPI_1_1AIModule_aa3ce746650e8071250b252d1de65140f}
\hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I} calls this when a unit changes type, such as from a \-Zerg \-Drone to a \-Zerg \-Hatchery, or from a \-Terran \-Siege \-Tank \-Tank \-Mode to \-Terran \-Siege \-Tank \-Siege \-Mode. \-This is not called when the type changes to or from \hyperlink{namespaceBWAPI_1_1UnitTypes_adff081ed2ee0a3a26097f0509ec20065}{\-Unit\-Types\-::\-Unknown} (which happens when a unit becomes visible or invisible). 

\-Reimplemented in \hyperlink{classBWScriptEmulator_a6f5f272cd333499d5a99e55322fcaca4}{\-B\-W\-Script\-Emulator}, \hyperlink{classDevAIModule_af934129e8c3da22a48b14fe678142f63}{\-Dev\-A\-I\-Module}, \hyperlink{classExampleTournamentAI_a066c6afa1aa69cc6c024b12cff7107dd}{\-Example\-Tournament\-A\-I}, \hyperlink{classExampleAIModule_aeecda94032ad9af161a3f8b976ceb58e}{\-Example\-A\-I\-Module}, \hyperlink{classEventTest_a461e6989fa7ddc130e7aaf0922be3b7a}{\-Event\-Test}, and \hyperlink{classTestMap1_a1333d4b62607f7617a8254e4cae29c65}{\-Test\-Map1}.



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


\hypertarget{classBWAPI_1_1AIModule_ae84881637231279476fea62655965c99}{\index{\-B\-W\-A\-P\-I\-::\-A\-I\-Module@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}!on\-Unit\-Renegade@{on\-Unit\-Renegade}}
\index{on\-Unit\-Renegade@{on\-Unit\-Renegade}!BWAPI::AIModule@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}}
\subsubsection[{on\-Unit\-Renegade}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-A\-P\-I\-::\-A\-I\-Module\-::on\-Unit\-Renegade} (
\begin{DoxyParamCaption}
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Unit} $\ast$}]{unit}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWAPI_1_1AIModule_ae84881637231279476fea62655965c99}
\hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I} calls this when an accessible unit changes ownership. 

\-Reimplemented in \hyperlink{classBWScriptEmulator_a4d9a2e5d9ba327180a28b1e9ecd5e2f9}{\-B\-W\-Script\-Emulator}, \hyperlink{classDevAIModule_a3b8f6c01dbe787268240dd3180aa0c99}{\-Dev\-A\-I\-Module}, \hyperlink{classExampleTournamentAI_a7247ff37dd8b96902b10a143d2f32780}{\-Example\-Tournament\-A\-I}, \hyperlink{classExampleAIModule_a0b42cd19283d813c69ceee24317e36bf}{\-Example\-A\-I\-Module}, \hyperlink{classEventTest_a296897b19d6af6ca6e4e0feda99916d2}{\-Event\-Test}, and \hyperlink{classTestMap1_a710528df9a85977fd6eca8c727abb9e5}{\-Test\-Map1}.



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


\hypertarget{classBWAPI_1_1AIModule_ab12d4ed441c6f26e2b84237918f816e0}{\index{\-B\-W\-A\-P\-I\-::\-A\-I\-Module@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}!on\-Unit\-Show@{on\-Unit\-Show}}
\index{on\-Unit\-Show@{on\-Unit\-Show}!BWAPI::AIModule@{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}}
\subsubsection[{on\-Unit\-Show}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-A\-P\-I\-::\-A\-I\-Module\-::on\-Unit\-Show} (
\begin{DoxyParamCaption}
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Unit} $\ast$}]{unit}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWAPI_1_1AIModule_ab12d4ed441c6f26e2b84237918f816e0}
\hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I} calls this the instant a previously invisible unit becomes visible. \-The complete map information flag has no effect on this callback. 

\-Reimplemented in \hyperlink{classBWScriptEmulator_a5e67903ac432f72e3292528ced12a58e}{\-B\-W\-Script\-Emulator}, \hyperlink{classDevAIModule_ae8fc139763d56f13bb59be1661697bfb}{\-Dev\-A\-I\-Module}, \hyperlink{classExampleTournamentAI_aa08eddcd672bc932c008b96abf70de8a}{\-Example\-Tournament\-A\-I}, \hyperlink{classExampleAIModule_af927ab37a3490ad15c3c1a13fb28a30a}{\-Example\-A\-I\-Module}, \hyperlink{classEventTest_a9bda3179d34f649c0d8877ed2f8ec9aa}{\-Event\-Test}, and \hyperlink{classTestMap1_aa0789f6a20480c28dc4143f7d16a07f8}{\-Test\-Map1}.



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




\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
trunk/bwapi/include/\-B\-W\-A\-P\-I/\hyperlink{AIModule_8h}{\-A\-I\-Module.\-h}\item 
trunk/bwapi/\-B\-W\-A\-P\-I\-L\-I\-B/\-Source/\hyperlink{AIModule_8cpp}{\-A\-I\-Module.\-cpp}\end{DoxyCompactItemize}
