\hypertarget{classNovaAIModule}{\section{\-Nova\-A\-I\-Module \-Class \-Reference}
\label{classNovaAIModule}\index{\-Nova\-A\-I\-Module@{\-Nova\-A\-I\-Module}}
}


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



\-Inheritance diagram for \-Nova\-A\-I\-Module\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=188pt]{classNovaAIModule__inherit__graph}
\end{center}
\end{figure}


\-Collaboration diagram for \-Nova\-A\-I\-Module\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classNovaAIModule__coll__graph}
\end{center}
\end{figure}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{classNovaAIModule_a96b4a9a9174066b1083da90d33646c1e}{on\-Start} ()
\item 
virtual void \hyperlink{classNovaAIModule_ad7ea8cb9151ba1f82eb87b2e5edd9395}{on\-End} (bool is\-Winner)
\item 
virtual void \hyperlink{classNovaAIModule_ac0d95970acb409c9ab1841c920f39e54}{on\-Frame} ()
\item 
virtual void \hyperlink{classNovaAIModule_a625f6f2a691f3c9a0dd02741d29b4b77}{on\-Send\-Text} (std\-::string text)
\item 
virtual void \hyperlink{classNovaAIModule_ad62ab2bd124a39baa17b3d616e569f8e}{on\-Receive\-Text} (\hyperlink{classBWAPI_1_1Player}{\-B\-W\-A\-P\-I\-::\-Player} $\ast$player, std\-::string text)
\item 
virtual void \hyperlink{classNovaAIModule_a08a38b8357692f01982831e9937a1465}{on\-Nuke\-Detect} (\hyperlink{classBWAPI_1_1Position}{\-B\-W\-A\-P\-I\-::\-Position} target)
\item 
virtual void \hyperlink{classNovaAIModule_aa41e7c90ccb1cc7e63f3128b9d312ca4}{on\-Unit\-Discover} (\hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classNovaAIModule_ac1afca2446c203ba0254c58e18527fa0}{on\-Unit\-Evade} (\hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classNovaAIModule_a7aea8a4d8fec146bf6171eaf93aa73f6}{on\-Unit\-Show} (\hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classNovaAIModule_a3202d2094d1d8643bcb0583e4dabdd6e}{on\-Unit\-Hide} (\hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classNovaAIModule_a658665974a4ef2c132b7a7f323059dc6}{on\-Unit\-Create} (\hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classNovaAIModule_a9311394b74c87e7790f94e0e4f860d6d}{on\-Unit\-Destroy} (\hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classNovaAIModule_a85bb72f2f61ed551c57d7cef30723e4c}{on\-Unit\-Morph} (\hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classNovaAIModule_a3c145f925a13b80c325c34fde231d77b}{on\-Unit\-Renegade} (\hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$unit)
\item 
\hyperlink{classNovaAIModule_aa4acf63f5414ad7cc41995c59f33c3cc}{$\sim$\-Nova\-A\-I\-Module} ()
\end{DoxyCompactItemize}
\subsection*{\-Public \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classEnhancedUI}{\-Enhanced\-U\-I} $\ast$ \hyperlink{classNovaAIModule_adf4ae8bd2bab6d43d3707f5b632d8abf}{enhanced\-U\-I}
\item 
\hyperlink{classProductionManager}{\-Production\-Manager} $\ast$ \hyperlink{classNovaAIModule_a45dd1985ba89cf008d158115354bce83}{production\-Manager}
\item 
\hyperlink{classPlannerManager}{\-Planner\-Manager} $\ast$ \hyperlink{classNovaAIModule_a9d212e3f9df623f7a5bcea5e485bf3fb}{planner\-Manager}
\item 
\hyperlink{classStrategyManager}{\-Strategy\-Manager} $\ast$ \hyperlink{classNovaAIModule_a695e54b452bccaa2975511fff28cd52f}{strategy\-Manager}
\end{DoxyCompactItemize}


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


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

