\hypertarget{classBWScriptEmulator}{\section{\-B\-W\-Script\-Emulator \-Class \-Reference}
\label{classBWScriptEmulator}\index{\-B\-W\-Script\-Emulator@{\-B\-W\-Script\-Emulator}}
}


{\ttfamily \#include $<$\-B\-W\-Script\-Emulator.\-h$>$}



\-Inheritance diagram for \-B\-W\-Script\-Emulator\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=178pt]{classBWScriptEmulator__inherit__graph}
\end{center}
\end{figure}


\-Collaboration diagram for \-B\-W\-Script\-Emulator\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=178pt]{classBWScriptEmulator__coll__graph}
\end{center}
\end{figure}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{classBWScriptEmulator_a082a89a8fe27f8d3589edad333ad4734}{on\-Start} ()
\item 
virtual void \hyperlink{classBWScriptEmulator_a13159ae6be97180495eb579031ec089b}{on\-End} (bool is\-Winner)
\item 
virtual void \hyperlink{classBWScriptEmulator_afaab4da2e4caf5f5193a5c07cf393b4d}{on\-Frame} ()
\item 
virtual void \hyperlink{classBWScriptEmulator_a1bad0dd0ee46c20e29303abef29219d8}{on\-Send\-Text} (std\-::string text)
\item 
virtual void \hyperlink{classBWScriptEmulator_a72902a126424de6281e2b6966b4e2d29}{on\-Receive\-Text} (\hyperlink{classBWAPI_1_1Player}{\-B\-W\-A\-P\-I\-::\-Player} $\ast$player, std\-::string text)
\item 
virtual void \hyperlink{classBWScriptEmulator_a2f1c47f7e0101b9e8d1b5e63694ad544}{on\-Player\-Left} (\hyperlink{classBWAPI_1_1Player}{\-B\-W\-A\-P\-I\-::\-Player} $\ast$player)
\item 
virtual void \hyperlink{classBWScriptEmulator_a7edebfbea6ca79bd9eb6e11abb2611ae}{on\-Nuke\-Detect} (\hyperlink{classBWAPI_1_1Position}{\-B\-W\-A\-P\-I\-::\-Position} target)
\item 
virtual void \hyperlink{classBWScriptEmulator_ac206fb20bb911002aabb49813fde14bc}{on\-Unit\-Discover} (\hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classBWScriptEmulator_aff2375ec56263832624b0c09f9554cc0}{on\-Unit\-Evade} (\hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classBWScriptEmulator_a5e67903ac432f72e3292528ced12a58e}{on\-Unit\-Show} (\hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classBWScriptEmulator_aa6dd0c09f2d29ad925f96a16c641ef8e}{on\-Unit\-Hide} (\hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classBWScriptEmulator_acc8efb71042022cfdb10f44a5cb623be}{on\-Unit\-Create} (\hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classBWScriptEmulator_ad292513587618d314d524d2811aa0671}{on\-Unit\-Destroy} (\hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classBWScriptEmulator_a6f5f272cd333499d5a99e55322fcaca4}{on\-Unit\-Morph} (\hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classBWScriptEmulator_a4d9a2e5d9ba327180a28b1e9ecd5e2f9}{on\-Unit\-Renegade} (\hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$unit)
\item 
virtual void \hyperlink{classBWScriptEmulator_aa395b09aa20abdaf9658029420028d56}{on\-Save\-Game} (std\-::string game\-Name)
\end{DoxyCompactItemize}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classBWScriptEmulator_a13159ae6be97180495eb579031ec089b}{\index{\-B\-W\-Script\-Emulator@{\-B\-W\-Script\-Emulator}!on\-End@{on\-End}}
\index{on\-End@{on\-End}!BWScriptEmulator@{\-B\-W\-Script\-Emulator}}
\subsubsection[{on\-End}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-Script\-Emulator\-::on\-End} (
\begin{DoxyParamCaption}
\item[{bool}]{is\-Winner}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWScriptEmulator_a13159ae6be97180495eb579031ec089b}
\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_a74ba6d08de9f7d4c4f8504ab32288d45}{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}.

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