\-Reimplemented from \hyperlink{classBWAPI_1_1AIModule_ab7954d4a94a358482fa3a857d756797e}{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}.

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

\-Reimplemented from \hyperlink{classBWAPI_1_1AIModule_a5fd6ec7878a556942a7666c5e68141ab}{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}.



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


\hypertarget{classNovaAIModule_a08a38b8357692f01982831e9937a1465}{\index{\-Nova\-A\-I\-Module@{\-Nova\-A\-I\-Module}!on\-Nuke\-Detect@{on\-Nuke\-Detect}}
\index{on\-Nuke\-Detect@{on\-Nuke\-Detect}!NovaAIModule@{\-Nova\-A\-I\-Module}}
\subsubsection[{on\-Nuke\-Detect}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Nova\-A\-I\-Module\-::on\-Nuke\-Detect} (
\begin{DoxyParamCaption}
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Position}}]{target}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classNovaAIModule_a08a38b8357692f01982831e9937a1465}
\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 \-Map \-Information is enabled, the target position will also be provided. \-If \-Complete \-Map \-Information is disabled and the target position is not visible, target will be set to \-Positions\-::\-Unknown. 

\-Reimplemented from \hyperlink{classBWAPI_1_1AIModule_ad89efab65f2a897f217555a9042f8a2d}{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}.

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

\-Reimplemented from \hyperlink{classBWAPI_1_1AIModule_a98d9ca65671891544bebb2ffa9b5934a}{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}.

\hypertarget{classNovaAIModule_a625f6f2a691f3c9a0dd02741d29b4b77}{\index{\-Nova\-A\-I\-Module@{\-Nova\-A\-I\-Module}!on\-Send\-Text@{on\-Send\-Text}}
\index{on\-Send\-Text@{on\-Send\-Text}!NovaAIModule@{\-Nova\-A\-I\-Module}}
\subsubsection[{on\-Send\-Text}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Nova\-A\-I\-Module\-::on\-Send\-Text} (
\begin{DoxyParamCaption}
\item[{std\-::string}]{text}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classNovaAIModule_a625f6f2a691f3c9a0dd02741d29b4b77}
\-If \-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 from \hyperlink{classBWAPI_1_1AIModule_a3f9c26e773de37f7224d2e41e32871e7}{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}.



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


\hypertarget{classNovaAIModule_a96b4a9a9174066b1083da90d33646c1e}{\index{\-Nova\-A\-I\-Module@{\-Nova\-A\-I\-Module}!on\-Start@{on\-Start}}
\index{on\-Start@{on\-Start}!NovaAIModule@{\-Nova\-A\-I\-Module}}
\subsubsection[{on\-Start}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Nova\-A\-I\-Module\-::on\-Start} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classNovaAIModule_a96b4a9a9174066b1083da90d33646c1e}
\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 from \hyperlink{classBWAPI_1_1AIModule_aa1068e4f30fd50cb52a678bbf7a7c6f9}{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}.



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


\hypertarget{classNovaAIModule_a658665974a4ef2c132b7a7f323059dc6}{\index{\-Nova\-A\-I\-Module@{\-Nova\-A\-I\-Module}!on\-Unit\-Create@{on\-Unit\-Create}}
\index{on\-Unit\-Create@{on\-Unit\-Create}!NovaAIModule@{\-Nova\-A\-I\-Module}}
\subsubsection[{on\-Unit\-Create}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Nova\-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{classNovaAIModule_a658665974a4ef2c132b7a7f323059dc6}
\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 \-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 from \hyperlink{classBWAPI_1_1AIModule_a3c36eca014266f78408dee077bf8f84c}{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}.



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


\hypertarget{classNovaAIModule_a9311394b74c87e7790f94e0e4f860d6d}{\index{\-Nova\-A\-I\-Module@{\-Nova\-A\-I\-Module}!on\-Unit\-Destroy@{on\-Unit\-Destroy}}
\index{on\-Unit\-Destroy@{on\-Unit\-Destroy}!NovaAIModule@{\-Nova\-A\-I\-Module}}
\subsubsection[{on\-Unit\-Destroy}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Nova\-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{classNovaAIModule_a9311394b74c87e7790f94e0e4f860d6d}
\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 \-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 from \hyperlink{classBWAPI_1_1AIModule_aa8dbf2e0e6a842cf6532df90d5ab2099}{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}.



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


\hypertarget{classNovaAIModule_aa41e7c90ccb1cc7e63f3128b9d312ca4}{\index{\-Nova\-A\-I\-Module@{\-Nova\-A\-I\-Module}!on\-Unit\-Discover@{on\-Unit\-Discover}}
\index{on\-Unit\-Discover@{on\-Unit\-Discover}!NovaAIModule@{\-Nova\-A\-I\-Module}}
\subsubsection[{on\-Unit\-Discover}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Nova\-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{classNovaAIModule_aa41e7c90ccb1cc7e63f3128b9d312ca4}
\hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I} calls this when a unit becomes accessible. 

\-Reimplemented from \hyperlink{classBWAPI_1_1AIModule_a9b82f7e3612a95c5162e87acdde634f9}{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}.



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


\hypertarget{classNovaAIModule_ac1afca2446c203ba0254c58e18527fa0}{\index{\-Nova\-A\-I\-Module@{\-Nova\-A\-I\-Module}!on\-Unit\-Evade@{on\-Unit\-Evade}}
\index{on\-Unit\-Evade@{on\-Unit\-Evade}!NovaAIModule@{\-Nova\-A\-I\-Module}}
\subsubsection[{on\-Unit\-Evade}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Nova\-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{classNovaAIModule_ac1afca2446c203ba0254c58e18527fa0}
\hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I} calls this when a unit becomes inaccessible. 

\-Reimplemented from \hyperlink{classBWAPI_1_1AIModule_a80fdbb7e84821d93c2c3179c257416ef}{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}.



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


\hypertarget{classNovaAIModule_a3202d2094d1d8643bcb0583e4dabdd6e}{\index{\-Nova\-A\-I\-Module@{\-Nova\-A\-I\-Module}!on\-Unit\-Hide@{on\-Unit\-Hide}}
\index{on\-Unit\-Hide@{on\-Unit\-Hide}!NovaAIModule@{\-Nova\-A\-I\-Module}}
\subsubsection[{on\-Unit\-Hide}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Nova\-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{classNovaAIModule_a3202d2094d1d8643bcb0583e4dabdd6e}
\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 from \hyperlink{classBWAPI_1_1AIModule_a36111fd368fabaf3f234b1872a28ba97}{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}.



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


\hypertarget{classNovaAIModule_a85bb72f2f61ed551c57d7cef30723e4c}{\index{\-Nova\-A\-I\-Module@{\-Nova\-A\-I\-Module}!on\-Unit\-Morph@{on\-Unit\-Morph}}
\index{on\-Unit\-Morph@{on\-Unit\-Morph}!NovaAIModule@{\-Nova\-A\-I\-Module}}
\subsubsection[{on\-Unit\-Morph}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Nova\-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{classNovaAIModule_a85bb72f2f61ed551c57d7cef30723e4c}
\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 \-Unit\-Types\-::\-Unknown (which happens when a unit becomes visible or invisible). 

\-Reimplemented from \hyperlink{classBWAPI_1_1AIModule_ae3067bae430702877566a7d6370ab880}{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}.



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


\hypertarget{classNovaAIModule_a3c145f925a13b80c325c34fde231d77b}{\index{\-Nova\-A\-I\-Module@{\-Nova\-A\-I\-Module}!on\-Unit\-Renegade@{on\-Unit\-Renegade}}
\index{on\-Unit\-Renegade@{on\-Unit\-Renegade}!NovaAIModule@{\-Nova\-A\-I\-Module}}
\subsubsection[{on\-Unit\-Renegade}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Nova\-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{classNovaAIModule_a3c145f925a13b80c325c34fde231d77b}
\hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I} calls this when an accessible unit changes ownership. 

\-Reimplemented from \hyperlink{classBWAPI_1_1AIModule_a86574f2952677cb3a8f80dff0b3404b2}{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}.



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


\hypertarget{classNovaAIModule_a7aea8a4d8fec146bf6171eaf93aa73f6}{\index{\-Nova\-A\-I\-Module@{\-Nova\-A\-I\-Module}!on\-Unit\-Show@{on\-Unit\-Show}}
\index{on\-Unit\-Show@{on\-Unit\-Show}!NovaAIModule@{\-Nova\-A\-I\-Module}}
\subsubsection[{on\-Unit\-Show}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Nova\-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{classNovaAIModule_a7aea8a4d8fec146bf6171eaf93aa73f6}
\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 from \hyperlink{classBWAPI_1_1AIModule_a647010d7acf9843a50deb5d4f088a289}{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}.



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




\subsection{\-Member \-Data \-Documentation}
\hypertarget{classNovaAIModule_adf4ae8bd2bab6d43d3707f5b632d8abf}{\index{\-Nova\-A\-I\-Module@{\-Nova\-A\-I\-Module}!enhanced\-U\-I@{enhanced\-U\-I}}
\index{enhanced\-U\-I@{enhanced\-U\-I}!NovaAIModule@{\-Nova\-A\-I\-Module}}
\subsubsection[{enhanced\-U\-I}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Enhanced\-U\-I}$\ast$ {\bf \-Nova\-A\-I\-Module\-::enhanced\-U\-I}}}\label{classNovaAIModule_adf4ae8bd2bab6d43d3707f5b632d8abf}
\hypertarget{classNovaAIModule_a9d212e3f9df623f7a5bcea5e485bf3fb}{\index{\-Nova\-A\-I\-Module@{\-Nova\-A\-I\-Module}!planner\-Manager@{planner\-Manager}}
\index{planner\-Manager@{planner\-Manager}!NovaAIModule@{\-Nova\-A\-I\-Module}}
\subsubsection[{planner\-Manager}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Planner\-Manager}$\ast$ {\bf \-Nova\-A\-I\-Module\-::planner\-Manager}}}\label{classNovaAIModule_a9d212e3f9df623f7a5bcea5e485bf3fb}
\hypertarget{classNovaAIModule_a45dd1985ba89cf008d158115354bce83}{\index{\-Nova\-A\-I\-Module@{\-Nova\-A\-I\-Module}!production\-Manager@{production\-Manager}}
\index{production\-Manager@{production\-Manager}!NovaAIModule@{\-Nova\-A\-I\-Module}}
\subsubsection[{production\-Manager}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Production\-Manager}$\ast$ {\bf \-Nova\-A\-I\-Module\-::production\-Manager}}}\label{classNovaAIModule_a45dd1985ba89cf008d158115354bce83}
\hypertarget{classNovaAIModule_a695e54b452bccaa2975511fff28cd52f}{\index{\-Nova\-A\-I\-Module@{\-Nova\-A\-I\-Module}!strategy\-Manager@{strategy\-Manager}}
\index{strategy\-Manager@{strategy\-Manager}!NovaAIModule@{\-Nova\-A\-I\-Module}}
\subsubsection[{strategy\-Manager}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Strategy\-Manager}$\ast$ {\bf \-Nova\-A\-I\-Module\-::strategy\-Manager}}}\label{classNovaAIModule_a695e54b452bccaa2975511fff28cd52f}


\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
\-Example\-A\-I\-Module/\-Source/\hyperlink{NovaAIModule_8h}{\-Nova\-A\-I\-Module.\-h}\item 
\-Example\-A\-I\-Module/\-Source/\hyperlink{NovaAIModule_8cpp}{\-Nova\-A\-I\-Module.\-cpp}\end{DoxyCompactItemize}