\-Reimplemented from \hyperlink{classBWAPI_1_1AIModule_a4956c50e0d9d26128b34f679399fc89a}{\-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]{classBWScriptEmulator_afaab4da2e4caf5f5193a5c07cf393b4d_cgraph}
\end{center}
\end{figure}


\hypertarget{classBWScriptEmulator_a7edebfbea6ca79bd9eb6e11abb2611ae}{\index{\-B\-W\-Script\-Emulator@{\-B\-W\-Script\-Emulator}!on\-Nuke\-Detect@{on\-Nuke\-Detect}}
\index{on\-Nuke\-Detect@{on\-Nuke\-Detect}!BWScriptEmulator@{\-B\-W\-Script\-Emulator}}
\subsubsection[{on\-Nuke\-Detect}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-Script\-Emulator\-::on\-Nuke\-Detect} (
\begin{DoxyParamCaption}
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Position}}]{target}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWScriptEmulator_a7edebfbea6ca79bd9eb6e11abb2611ae}
\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_ad04b2e1d279975c21b04ddea7cbeff31}{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}.

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

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

\hypertarget{classBWScriptEmulator_a72902a126424de6281e2b6966b4e2d29}{\index{\-B\-W\-Script\-Emulator@{\-B\-W\-Script\-Emulator}!on\-Receive\-Text@{on\-Receive\-Text}}
\index{on\-Receive\-Text@{on\-Receive\-Text}!BWScriptEmulator@{\-B\-W\-Script\-Emulator}}
\subsubsection[{on\-Receive\-Text}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-Script\-Emulator\-::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{classBWScriptEmulator_a72902a126424de6281e2b6966b4e2d29}
\hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I} calls this when another player sends a message. 

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

\hypertarget{classBWScriptEmulator_aa395b09aa20abdaf9658029420028d56}{\index{\-B\-W\-Script\-Emulator@{\-B\-W\-Script\-Emulator}!on\-Save\-Game@{on\-Save\-Game}}
\index{on\-Save\-Game@{on\-Save\-Game}!BWScriptEmulator@{\-B\-W\-Script\-Emulator}}
\subsubsection[{on\-Save\-Game}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-Script\-Emulator\-::on\-Save\-Game} (
\begin{DoxyParamCaption}
\item[{std\-::string}]{game\-Name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWScriptEmulator_aa395b09aa20abdaf9658029420028d56}


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

\hypertarget{classBWScriptEmulator_a1bad0dd0ee46c20e29303abef29219d8}{\index{\-B\-W\-Script\-Emulator@{\-B\-W\-Script\-Emulator}!on\-Send\-Text@{on\-Send\-Text}}
\index{on\-Send\-Text@{on\-Send\-Text}!BWScriptEmulator@{\-B\-W\-Script\-Emulator}}
\subsubsection[{on\-Send\-Text}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-Script\-Emulator\-::on\-Send\-Text} (
\begin{DoxyParamCaption}
\item[{std\-::string}]{text}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWScriptEmulator_a1bad0dd0ee46c20e29303abef29219d8}
\-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_adce1b1bf1227d5353c32aa16b3728a1e}{\-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]{classBWScriptEmulator_a1bad0dd0ee46c20e29303abef29219d8_cgraph}
\end{center}
\end{figure}


\hypertarget{classBWScriptEmulator_a082a89a8fe27f8d3589edad333ad4734}{\index{\-B\-W\-Script\-Emulator@{\-B\-W\-Script\-Emulator}!on\-Start@{on\-Start}}
\index{on\-Start@{on\-Start}!BWScriptEmulator@{\-B\-W\-Script\-Emulator}}
\subsubsection[{on\-Start}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-Script\-Emulator\-::on\-Start} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classBWScriptEmulator_a082a89a8fe27f8d3589edad333ad4734}
\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_aa4a6794e0c2d130b9128524f065a4d53}{\-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]{classBWScriptEmulator_a082a89a8fe27f8d3589edad333ad4734_cgraph}
\end{center}
\end{figure}


\hypertarget{classBWScriptEmulator_acc8efb71042022cfdb10f44a5cb623be}{\index{\-B\-W\-Script\-Emulator@{\-B\-W\-Script\-Emulator}!on\-Unit\-Create@{on\-Unit\-Create}}
\index{on\-Unit\-Create@{on\-Unit\-Create}!BWScriptEmulator@{\-B\-W\-Script\-Emulator}}
\subsubsection[{on\-Unit\-Create}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-Script\-Emulator\-::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{classBWScriptEmulator_acc8efb71042022cfdb10f44a5cb623be}
\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_aa445d7eba03ab515c7e6e6f23628e761}{\-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]{classBWScriptEmulator_acc8efb71042022cfdb10f44a5cb623be_cgraph}
\end{center}
\end{figure}


\hypertarget{classBWScriptEmulator_ad292513587618d314d524d2811aa0671}{\index{\-B\-W\-Script\-Emulator@{\-B\-W\-Script\-Emulator}!on\-Unit\-Destroy@{on\-Unit\-Destroy}}
\index{on\-Unit\-Destroy@{on\-Unit\-Destroy}!BWScriptEmulator@{\-B\-W\-Script\-Emulator}}
\subsubsection[{on\-Unit\-Destroy}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-Script\-Emulator\-::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{classBWScriptEmulator_ad292513587618d314d524d2811aa0671}
\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_a32637d3e091a5fe7ee53e2de6caccfb6}{\-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]{classBWScriptEmulator_ad292513587618d314d524d2811aa0671_cgraph}
\end{center}
\end{figure}


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

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

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

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

\hypertarget{classBWScriptEmulator_aa6dd0c09f2d29ad925f96a16c641ef8e}{\index{\-B\-W\-Script\-Emulator@{\-B\-W\-Script\-Emulator}!on\-Unit\-Hide@{on\-Unit\-Hide}}
\index{on\-Unit\-Hide@{on\-Unit\-Hide}!BWScriptEmulator@{\-B\-W\-Script\-Emulator}}
\subsubsection[{on\-Unit\-Hide}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-Script\-Emulator\-::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{classBWScriptEmulator_aa6dd0c09f2d29ad925f96a16c641ef8e}
\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_a9e7912b7e12fcc4f89b79210e7030b8e}{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}.

\hypertarget{classBWScriptEmulator_a6f5f272cd333499d5a99e55322fcaca4}{\index{\-B\-W\-Script\-Emulator@{\-B\-W\-Script\-Emulator}!on\-Unit\-Morph@{on\-Unit\-Morph}}
\index{on\-Unit\-Morph@{on\-Unit\-Morph}!BWScriptEmulator@{\-B\-W\-Script\-Emulator}}
\subsubsection[{on\-Unit\-Morph}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-Script\-Emulator\-::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{classBWScriptEmulator_a6f5f272cd333499d5a99e55322fcaca4}
\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_aa3ce746650e8071250b252d1de65140f}{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}.

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

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

\hypertarget{classBWScriptEmulator_a5e67903ac432f72e3292528ced12a58e}{\index{\-B\-W\-Script\-Emulator@{\-B\-W\-Script\-Emulator}!on\-Unit\-Show@{on\-Unit\-Show}}
\index{on\-Unit\-Show@{on\-Unit\-Show}!BWScriptEmulator@{\-B\-W\-Script\-Emulator}}
\subsubsection[{on\-Unit\-Show}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-B\-W\-Script\-Emulator\-::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{classBWScriptEmulator_a5e67903ac432f72e3292528ced12a58e}
\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_ab12d4ed441c6f26e2b84237918f816e0}{\-B\-W\-A\-P\-I\-::\-A\-I\-Module}.



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