documentation

This commit is contained in:
FlightControl 2016-12-18 14:19:10 +01:00
parent 837796ed0b
commit 2de7726430
16 changed files with 3 additions and 10051 deletions

View File

@ -1,594 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" href="stylesheet.css" type="text/css"/>
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div>
<div id="main">
<div id="navigation">
<h2>Modules</h2>
<ul><li>
<a href="index.html">index</a>
</li></ul>
<ul>
<li>AIBalancer</li>
<li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li>
<li><a href="Assign.html">Assign</a></li>
<li><a href="Base.html">Base</a></li>
<li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
<li><a href="DCSCommand.html">DCSCommand</a></li>
<li><a href="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li>
<li><a href="DCSTask.html">DCSTask</a></li>
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li>
<li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="Mission.html">Mission</a></li>
<li><a href="Object.html">Object</a></li>
<li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li>
<li><a href="Task_A2G.html">Task_A2G</a></li>
<li><a href="Task_Client_Menu.html">Task_Client_Menu</a></li>
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li>
</ul>
</div>
<div id="content">
<h1>Module <code>AIBalancer</code></h1>
<p>This module contains the AIBALANCER class.</p>
<hr/>
<h1>1) <a href="AIBalancer.html##(AIBALANCER)">AIBalancer#AIBALANCER</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p>The <a href="AIBalancer.html##(AIBALANCER)">AIBalancer#AIBALANCER</a> class controls the dynamic spawning of AI GROUPS depending on a SET<em>CLIENT.
There will be as many AI GROUPS spawned as there at CLIENTS in SET</em>CLIENT not spawned.
The AIBalancer uses the <a href="PatrolZone.html##(PATROLZONE)">PatrolZone#PATROLZONE</a> class to make AI patrol an zone until the fuel treshold is reached.</p>
<h2>1.1) AIBALANCER construction method:</h2>
<p>Create a new AIBALANCER object with the <a href="##(AIBALANCER).New">AIBALANCER.New</a> method:</p>
<ul>
<li><a href="##(AIBALANCER).New">AIBALANCER.New</a>: Creates a new AIBALANCER object.</li>
</ul>
<h2>1.2) AIBALANCER returns AI to Airbases:</h2>
<p>You can configure to have the AI to return to:</p>
<ul>
<li><a href="##(AIBALANCER).ReturnToHomeAirbase">AIBALANCER.ReturnToHomeAirbase</a>: Returns the AI to the home <a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a>.</li>
<li><a href="##(AIBALANCER).ReturnToNearestAirbases">AIBALANCER.ReturnToNearestAirbases</a>: Returns the AI to the nearest friendly <a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a>.</li>
</ul>
<h2>1.3) AIBALANCER allows AI to patrol specific zones:</h2>
<p>Use <a href="AIBalancer.html##(AIBALANCER).SetPatrolZone">AIBalancer#AIBALANCER.SetPatrolZone</a>() to specify a zone where the AI needs to patrol.</p>
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
<p>The underlying change log documents the API changes. Please read this carefully. The following notation is used:</p>
<ul>
<li><strong>Added</strong> parts are expressed in bold type face.</li>
<li><em>Removed</em> parts are expressed in italic type face.</li>
</ul>
<p>Hereby the change log:</p>
<p>2016-08-17: SPAWN:<strong>InitCleanUp</strong>( SpawnCleanUpInterval ) replaces SPAWN:<em>CleanUp</em>( SpawnCleanUpInterval )</p>
<ul>
<li>Want to ensure that the methods starting with <strong>Init</strong> are the first called methods before any <em>Spawn</em> method is called!</li>
<li>This notation makes it now more clear which methods are initialization methods and which methods are Spawn enablement methods.</li>
</ul>
<hr/>
<h1>AUTHORS and CONTRIBUTIONS</h1>
<h3>Contributions:</h3>
<ul>
<li><p><strong>Dutch_Baron (James)</strong>: Who you can search on the Eagle Dynamics Forums. <br/>
Working together with James has resulted in the creation of the AIBALANCER class. <br/>
James has shared his ideas on balancing AI with air units, and together we made a first design which you can use now :-)</p></li>
<li><p><strong>SNAFU</strong>:
Had a couple of mails with the guys to validate, if the same concept in the GCI/CAP script could be reworked within MOOSE.
None of the script code has been used however within the new AIBALANCER moose class.</p></li>
</ul>
<h3>Authors:</h3>
<ul>
<li>FlightControl: Framework Design &amp; Programming</li>
</ul>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#AIBALANCER">AIBALANCER</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(AIBALANCER)">Type <code>AIBALANCER</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIBALANCER).AIGroups">AIBALANCER.AIGroups</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIBALANCER).ClassName">AIBALANCER.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIBALANCER).GetPatrolZone">AIBALANCER:GetPatrolZone()</a></td>
<td class="summary">
<p>Get the <a href="PatrolZone.html">PatrolZone</a> object assigned by the <a href="AIBalancer.html">AIBalancer</a> object.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIBALANCER).New">AIBALANCER:New(SetClient, SpawnAI)</a></td>
<td class="summary">
<p>Creates a new AIBALANCER object, building a set of units belonging to a coalitions, categories, countries, types or with defined prefix names.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIBALANCER).PatrolZone">AIBALANCER.PatrolZone</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIBALANCER).PatrolZones">AIBALANCER.PatrolZones</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIBALANCER).ReturnAirbaseSet">AIBALANCER.ReturnAirbaseSet</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIBALANCER).ReturnToHomeAirbase">AIBALANCER:ReturnToHomeAirbase(ReturnTresholdRange)</a></td>
<td class="summary">
<p>Returns the AI to the home <a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a>.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIBALANCER).ReturnToNearestAirbases">AIBALANCER:ReturnToNearestAirbases(ReturnTresholdRange, ReturnAirbaseSet)</a></td>
<td class="summary">
<p>Returns the AI to the nearest friendly <a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a>.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIBALANCER).ReturnTresholdRange">AIBALANCER.ReturnTresholdRange</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIBALANCER).SetClient">AIBALANCER.SetClient</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIBALANCER).SetPatrolZone">AIBALANCER:SetPatrolZone(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed)</a></td>
<td class="summary">
<p>Let the AI patrol a <a href="Zone.html">Zone</a> with a given Speed range and Altitude range.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIBALANCER).SpawnAI">AIBALANCER.SpawnAI</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIBALANCER).ToHomeAirbase">AIBALANCER.ToHomeAirbase</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIBALANCER).ToNearestAirbase">AIBALANCER.ToNearestAirbase</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIBALANCER)._ClientAliveMonitorScheduler">AIBALANCER:_ClientAliveMonitorScheduler()</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2>Global(s)</h2>
<dl class="function">
<dt>
<em><a href="##(AIBALANCER)">#AIBALANCER</a></em>
<a id="AIBALANCER" >
<strong>AIBALANCER</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(AIBalancer)" >Type <code>AIBalancer</code></a></h2>
<h2><a id="#(AIBALANCER)" >Type <code>AIBALANCER</code></a></h2>
<p>AIBALANCER class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em></em>
<a id="#(AIBALANCER).AIGroups" >
<strong>AIBALANCER.AIGroups</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(AIBALANCER).ClassName" >
<strong>AIBALANCER.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AIBALANCER).GetPatrolZone" >
<strong>AIBALANCER:GetPatrolZone()</strong>
</a>
</dt>
<dd>
<p>Get the <a href="PatrolZone.html">PatrolZone</a> object assigned by the <a href="AIBalancer.html">AIBalancer</a> object.</p>
<h3>Return value</h3>
<p><em><a href="PatrolZone.html##(PATROLZONE)">PatrolZone#PATROLZONE</a>:</em>
PatrolZone The <a href="PatrolZone.html">PatrolZone</a> where the AI needs to patrol.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AIBALANCER).New" >
<strong>AIBALANCER:New(SetClient, SpawnAI)</strong>
</a>
</dt>
<dd>
<p>Creates a new AIBALANCER object, building a set of units belonging to a coalitions, categories, countries, types or with defined prefix names.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em> SetClient </em></code>:
A SET_CLIENT object that will contain the CLIENT objects to be monitored if they are alive or not (joined by a player).</p>
</li>
<li>
<p><code><em> SpawnAI </em></code>:
A SPAWN object that will spawn the AI units required, balancing the SetClient.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(AIBALANCER)">#AIBALANCER</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="PatrolZone.html##(PATROLZONE)">PatrolZone#PATROLZONE</a></em>
<a id="#(AIBALANCER).PatrolZone" >
<strong>AIBALANCER.PatrolZone</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(AIBALANCER).PatrolZones" >
<strong>AIBALANCER.PatrolZones</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Set.html##(SET_AIRBASE)">Set#SET_AIRBASE</a></em>
<a id="#(AIBALANCER).ReturnAirbaseSet" >
<strong>AIBALANCER.ReturnAirbaseSet</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AIBALANCER).ReturnToHomeAirbase" >
<strong>AIBALANCER:ReturnToHomeAirbase(ReturnTresholdRange)</strong>
</a>
</dt>
<dd>
<p>Returns the AI to the home <a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a>.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="DCSTypes.html##(Distance)">DCSTypes#Distance</a> ReturnTresholdRange </em></code>:
If there is an enemy <a href="Client.html##(CLIENT)">Client#CLIENT</a> within the ReturnTresholdRange given in meters, the AI will not return to the nearest <a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a>.</p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AIBALANCER).ReturnToNearestAirbases" >
<strong>AIBALANCER:ReturnToNearestAirbases(ReturnTresholdRange, ReturnAirbaseSet)</strong>
</a>
</dt>
<dd>
<p>Returns the AI to the nearest friendly <a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a>.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="DCSTypes.html##(Distance)">DCSTypes#Distance</a> ReturnTresholdRange </em></code>:
If there is an enemy <a href="Client.html##(CLIENT)">Client#CLIENT</a> within the ReturnTresholdRange given in meters, the AI will not return to the nearest <a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a>.</p>
</li>
<li>
<p><code><em><a href="Set.html##(SET_AIRBASE)">Set#SET_AIRBASE</a> ReturnAirbaseSet </em></code>:
The SET of <a href="Set.html##(SET_AIRBASE)">Set#SET_AIRBASE</a>s to evaluate where to return to.</p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="DCSTypes.html##(Distance)">DCSTypes#Distance</a></em>
<a id="#(AIBALANCER).ReturnTresholdRange" >
<strong>AIBALANCER.ReturnTresholdRange</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Set.html##(SET_CLIENT)">Set#SET_CLIENT</a></em>
<a id="#(AIBALANCER).SetClient" >
<strong>AIBALANCER.SetClient</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AIBALANCER).SetPatrolZone" >
<strong>AIBALANCER:SetPatrolZone(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed)</strong>
</a>
</dt>
<dd>
<p>Let the AI patrol a <a href="Zone.html">Zone</a> with a given Speed range and Altitude range.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="PatrolZone.html##(PATROLZONE)">PatrolZone#PATROLZONE</a> PatrolZone </em></code>:
The <a href="PatrolZone.html">PatrolZone</a> where the AI needs to patrol.</p>
</li>
<li>
<p><code><em> PatrolFloorAltitude </em></code>: </p>
</li>
<li>
<p><code><em> PatrolCeilingAltitude </em></code>: </p>
</li>
<li>
<p><code><em> PatrolMinSpeed </em></code>: </p>
</li>
<li>
<p><code><em> PatrolMaxSpeed </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="PatrolZone.html##(PATROLZONE)">PatrolZone#PATROLZONE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Spawn.html##(SPAWN)">Spawn#SPAWN</a></em>
<a id="#(AIBALANCER).SpawnAI" >
<strong>AIBALANCER.SpawnAI</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#boolean</em>
<a id="#(AIBALANCER).ToHomeAirbase" >
<strong>AIBALANCER.ToHomeAirbase</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#boolean</em>
<a id="#(AIBALANCER).ToNearestAirbase" >
<strong>AIBALANCER.ToNearestAirbase</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AIBALANCER)._ClientAliveMonitorScheduler" >
<strong>AIBALANCER:_ClientAliveMonitorScheduler()</strong>
</a>
</dt>
<dd>
</dd>
</dl>
</div>
</div>
</body>
</html>

View File

@ -1,732 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" href="stylesheet.css" type="text/css"/>
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div>
<div id="main">
<div id="navigation">
<h2>Modules</h2>
<ul><li>
<a href="index.html">index</a>
</li></ul>
<ul>
<li><a href="AIBalancer.html">AIBalancer</a></li>
<li>AI_PatrolZone</li>
<li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li>
<li><a href="Base.html">Base</a></li>
<li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
<li><a href="DCSCommand.html">DCSCommand</a></li>
<li><a href="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li>
<li><a href="DCSTask.html">DCSTask</a></li>
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li>
<li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="Mission.html">Mission</a></li>
<li><a href="Object.html">Object</a></li>
<li><a href="PatrolZone.html">PatrolZone</a></li>
<li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_Destroy.html">Process_Destroy</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li>
<li><a href="Task_A2G.html">Task_A2G</a></li>
<li><a href="Task_Assign.html">Task_Assign</a></li>
<li><a href="Task_Client_Menu.html">Task_Client_Menu</a></li>
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_Route.html">Task_Route</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul>
</div>
<div id="content">
<h1>Module <code>AI_PatrolZone</code></h1>
<p>This module contains the AI_PATROLZONE class.</p>
<hr/>
<h1>1) <a href="##(AI_PATROLZONE)">#AI_PATROLZONE</a> class, extends <a href="StateMachine.html##(STATEMACHINE)">StateMachine#STATEMACHINE</a></h1>
<p>The <a href="##(AI_PATROLZONE)">#AI_PATROLZONE</a> class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AIR <a href="Controllable.html">Controllable</a>.
The patrol algorithm works that for each airplane patrolling, upon arrival at the patrol zone,
a random point is selected as the route point within the 3D space, within the given boundary limits.
The airplane will fly towards the random 3D point within the patrol zone, using a random speed within the given altitude and speed limits.
Upon arrival at the random 3D point, a new 3D random point will be selected within the patrol zone using the given limits.
This cycle will continue until a fuel treshold has been reached by the airplane.
When the fuel treshold has been reached, the airplane will fly towards the nearest friendly airbase and will land.</p>
<h2>1.1) AI_PATROLZONE constructor:</h2>
<ul>
<li><a href="##(AI_PATROLZONE).New">AI_PATROLZONE.New</a>(): Creates a new AI_PATROLZONE object.</li>
</ul>
<h2>1.2) AI_PATROLZONE state machine:</h2>
<p>The AI_PATROLZONE is a state machine: it manages the different events and states of the AIControllable it is controlling.</p>
<h3>1.2.1) AI_PATROLZONE Events:</h3>
<ul>
<li><a href="##(AI_PATROLZONE).Route">AI_PATROLZONE.Route</a>( AIControllable ): A new 3D route point is selected and the AIControllable will fly towards that point with the given speed.</li>
<li><a href="##(AI_PATROLZONE).Patrol">AI_PATROLZONE.Patrol</a>( AIControllable ): The AIControllable reports it is patrolling. This event is called every 30 seconds.</li>
<li><a href="##(AI_PATROLZONE).RTB">AI_PATROLZONE.RTB</a>( AIControllable ): The AIControllable will report return to base.</li>
<li><a href="##(AI_PATROLZONE).End">AI_PATROLZONE.End</a>( AIControllable ): The end of the AI_PATROLZONE process.</li>
<li><a href="##(AI_PATROLZONE).Dead">AI_PATROLZONE.Dead</a>( AIControllable ): The AIControllable is dead. The AI_PATROLZONE process will be ended.</li>
</ul>
<h3>1.2.2) AI_PATROLZONE States:</h3>
<ul>
<li><strong>Route</strong>: A new 3D route point is selected and the AIControllable will fly towards that point with the given speed.</li>
<li><strong>Patrol</strong>: The AIControllable is patrolling. This state is set every 30 seconds, so every 30 seconds, a state transition function can be used.</li>
<li><strong>RTB</strong>: The AIControllable reports it wants to return to the base.</li>
<li><strong>Dead</strong>: The AIControllable is dead ...</li>
<li><strong>End</strong>: The process has come to an end.</li>
</ul>
<h3>1.2.3) AI_PATROLZONE state transition functions:</h3>
<p>State transition functions can be set <strong>by the mission designer</strong> customizing or improving the behaviour of the state.
There are 2 moments when state transition functions will be called by the state machine:</p>
<ul>
<li><p><strong>Before</strong> the state transition.
The state transition function needs to start with the name <strong>OnBefore + the name of the state</strong>.
If the state transition function returns false, then the processing of the state transition will not be done!
If you want to change the behaviour of the AIControllable at this event, return false,
but then you'll need to specify your own logic using the AIControllable!</p></li>
<li><p><strong>After</strong> the state transition.
The state transition function needs to start with the name <strong>OnAfter + the name of the state</strong>.
These state transition functions need to provide a return value, which is specified at the function description.</p></li>
</ul>
<p>An example how to manage a state transition for an AI_PATROLZONE object <strong>Patrol</strong> for the state <strong>RTB</strong>:</p>
<pre><code> local PatrolZoneGroup = GROUP:FindByName( "Patrol Zone" )
local PatrolZone = ZONE_POLYGON:New( "PatrolZone", PatrolZoneGroup )
local PatrolSpawn = SPAWN:New( "Patrol Group" )
local PatrolGroup = PatrolSpawn:Spawn()
local Patrol = AI_PATROLZONE:New( PatrolZone, 3000, 6000, 300, 600 )
Patrol:SetControllable( PatrolGroup )
Patrol:ManageFuel( 0.2, 60 )
</code></pre>
<p><strong>OnBefore</strong>RTB( AIGroup ) will be called by the AI_PATROLZONE object when the AIGroup reports RTB, but <strong>before</strong> the RTB default action is processed by the AI_PATROLZONE object.</p>
<pre><code> --- State transition function for the AI\_PATROLZONE **Patrol** object
-- @param #AI_PATROLZONE self
-- @param Controllable#CONTROLLABLE AIGroup
-- @return #boolean If false is returned, then the OnAfter state transition function will not be called.
function Patrol:OnBeforeRTB( AIGroup )
AIGroup:MessageToRed( "Returning to base", 20 )
end
</code></pre>
<p><strong>OnAfter</strong>RTB( AIGroup ) will be called by the AI_PATROLZONE object when the AIGroup reports RTB, but <strong>after</strong> the RTB default action was processed by the AI_PATROLZONE object.</p>
<pre><code> --- State transition function for the AI\_PATROLZONE **Patrol** object
-- @param #AI_PATROLZONE self
-- @param Controllable#CONTROLLABLE AIGroup
-- @return #Controllable#CONTROLLABLE The new AIGroup object that is set to be patrolling the zone.
function Patrol:OnAfterRTB( AIGroup )
return PatrolSpawn:Spawn()
end
</code></pre>
<h2>1.3) Manage the AI_PATROLZONE parameters:</h2>
<p>The following methods are available to modify the parameters of a AI_PATROLZONE object:</p>
<ul>
<li><a href="##(AI_PATROLZONE).SetControllable">AI_PATROLZONE.SetControllable</a>(): Set the AIControllable.</li>
<li><a href="##(AI_PATROLZONE).GetControllable">AI_PATROLZONE.GetControllable</a>(): Get the AIControllable.</li>
<li><a href="##(AI_PATROLZONE).SetSpeed">AI_PATROLZONE.SetSpeed</a>(): Set the patrol speed of the AI, for the next patrol.</li>
<li><a href="##(AI_PATROLZONE).SetAltitude">AI_PATROLZONE.SetAltitude</a>(): Set altitude of the AI, for the next patrol.</li>
</ul>
<h2>1.3) Manage the out of fuel in the AI_PATROLZONE:</h2>
<p>When the AIControllable is out of fuel, it is required that a new AIControllable is started, before the old AIControllable can return to the home base.
Therefore, with a parameter and a calculation of the distance to the home base, the fuel treshold is calculated.
When the fuel treshold is reached, the AIControllable will continue for a given time its patrol task in orbit, while a new AIControllable is targetted to the AI_PATROLZONE.
Once the time is finished, the old AIControllable will return to the base.
Use the method <a href="##(AI_PATROLZONE).ManageFuel">AI_PATROLZONE.ManageFuel</a>() to have this proces in place.</p>
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
<p>The underlying change log documents the API changes. Please read this carefully. The following notation is used:</p>
<ul>
<li><strong>Added</strong> parts are expressed in bold type face.</li>
<li><em>Removed</em> parts are expressed in italic type face.</li>
</ul>
<p>Hereby the change log:</p>
<p>2016-08-17: AI_PATROLZONE:New( <strong>PatrolSpawn,</strong> PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed ) replaces AI_PATROLZONE:New( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed )</p>
<p>2016-07-01: Initial class and API.</p>
<hr/>
<h1>AUTHORS and CONTRIBUTIONS</h1>
<h3>Contributions:</h3>
<ul>
<li><strong>DutchBaron</strong>: Testing.</li>
<li><strong>Pikey</strong>: Testing and API concept review.</li>
</ul>
<h3>Authors:</h3>
<ul>
<li><strong>FlightControl</strong>: Design &amp; Programming.</li>
</ul>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#AI_PATROLZONE">AI_PATROLZONE</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#_NewPatrolRoute">_NewPatrolRoute(AIControllable)</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(AI_PATROLZONE)">Type <code>AI_PATROLZONE</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROLZONE).AIControllable">AI_PATROLZONE.AIControllable</a></td>
<td class="summary">
<p>The <a href="Controllable.html">Controllable</a> patrolling.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROLZONE).ClassName">AI_PATROLZONE.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROLZONE).ManageFuel">AI_PATROLZONE:ManageFuel(PatrolFuelTresholdPercentage, PatrolOutOfFuelOrbitTime)</a></td>
<td class="summary">
<p>When the AIControllable is out of fuel, it is required that a new AIControllable is started, before the old AIControllable can return to the home base.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROLZONE).New">AI_PATROLZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed)</a></td>
<td class="summary">
<p>Creates a new AI_PATROLZONE object</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROLZONE).PatrolCeilingAltitude">AI_PATROLZONE.PatrolCeilingAltitude</a></td>
<td class="summary">
<p>The highest altitude in meters where to execute the patrol.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROLZONE).PatrolFloorAltitude">AI_PATROLZONE.PatrolFloorAltitude</a></td>
<td class="summary">
<p>The lowest altitude in meters where to execute the patrol.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROLZONE).PatrolFuelTresholdPercentage">AI_PATROLZONE.PatrolFuelTresholdPercentage</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROLZONE).PatrolManageFuel">AI_PATROLZONE.PatrolManageFuel</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROLZONE).PatrolMaxSpeed">AI_PATROLZONE.PatrolMaxSpeed</a></td>
<td class="summary">
<p>The maximum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROLZONE).PatrolMinSpeed">AI_PATROLZONE.PatrolMinSpeed</a></td>
<td class="summary">
<p>The minimum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROLZONE).PatrolOutOfFuelOrbitTime">AI_PATROLZONE.PatrolOutOfFuelOrbitTime</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROLZONE).PatrolZone">AI_PATROLZONE.PatrolZone</a></td>
<td class="summary">
<p>The <a href="Zone.html">Zone</a> where the patrol needs to be executed.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROLZONE).SetAltitude">AI_PATROLZONE:SetAltitude(PatrolFloorAltitude, PatrolCeilingAltitude)</a></td>
<td class="summary">
<p>Sets the floor and ceiling altitude of the patrol.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROLZONE).SetSpeed">AI_PATROLZONE:SetSpeed(PatrolMinSpeed, PatrolMaxSpeed)</a></td>
<td class="summary">
<p>Sets (modifies) the minimum and maximum speed of the patrol.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROLZONE).onenterPatrol">AI_PATROLZONE:onenterPatrol()</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROLZONE).onenterRoute">AI_PATROLZONE:onenterRoute()</a></td>
<td class="summary">
<p>Defines a new patrol route using the <a href="AI_PatrolZone.html">AI_PatrolZone</a> parameters and settings.</p>
</td>
</tr>
</table>
<h2>Global(s)</h2>
<dl class="function">
<dt>
<em><a href="##(AI_PATROLZONE)">#AI_PATROLZONE</a></em>
<a id="AI_PATROLZONE" >
<strong>AI_PATROLZONE</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="_NewPatrolRoute" >
<strong>_NewPatrolRoute(AIControllable)</strong>
</a>
</dt>
<dd>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> AIControllable </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<h2><a id="#(AI_PatrolZone)" >Type <code>AI_PatrolZone</code></a></h2>
<h2><a id="#(AI_PATROLZONE)" >Type <code>AI_PATROLZONE</code></a></h2>
<p>AI_PATROLZONE class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a></em>
<a id="#(AI_PATROLZONE).AIControllable" >
<strong>AI_PATROLZONE.AIControllable</strong>
</a>
</dt>
<dd>
<p>The <a href="Controllable.html">Controllable</a> patrolling.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(AI_PATROLZONE).ClassName" >
<strong>AI_PATROLZONE.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AI_PATROLZONE).ManageFuel" >
<strong>AI_PATROLZONE:ManageFuel(PatrolFuelTresholdPercentage, PatrolOutOfFuelOrbitTime)</strong>
</a>
</dt>
<dd>
<p>When the AIControllable is out of fuel, it is required that a new AIControllable is started, before the old AIControllable can return to the home base.</p>
<p>Therefore, with a parameter and a calculation of the distance to the home base, the fuel treshold is calculated.
When the fuel treshold is reached, the AIControllable will continue for a given time its patrol task in orbit, while a new AIControllable is targetted to the AI_PATROLZONE.
Once the time is finished, the old AIControllable will return to the base.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#number PatrolFuelTresholdPercentage </em></code>:
The treshold in percentage (between 0 and 1) when the AIControllable is considered to get out of fuel.</p>
</li>
<li>
<p><code><em>#number PatrolOutOfFuelOrbitTime </em></code>:
The amount of seconds the out of fuel AIControllable will orbit before returning to the base.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(AI_PATROLZONE)">#AI_PATROLZONE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AI_PATROLZONE).New" >
<strong>AI_PATROLZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed)</strong>
</a>
</dt>
<dd>
<p>Creates a new AI_PATROLZONE object</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a> PatrolZone </em></code>:
The <a href="Zone.html">Zone</a> where the patrol needs to be executed.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Altitude)">DCSTypes#Altitude</a> PatrolFloorAltitude </em></code>:
The lowest altitude in meters where to execute the patrol.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Altitude)">DCSTypes#Altitude</a> PatrolCeilingAltitude </em></code>:
The highest altitude in meters where to execute the patrol.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Speed)">DCSTypes#Speed</a> PatrolMinSpeed </em></code>:
The minimum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Speed)">DCSTypes#Speed</a> PatrolMaxSpeed </em></code>:
The maximum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(AI_PATROLZONE)">#AI_PATROLZONE</a>:</em>
self</p>
<h3>Usage:</h3>
<pre class="example"><code>-- Define a new AI_PATROLZONE Object. This PatrolArea will patrol an AIControllable within PatrolZone between 3000 and 6000 meters, with a variying speed between 600 and 900 km/h.
PatrolZone = ZONE:New( 'PatrolZone' )
PatrolSpawn = SPAWN:New( 'Patrol Group' )
PatrolArea = AI_PATROLZONE:New( PatrolZone, 3000, 6000, 600, 900 )</code></pre>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="DCSTypes.html##(Altitude)">DCSTypes#Altitude</a></em>
<a id="#(AI_PATROLZONE).PatrolCeilingAltitude" >
<strong>AI_PATROLZONE.PatrolCeilingAltitude</strong>
</a>
</dt>
<dd>
<p>The highest altitude in meters where to execute the patrol.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="DCSTypes.html##(Altitude)">DCSTypes#Altitude</a></em>
<a id="#(AI_PATROLZONE).PatrolFloorAltitude" >
<strong>AI_PATROLZONE.PatrolFloorAltitude</strong>
</a>
</dt>
<dd>
<p>The lowest altitude in meters where to execute the patrol.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(AI_PATROLZONE).PatrolFuelTresholdPercentage" >
<strong>AI_PATROLZONE.PatrolFuelTresholdPercentage</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#boolean</em>
<a id="#(AI_PATROLZONE).PatrolManageFuel" >
<strong>AI_PATROLZONE.PatrolManageFuel</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="DCSTypes.html##(Speed)">DCSTypes#Speed</a></em>
<a id="#(AI_PATROLZONE).PatrolMaxSpeed" >
<strong>AI_PATROLZONE.PatrolMaxSpeed</strong>
</a>
</dt>
<dd>
<p>The maximum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="DCSTypes.html##(Speed)">DCSTypes#Speed</a></em>
<a id="#(AI_PATROLZONE).PatrolMinSpeed" >
<strong>AI_PATROLZONE.PatrolMinSpeed</strong>
</a>
</dt>
<dd>
<p>The minimum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(AI_PATROLZONE).PatrolOutOfFuelOrbitTime" >
<strong>AI_PATROLZONE.PatrolOutOfFuelOrbitTime</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></em>
<a id="#(AI_PATROLZONE).PatrolZone" >
<strong>AI_PATROLZONE.PatrolZone</strong>
</a>
</dt>
<dd>
<p>The <a href="Zone.html">Zone</a> where the patrol needs to be executed.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AI_PATROLZONE).SetAltitude" >
<strong>AI_PATROLZONE:SetAltitude(PatrolFloorAltitude, PatrolCeilingAltitude)</strong>
</a>
</dt>
<dd>
<p>Sets the floor and ceiling altitude of the patrol.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="DCSTypes.html##(Altitude)">DCSTypes#Altitude</a> PatrolFloorAltitude </em></code>:
The lowest altitude in meters where to execute the patrol.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Altitude)">DCSTypes#Altitude</a> PatrolCeilingAltitude </em></code>:
The highest altitude in meters where to execute the patrol.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(AI_PATROLZONE)">#AI_PATROLZONE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AI_PATROLZONE).SetSpeed" >
<strong>AI_PATROLZONE:SetSpeed(PatrolMinSpeed, PatrolMaxSpeed)</strong>
</a>
</dt>
<dd>
<p>Sets (modifies) the minimum and maximum speed of the patrol.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="DCSTypes.html##(Speed)">DCSTypes#Speed</a> PatrolMinSpeed </em></code>:
The minimum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Speed)">DCSTypes#Speed</a> PatrolMaxSpeed </em></code>:
The maximum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(AI_PATROLZONE)">#AI_PATROLZONE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AI_PATROLZONE).onenterPatrol" >
<strong>AI_PATROLZONE:onenterPatrol()</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AI_PATROLZONE).onenterRoute" >
<strong>AI_PATROLZONE:onenterRoute()</strong>
</a>
</dt>
<dd>
<p>Defines a new patrol route using the <a href="AI_PatrolZone.html">AI_PatrolZone</a> parameters and settings.</p>
<h3>Return value</h3>
<p><em><a href="##(AI_PATROLZONE)">#AI_PATROLZONE</a>:</em>
self</p>
</dd>
</dl>
</div>
</div>
</body>
</html>

View File

@ -2427,7 +2427,6 @@ The UNIT carrying the package.</p>
<dl class="function">
<dt>
<em></em>
<a id="#(AI_CARGO_UNIT).CargoCarrier" >
<strong>AI_CARGO_UNIT.CargoCarrier</strong>
</a>

File diff suppressed because it is too large Load Diff

View File

@ -1,717 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" href="stylesheet.css" type="text/css"/>
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div>
<div id="main">
<div id="navigation">
<h2>Modules</h2>
<ul><li>
<a href="index.html">index</a>
</li></ul>
<ul>
<li><a href="AIBalancer.html">AIBalancer</a></li>
<li><a href="AI_PatrolZone.html">AI_PatrolZone</a></li>
<li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li>
<li><a href="Base.html">Base</a></li>
<li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
<li><a href="DCSCommand.html">DCSCommand</a></li>
<li><a href="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li>
<li><a href="DCSTask.html">DCSTask</a></li>
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li>
<li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="Mission.html">Mission</a></li>
<li><a href="Object.html">Object</a></li>
<li>PatrolZone</li>
<li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_Destroy.html">Process_Destroy</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li>
<li><a href="Task_A2G.html">Task_A2G</a></li>
<li><a href="Task_Assign.html">Task_Assign</a></li>
<li><a href="Task_Client_Menu.html">Task_Client_Menu</a></li>
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_Route.html">Task_Route</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul>
</div>
<div id="content">
<h1>Module <code>PatrolZone</code></h1>
<p>This module contains the PATROLZONE class.</p>
<hr/>
<h1>1) <a href="##(PATROLZONE)">#PATROLZONE</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p>The <a href="##(PATROLZONE)">#PATROLZONE</a> class implements the core functions to patrol a <a href="Zone.html">Zone</a> by air units.
The PATROLZONE class will guide the airplanes towards the patrolzone.
The patrol algorithm works that for each airplane patrolling, upon arrival at the patrol zone,
a random point is selected as the route point within the 3D space, within the given boundary limits.
The airplane will fly towards the random point using a randomly selected speed within given boundary limits.
Upon arrival at the random point, a new random point will be selected within the patrol zone within boundary limits.
This cycle will continue until a fuel treshold has been reached by the airplane.
When the fuel treshold has been reached, the airplane will fly towards the nearest friendly airbase and will land.</p>
<h2>1.1) PATROLZONE constructor:</h2>
<p><a href="##(PATROLZONE).New">PATROLZONE.New</a>(): Creates a new PATROLZONE object.</p>
<h2>1.2) Modify the PATROLZONE parameters:</h2>
<p>The following methods are available to modify the parameters of a PATROLZONE object:</p>
<ul>
<li><a href="##(PATROLZONE).SetGroup">PATROLZONE.SetGroup</a>(): Set the AI Patrol Group.</li>
<li><a href="##(PATROLZONE).SetSpeed">PATROLZONE.SetSpeed</a>(): Set the patrol speed of the AI, for the next patrol.</li>
<li><a href="##(PATROLZONE).SetAltitude">PATROLZONE.SetAltitude</a>(): Set altitude of the AI, for the next patrol.</li>
</ul>
<h2>1.3) Manage the out of fuel in the PATROLZONE:</h2>
<p>When the PatrolGroup is out of fuel, it is required that a new PatrolGroup is started, before the old PatrolGroup can return to the home base.
Therefore, with a parameter and a calculation of the distance to the home base, the fuel treshold is calculated.
When the fuel treshold is reached, the PatrolGroup will continue for a given time its patrol task in orbit, while a new PatrolGroup is targetted to the PATROLZONE.
Once the time is finished, the old PatrolGroup will return to the base.
Use the method <a href="##(PATROLZONE).ManageFuel">PATROLZONE.ManageFuel</a>() to have this proces in place.</p>
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
<p>The underlying change log documents the API changes. Please read this carefully. The following notation is used:</p>
<ul>
<li><strong>Added</strong> parts are expressed in bold type face.</li>
<li><em>Removed</em> parts are expressed in italic type face.</li>
</ul>
<p>Hereby the change log:</p>
<p>2016-08-17: PATROLZONE:New( <strong>PatrolSpawn,</strong> PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed ) replaces PATROLZONE:New( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed )</p>
<p>2016-07-01: Initial class and API.</p>
<hr/>
<h1>AUTHORS and CONTRIBUTIONS</h1>
<h3>Contributions:</h3>
<ul>
<li><strong>DutchBaron</strong>: Testing.</li>
</ul>
<h3>Authors:</h3>
<ul>
<li><strong>FlightControl</strong>: Design &amp; Programming</li>
</ul>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#PATROLZONE">PATROLZONE</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#_NewPatrolRoute">_NewPatrolRoute(PatrolGroup)</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(PATROLZONE)">Type <code>PATROLZONE</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(PATROLZONE).ClassName">PATROLZONE.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PATROLZONE).ManageFuel">PATROLZONE:ManageFuel(PatrolFuelTresholdPercentage, PatrolOutOfFuelOrbitTime)</a></td>
<td class="summary">
<p>When the PatrolGroup is out of fuel, it is required that a new PatrolGroup is started, before the old PatrolGroup can return to the home base.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PATROLZONE).New">PATROLZONE:New(PatrolSpawn, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed)</a></td>
<td class="summary">
<p>Creates a new PATROLZONE object, taking a <a href="Group.html">Group</a> object as a parameter.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PATROLZONE).NewPatrolRoute">PATROLZONE:NewPatrolRoute()</a></td>
<td class="summary">
<p>Defines a new patrol route using the <a href="PatrolZone.html">PatrolZone</a> parameters and settings.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PATROLZONE).PatrolCeilingAltitude">PATROLZONE.PatrolCeilingAltitude</a></td>
<td class="summary">
<p>The highest altitude in meters where to execute the patrol.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PATROLZONE).PatrolFloorAltitude">PATROLZONE.PatrolFloorAltitude</a></td>
<td class="summary">
<p>The lowest altitude in meters where to execute the patrol.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PATROLZONE).PatrolFuelTresholdPercentage">PATROLZONE.PatrolFuelTresholdPercentage</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PATROLZONE).PatrolGroup">PATROLZONE.PatrolGroup</a></td>
<td class="summary">
<p>The <a href="Group.html">Group</a> patrolling.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PATROLZONE).PatrolGroupTemplateName">PATROLZONE.PatrolGroupTemplateName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PATROLZONE).PatrolManageFuel">PATROLZONE.PatrolManageFuel</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PATROLZONE).PatrolMaxSpeed">PATROLZONE.PatrolMaxSpeed</a></td>
<td class="summary">
<p>The maximum speed of the <a href="Group.html">Group</a> in km/h.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PATROLZONE).PatrolMinSpeed">PATROLZONE.PatrolMinSpeed</a></td>
<td class="summary">
<p>The minimum speed of the <a href="Group.html">Group</a> in km/h.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PATROLZONE).PatrolOutOfFuelMonitor">PATROLZONE.PatrolOutOfFuelMonitor</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PATROLZONE).PatrolOutOfFuelOrbitTime">PATROLZONE.PatrolOutOfFuelOrbitTime</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PATROLZONE).PatrolZone">PATROLZONE.PatrolZone</a></td>
<td class="summary">
<p>The <a href="Zone.html">Zone</a> where the patrol needs to be executed.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PATROLZONE).SetAltitude">PATROLZONE:SetAltitude(PatrolFloorAltitude, PatrolCeilingAltitude)</a></td>
<td class="summary">
<p>Sets the floor and ceiling altitude of the patrol.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PATROLZONE).SetGroup">PATROLZONE:SetGroup(PatrolGroup)</a></td>
<td class="summary">
<p>Set the <a href="Group.html">Group</a> to act as the Patroller.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PATROLZONE).SetSpeed">PATROLZONE:SetSpeed(PatrolMinSpeed, PatrolMaxSpeed)</a></td>
<td class="summary">
<p>Sets (modifies) the minimum and maximum speed of the patrol.</p>
</td>
</tr>
</table>
<h2>Global(s)</h2>
<dl class="function">
<dt>
<em><a href="##(PATROLZONE)">#PATROLZONE</a></em>
<a id="PATROLZONE" >
<strong>PATROLZONE</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="_NewPatrolRoute" >
<strong>_NewPatrolRoute(PatrolGroup)</strong>
</a>
</dt>
<dd>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Group.html##(GROUP)">Group#GROUP</a> PatrolGroup </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<h2><a id="#(PatrolZone)" >Type <code>PatrolZone</code></a></h2>
<h2><a id="#(PATROLZONE)" >Type <code>PATROLZONE</code></a></h2>
<p>PATROLZONE class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(PATROLZONE).ClassName" >
<strong>PATROLZONE.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PATROLZONE).ManageFuel" >
<strong>PATROLZONE:ManageFuel(PatrolFuelTresholdPercentage, PatrolOutOfFuelOrbitTime)</strong>
</a>
</dt>
<dd>
<p>When the PatrolGroup is out of fuel, it is required that a new PatrolGroup is started, before the old PatrolGroup can return to the home base.</p>
<p>Therefore, with a parameter and a calculation of the distance to the home base, the fuel treshold is calculated.
When the fuel treshold is reached, the PatrolGroup will continue for a given time its patrol task in orbit, while a new PatrolGroup is targetted to the PATROLZONE.
Once the time is finished, the old PatrolGroup will return to the base.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#number PatrolFuelTresholdPercentage </em></code>:
The treshold in percentage (between 0 and 1) when the PatrolGroup is considered to get out of fuel.</p>
</li>
<li>
<p><code><em>#number PatrolOutOfFuelOrbitTime </em></code>:
The amount of seconds the out of fuel PatrolGroup will orbit before returning to the base.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(PATROLZONE)">#PATROLZONE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PATROLZONE).New" >
<strong>PATROLZONE:New(PatrolSpawn, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed)</strong>
</a>
</dt>
<dd>
<p>Creates a new PATROLZONE object, taking a <a href="Group.html">Group</a> object as a parameter.</p>
<p>The GROUP needs to be alive.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Spawn.html##(SPAWN)">Spawn#SPAWN</a> PatrolSpawn </em></code>:
The <a href="SPAWN.html">SPAWN</a> object to spawn new group objects when required due to the fuel treshold.</p>
</li>
<li>
<p><code><em><a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a> PatrolZone </em></code>:
The <a href="Zone.html">Zone</a> where the patrol needs to be executed.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Altitude)">DCSTypes#Altitude</a> PatrolFloorAltitude </em></code>:
The lowest altitude in meters where to execute the patrol.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Altitude)">DCSTypes#Altitude</a> PatrolCeilingAltitude </em></code>:
The highest altitude in meters where to execute the patrol.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Speed)">DCSTypes#Speed</a> PatrolMinSpeed </em></code>:
The minimum speed of the <a href="Group.html">Group</a> in km/h.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Speed)">DCSTypes#Speed</a> PatrolMaxSpeed </em></code>:
The maximum speed of the <a href="Group.html">Group</a> in km/h.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(PATROLZONE)">#PATROLZONE</a>:</em>
self</p>
<h3>Usage:</h3>
<pre class="example"><code>-- Define a new PATROLZONE Object. This PatrolArea will patrol a group within PatrolZone between 3000 and 6000 meters, with a variying speed between 600 and 900 km/h.
PatrolZone = ZONE:New( 'PatrolZone' )
PatrolSpawn = SPAWN:New( "Patrol Group" )
PatrolArea = PATROLZONE:New( PatrolSpawn, PatrolZone, 3000, 6000, 600, 900 )</code></pre>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PATROLZONE).NewPatrolRoute" >
<strong>PATROLZONE:NewPatrolRoute()</strong>
</a>
</dt>
<dd>
<p>Defines a new patrol route using the <a href="PatrolZone.html">PatrolZone</a> parameters and settings.</p>
<h3>Return value</h3>
<p><em><a href="##(PATROLZONE)">#PATROLZONE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="DCSTypes.html##(Altitude)">DCSTypes#Altitude</a></em>
<a id="#(PATROLZONE).PatrolCeilingAltitude" >
<strong>PATROLZONE.PatrolCeilingAltitude</strong>
</a>
</dt>
<dd>
<p>The highest altitude in meters where to execute the patrol.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="DCSTypes.html##(Altitude)">DCSTypes#Altitude</a></em>
<a id="#(PATROLZONE).PatrolFloorAltitude" >
<strong>PATROLZONE.PatrolFloorAltitude</strong>
</a>
</dt>
<dd>
<p>The lowest altitude in meters where to execute the patrol.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PATROLZONE).PatrolFuelTresholdPercentage" >
<strong>PATROLZONE.PatrolFuelTresholdPercentage</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Group.html##(GROUP)">Group#GROUP</a></em>
<a id="#(PATROLZONE).PatrolGroup" >
<strong>PATROLZONE.PatrolGroup</strong>
</a>
</dt>
<dd>
<p>The <a href="Group.html">Group</a> patrolling.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PATROLZONE).PatrolGroupTemplateName" >
<strong>PATROLZONE.PatrolGroupTemplateName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#boolean</em>
<a id="#(PATROLZONE).PatrolManageFuel" >
<strong>PATROLZONE.PatrolManageFuel</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="DCSTypes.html##(Speed)">DCSTypes#Speed</a></em>
<a id="#(PATROLZONE).PatrolMaxSpeed" >
<strong>PATROLZONE.PatrolMaxSpeed</strong>
</a>
</dt>
<dd>
<p>The maximum speed of the <a href="Group.html">Group</a> in km/h.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="DCSTypes.html##(Speed)">DCSTypes#Speed</a></em>
<a id="#(PATROLZONE).PatrolMinSpeed" >
<strong>PATROLZONE.PatrolMinSpeed</strong>
</a>
</dt>
<dd>
<p>The minimum speed of the <a href="Group.html">Group</a> in km/h.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PATROLZONE).PatrolOutOfFuelMonitor" >
<strong>PATROLZONE.PatrolOutOfFuelMonitor</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PATROLZONE).PatrolOutOfFuelOrbitTime" >
<strong>PATROLZONE.PatrolOutOfFuelOrbitTime</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></em>
<a id="#(PATROLZONE).PatrolZone" >
<strong>PATROLZONE.PatrolZone</strong>
</a>
</dt>
<dd>
<p>The <a href="Zone.html">Zone</a> where the patrol needs to be executed.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PATROLZONE).SetAltitude" >
<strong>PATROLZONE:SetAltitude(PatrolFloorAltitude, PatrolCeilingAltitude)</strong>
</a>
</dt>
<dd>
<p>Sets the floor and ceiling altitude of the patrol.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="DCSTypes.html##(Altitude)">DCSTypes#Altitude</a> PatrolFloorAltitude </em></code>:
The lowest altitude in meters where to execute the patrol.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Altitude)">DCSTypes#Altitude</a> PatrolCeilingAltitude </em></code>:
The highest altitude in meters where to execute the patrol.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(PATROLZONE)">#PATROLZONE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PATROLZONE).SetGroup" >
<strong>PATROLZONE:SetGroup(PatrolGroup)</strong>
</a>
</dt>
<dd>
<p>Set the <a href="Group.html">Group</a> to act as the Patroller.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Group.html##(GROUP)">Group#GROUP</a> PatrolGroup </em></code>:
The <a href="Group.html">Group</a> patrolling.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(PATROLZONE)">#PATROLZONE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PATROLZONE).SetSpeed" >
<strong>PATROLZONE:SetSpeed(PatrolMinSpeed, PatrolMaxSpeed)</strong>
</a>
</dt>
<dd>
<p>Sets (modifies) the minimum and maximum speed of the patrol.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="DCSTypes.html##(Speed)">DCSTypes#Speed</a> PatrolMinSpeed </em></code>:
The minimum speed of the <a href="Group.html">Group</a> in km/h.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Speed)">DCSTypes#Speed</a> PatrolMaxSpeed </em></code>:
The maximum speed of the <a href="Group.html">Group</a> in km/h.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(PATROLZONE)">#PATROLZONE</a>:</em>
self</p>
</dd>
</dl>
</div>
</div>
</body>
</html>

View File

@ -1,415 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" href="stylesheet.css" type="text/css"/>
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div>
<div id="main">
<div id="navigation">
<h2>Modules</h2>
<ul><li>
<a href="index.html">index</a>
</li></ul>
<ul>
<li><a href="AIBalancer.html">AIBalancer</a></li>
<li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li>
<li><a href="Assign.html">Assign</a></li>
<li><a href="Base.html">Base</a></li>
<li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
<li><a href="DCSCommand.html">DCSCommand</a></li>
<li><a href="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li>
<li><a href="DCSTask.html">DCSTask</a></li>
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li>
<li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="Mission.html">Mission</a></li>
<li><a href="Object.html">Object</a></li>
<li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li>
<li>Process</li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li>
<li><a href="Task_A2G.html">Task_A2G</a></li>
<li><a href="Task_Client_Menu.html">Task_Client_Menu</a></li>
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li>
</ul>
</div>
<div id="content">
<h1>Module <code>Process</code></h1>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#PROCESS">PROCESS</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(PROCESS)">Type <code>PROCESS</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS).AddScore">PROCESS:AddScore(Task, State, ScoreText, Score, ProcessStatus)</a></td>
<td class="summary">
<p>Adds a score for the PROCESS to be achieved.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS).ClassName">PROCESS.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS).MissionMenu">PROCESS.MissionMenu</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS).New">PROCESS:New(ProcessName, Task, ProcessUnit, FSMT)</a></td>
<td class="summary">
<p>Instantiates a new TASK Base.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS).NextEvent">PROCESS.NextEvent</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS).OnStateChange">PROCESS:OnStateChange(ProcessUnit, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function for a PROCESS</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS).ProcessGroup">PROCESS.ProcessGroup</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS).ProcessName">PROCESS.ProcessName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS).Scores">PROCESS.Scores</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS).Task">PROCESS.Task</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2>Global(s)</h2>
<dl class="function">
<dt>
<em><a href="##(PROCESS)">#PROCESS</a></em>
<a id="PROCESS" >
<strong>PROCESS</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(Process)" >Type <code>Process</code></a></h2>
<h2><a id="#(PROCESS)" >Type <code>PROCESS</code></a></h2>
<p>The PROCESS class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<a id="#(PROCESS).AddScore" >
<strong>PROCESS:AddScore(Task, State, ScoreText, Score, ProcessStatus)</strong>
</a>
</dt>
<dd>
<p>Adds a score for the PROCESS to be achieved.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Task.html##(TASK_BASE)">Task#TASK_BASE</a> Task </em></code>:
The task for which the process needs to account score.</p>
</li>
<li>
<p><code><em>#string State </em></code>:
is the state of the process when the score needs to be given. (See the relevant state descriptions of the process).</p>
</li>
<li>
<p><code><em>#string ScoreText </em></code>:
is a text describing the score that is given according the status.</p>
</li>
<li>
<p><code><em>#number Score </em></code>:
is a number providing the score of the status.</p>
</li>
<li>
<p><code><em> ProcessStatus </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(PROCESS)">#PROCESS</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(PROCESS).ClassName" >
<strong>PROCESS.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Menu.html##(MENU_GROUP)">Menu#MENU_GROUP</a></em>
<a id="#(PROCESS).MissionMenu" >
<strong>PROCESS.MissionMenu</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS).New" >
<strong>PROCESS:New(ProcessName, Task, ProcessUnit, FSMT)</strong>
</a>
</dt>
<dd>
<p>Instantiates a new TASK Base.</p>
<p>Should never be used. Interface Class.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#string ProcessName </em></code>: </p>
</li>
<li>
<p><code><em><a href="Task.html##(TASK_BASE)">Task#TASK_BASE</a> Task </em></code>: </p>
</li>
<li>
<p><code><em><a href="Unit.html##(UNIT)">Unit#UNIT</a> ProcessUnit </em></code>: </p>
</li>
<li>
<p><code><em> FSMT </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(PROCESS)">#PROCESS</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS).NextEvent" >
<strong>PROCESS.NextEvent</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS).OnStateChange" >
<strong>PROCESS:OnStateChange(ProcessUnit, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function for a PROCESS</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> ProcessUnit </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Group.html##(GROUP)">Group#GROUP</a></em>
<a id="#(PROCESS).ProcessGroup" >
<strong>PROCESS.ProcessGroup</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(PROCESS).ProcessName" >
<strong>PROCESS.ProcessName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PROCESS).Scores" >
<strong>PROCESS.Scores</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Task.html##(TASK_BASE)">Task#TASK_BASE</a></em>
<a id="#(PROCESS).Task" >
<strong>PROCESS.Task</strong>
</a>
</dt>
<dd>
</dd>
</dl>
</div>
</div>
</body>
</html>

View File

@ -1,692 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" href="stylesheet.css" type="text/css"/>
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div>
<div id="main">
<div id="navigation">
<h2>Modules</h2>
<ul><li>
<a href="index.html">index</a>
</li></ul>
<ul>
<li><a href="AIBalancer.html">AIBalancer</a></li>
<li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li>
<li><a href="Base.html">Base</a></li>
<li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
<li><a href="DCSCommand.html">DCSCommand</a></li>
<li><a href="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li>
<li><a href="DCSTask.html">DCSTask</a></li>
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li>
<li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="Mission.html">Mission</a></li>
<li><a href="Object.html">Object</a></li>
<li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li>Process_Destroy</li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_PatrolZone.html">Process_PatrolZone</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li>
<li><a href="Task_A2G.html">Task_A2G</a></li>
<li><a href="Task_Assign.html">Task_Assign</a></li>
<li><a href="Task_Client_Menu.html">Task_Client_Menu</a></li>
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_Route.html">Task_Route</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li>
</ul>
</div>
<div id="content">
<h1>Module <code>Process_Destroy</code></h1>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#PROCESS_DESTROY">PROCESS_DESTROY</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(PROCESS_DESTROY)">Type <code>PROCESS_DESTROY</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_DESTROY).ClassName">PROCESS_DESTROY.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_DESTROY).DisplayCategory">PROCESS_DESTROY.DisplayCategory</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_DESTROY).DisplayCount">PROCESS_DESTROY.DisplayCount</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_DESTROY).DisplayInterval">PROCESS_DESTROY.DisplayInterval</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_DESTROY).DisplayMessage">PROCESS_DESTROY.DisplayMessage</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_DESTROY).DisplayTime">PROCESS_DESTROY.DisplayTime</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_DESTROY).EventDead">PROCESS_DESTROY:EventDead(Event)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_DESTROY).Fsm">PROCESS_DESTROY.Fsm</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_DESTROY).New">PROCESS_DESTROY:New(Task, ProcessUnit, TargetSetUnit, ProcessName)</a></td>
<td class="summary">
<p>Creates a new DESTROY process.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_DESTROY).OnDestroyed">PROCESS_DESTROY:OnDestroyed(Fsm, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function for a PROCESS</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_DESTROY).OnHitTarget">PROCESS_DESTROY:OnHitTarget(Fsm, Event, From, To, Event)</a></td>
<td class="summary">
<p>StateMachine callback function for a PROCESS</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_DESTROY).OnKilled">PROCESS_DESTROY:OnKilled(Fsm, Event, From, To, DCSEvent)</a></td>
<td class="summary">
<p>StateMachine callback function for a PROCESS</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_DESTROY).OnMoreTargets">PROCESS_DESTROY:OnMoreTargets(Fsm, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function for a PROCESS</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_DESTROY).OnRestart">PROCESS_DESTROY:OnRestart(Fsm, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function for a PROCESS</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_DESTROY).OnStart">PROCESS_DESTROY:OnStart(Fsm, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function for a PROCESS</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_DESTROY).OnWaiting">PROCESS_DESTROY:OnWaiting(Fsm, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function for a PROCESS</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_DESTROY).ProcessUnit">PROCESS_DESTROY.ProcessUnit</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_DESTROY).TargetSetUnit">PROCESS_DESTROY.TargetSetUnit</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2>Global(s)</h2>
<dl class="function">
<dt>
<em><a href="##(PROCESS_DESTROY)">#PROCESS_DESTROY</a></em>
<a id="PROCESS_DESTROY" >
<strong>PROCESS_DESTROY</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(Process_Destroy)" >Type <code>Process_Destroy</code></a></h2>
<h2><a id="#(PROCESS_DESTROY)" >Type <code>PROCESS_DESTROY</code></a></h2>
<p>PROCESS_DESTROY class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(PROCESS_DESTROY).ClassName" >
<strong>PROCESS_DESTROY.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(PROCESS_DESTROY).DisplayCategory" >
<strong>PROCESS_DESTROY.DisplayCategory</strong>
</a>
</dt>
<dd>
<p> Targets is the default display category</p>
</dd>
</dl>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(PROCESS_DESTROY).DisplayCount" >
<strong>PROCESS_DESTROY.DisplayCount</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(PROCESS_DESTROY).DisplayInterval" >
<strong>PROCESS_DESTROY.DisplayInterval</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#boolean</em>
<a id="#(PROCESS_DESTROY).DisplayMessage" >
<strong>PROCESS_DESTROY.DisplayMessage</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(PROCESS_DESTROY).DisplayTime" >
<strong>PROCESS_DESTROY.DisplayTime</strong>
</a>
</dt>
<dd>
<p> 10 seconds is the default</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_DESTROY).EventDead" >
<strong>PROCESS_DESTROY:EventDead(Event)</strong>
</a>
</dt>
<dd>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Event.html##(EVENTDATA)">Event#EVENTDATA</a> Event </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PROCESS_DESTROY).Fsm" >
<strong>PROCESS_DESTROY.Fsm</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_DESTROY).New" >
<strong>PROCESS_DESTROY:New(Task, ProcessUnit, TargetSetUnit, ProcessName)</strong>
</a>
</dt>
<dd>
<p>Creates a new DESTROY process.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Task.html##(TASK)">Task#TASK</a> Task </em></code>: </p>
</li>
<li>
<p><code><em><a href="Unit.html##(UNIT)">Unit#UNIT</a> ProcessUnit </em></code>: </p>
</li>
<li>
<p><code><em><a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a> TargetSetUnit </em></code>: </p>
</li>
<li>
<p><code><em> ProcessName </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(PROCESS_DESTROY)">#PROCESS_DESTROY</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_DESTROY).OnDestroyed" >
<strong>PROCESS_DESTROY:OnDestroyed(Fsm, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function for a PROCESS</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="StateMachine.html##(STATEMACHINE_PROCESS)">StateMachine#STATEMACHINE_PROCESS</a> Fsm </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_DESTROY).OnHitTarget" >
<strong>PROCESS_DESTROY:OnHitTarget(Fsm, Event, From, To, Event)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function for a PROCESS</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="StateMachine.html##(STATEMACHINE_PROCESS)">StateMachine#STATEMACHINE_PROCESS</a> Fsm </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
<li>
<p><code><em><a href="Event.html##(EVENTDATA)">Event#EVENTDATA</a> Event </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_DESTROY).OnKilled" >
<strong>PROCESS_DESTROY:OnKilled(Fsm, Event, From, To, DCSEvent)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function for a PROCESS</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="StateMachine.html##(STATEMACHINE_PROCESS)">StateMachine#STATEMACHINE_PROCESS</a> Fsm </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
<li>
<p><code><em><a href="Event.html##(EVENTDATA)">Event#EVENTDATA</a> DCSEvent </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_DESTROY).OnMoreTargets" >
<strong>PROCESS_DESTROY:OnMoreTargets(Fsm, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function for a PROCESS</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="StateMachine.html##(STATEMACHINE_PROCESS)">StateMachine#STATEMACHINE_PROCESS</a> Fsm </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_DESTROY).OnRestart" >
<strong>PROCESS_DESTROY:OnRestart(Fsm, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function for a PROCESS</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="StateMachine.html##(STATEMACHINE_PROCESS)">StateMachine#STATEMACHINE_PROCESS</a> Fsm </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_DESTROY).OnStart" >
<strong>PROCESS_DESTROY:OnStart(Fsm, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function for a PROCESS</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="StateMachine.html##(STATEMACHINE_PROCESS)">StateMachine#STATEMACHINE_PROCESS</a> Fsm </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_DESTROY).OnWaiting" >
<strong>PROCESS_DESTROY:OnWaiting(Fsm, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function for a PROCESS</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="StateMachine.html##(STATEMACHINE_PROCESS)">StateMachine#STATEMACHINE_PROCESS</a> Fsm </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Unit.html##(UNIT)">Unit#UNIT</a></em>
<a id="#(PROCESS_DESTROY).ProcessUnit" >
<strong>PROCESS_DESTROY.ProcessUnit</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a></em>
<a id="#(PROCESS_DESTROY).TargetSetUnit" >
<strong>PROCESS_DESTROY.TargetSetUnit</strong>
</a>
</dt>
<dd>
</dd>
</dl>
</div>
</div>
</body>
</html>

View File

@ -1,786 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" href="stylesheet.css" type="text/css"/>
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div>
<div id="main">
<div id="navigation">
<h2>Modules</h2>
<ul><li>
<a href="index.html">index</a>
</li></ul>
<ul>
<li><a href="AIBalancer.html">AIBalancer</a></li>
<li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li>
<li><a href="Base.html">Base</a></li>
<li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
<li><a href="DCSCommand.html">DCSCommand</a></li>
<li><a href="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li>
<li><a href="DCSTask.html">DCSTask</a></li>
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li>
<li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="Mission.html">Mission</a></li>
<li><a href="Object.html">Object</a></li>
<li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_Destroy.html">Process_Destroy</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li>Process_PatrolZone</li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li>
<li><a href="Task_A2G.html">Task_A2G</a></li>
<li><a href="Task_Assign.html">Task_Assign</a></li>
<li><a href="Task_Client_Menu.html">Task_Client_Menu</a></li>
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_Route.html">Task_Route</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li>
</ul>
</div>
<div id="content">
<h1>Module <code>Process_PatrolZone</code></h1>
<p>(AI) Make AI patrol routes or zones.</p>
<hr/>
<h1>1) <a href="##(PROCESS_PATROLZONE)">#PROCESS_PATROLZONE</a> class, extends <a href="StateMachine.html##(STATEMACHINE)">StateMachine#STATEMACHINE</a></h1>
<p>The <a href="##(PROCESS_PATROLZONE)">#PROCESS_PATROLZONE</a> class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AIR <a href="Controllable.html">Controllable</a> <a href="Group.html">Group</a>.
The patrol algorithm works that for each airplane patrolling, upon arrival at the patrol zone,
a random point is selected as the route point within the 3D space, within the given boundary limits.
The airplane will fly towards the random 3D point within the patrol zone, using a random speed within the given altitude and speed limits.
Upon arrival at the random 3D point, a new 3D random point will be selected within the patrol zone using the given limits.
This cycle will continue until a fuel treshold has been reached by the airplane.
When the fuel treshold has been reached, the airplane will fly towards the nearest friendly airbase and will land.</p>
<h2>1.1) PROCESS_PATROLZONE constructor:</h2>
<ul>
<li><a href="##(PROCESS_PATROLZONE).New">PROCESS_PATROLZONE.New</a>(): Creates a new PROCESS_PATROLZONE object.</li>
</ul>
<h2>1.2) PROCESS_PATROLZONE state machine:</h2>
<p>The PROCESS_PATROLZONE is a state machine: it manages the different events and states of the AIControllable it is controlling.</p>
<h3>1.2.1) PROCESS_PATROLZONE Events:</h3>
<ul>
<li><a href="##(PROCESS_PATROLZONE).Route">PROCESS_PATROLZONE.Route</a>( AIControllable ): A new 3D route point is selected and the AIControllable will fly towards that point with the given speed.</li>
<li><a href="##(PROCESS_PATROLZONE).Patrol">PROCESS_PATROLZONE.Patrol</a>( AIControllable ): The AIControllable reports it is patrolling. This event is called every 30 seconds.</li>
<li><a href="##(PROCESS_PATROLZONE).RTB">PROCESS_PATROLZONE.RTB</a>( AIControllable ): The AIControllable will report return to base.</li>
<li><a href="##(PROCESS_PATROLZONE).End">PROCESS_PATROLZONE.End</a>( AIControllable ): The end of the PROCESS_PATROLZONE process.</li>
<li><a href="##(PROCESS_PATROLZONE).Dead">PROCESS_PATROLZONE.Dead</a>( AIControllable ): The AIControllable is dead. The PROCESS_PATROLZONE process will be ended.</li>
</ul>
<h3>1.2.2) PROCESS_PATROLZONE States:</h3>
<ul>
<li><strong>Route</strong>: A new 3D route point is selected and the AIControllable will fly towards that point with the given speed.</li>
<li><strong>Patrol</strong>: The AIControllable is patrolling. This state is set every 30 seconds, so every 30 seconds, a state transition function can be used.</li>
<li><strong>RTB</strong>: The AIControllable reports it wants to return to the base.</li>
<li><strong>Dead</strong>: The AIControllable is dead ...</li>
<li><strong>End</strong>: The process has come to an end.</li>
</ul>
<h3>1.2.3) PROCESS_PATROLZONE state transition functions:</h3>
<p>State transition functions can be set <strong>by the mission designer</strong> customizing or improving the behaviour of the state.
There are 2 moments when state transition functions will be called by the state machine:</p>
<ul>
<li><p><strong>Before</strong> the state transition.
The state transition function needs to start with the name <strong>OnBefore + the name of the state</strong>.
If the state transition function returns false, then the processing of the state transition will not be done!
If you want to change the behaviour of the AIControllable at this event, return false,
but then you'll need to specify your own logic using the AIControllable!</p></li>
<li><p><strong>After</strong> the state transition.
The state transition function needs to start with the name <strong>OnAfter + the name of the state</strong>.
These state transition functions need to provide a return value, which is specified at the function description.</p></li>
</ul>
<p>An example how to manage a state transition for an PROCESS_PATROLZONE object <strong>Patrol</strong> for the state <strong>RTB</strong>:</p>
<pre><code> local PatrolZoneGroup = GROUP:FindByName( "Patrol Zone" )
local PatrolZone = ZONE_POLYGON:New( "PatrolZone", PatrolZoneGroup )
local PatrolSpawn = SPAWN:New( "Patrol Group" )
local PatrolGroup = PatrolSpawn:Spawn()
local Patrol = PROCESS_PATROLZONE:New( PatrolZone, 3000, 6000, 300, 600 )
Patrol:SetControllable( PatrolGroup )
Patrol:ManageFuel( 0.2, 60 )
</code></pre>
<p><strong>OnBefore</strong>RTB( AIGroup ) will be called by the PROCESS_PATROLZONE object when the AIGroup reports RTB, but <strong>before</strong> the RTB default action is processed by the PROCESS_PATROLZONE object.</p>
<pre><code> --- State transition function for the PROCESS\_PATROLZONE **Patrol** object
-- @param #PROCESS_PATROLZONE self
-- @param Controllable#CONTROLLABLE AIGroup
-- @return #boolean If false is returned, then the OnAfter state transition function will not be called.
function Patrol:OnBeforeRTB( AIGroup )
AIGroup:MessageToRed( "Returning to base", 20 )
end
</code></pre>
<p><strong>OnAfter</strong>RTB( AIGroup ) will be called by the PROCESS_PATROLZONE object when the AIGroup reports RTB, but <strong>after</strong> the RTB default action was processed by the PROCESS_PATROLZONE object.</p>
<pre><code> --- State transition function for the PROCESS\_PATROLZONE **Patrol** object
-- @param #PROCESS_PATROLZONE self
-- @param Controllable#CONTROLLABLE AIGroup
-- @return #Controllable#CONTROLLABLE The new AIGroup object that is set to be patrolling the zone.
function Patrol:OnAfterRTB( AIGroup )
return PatrolSpawn:Spawn()
end
</code></pre>
<h2>1.3) Manage the PROCESS_PATROLZONE parameters:</h2>
<p>The following methods are available to modify the parameters of a PROCESS_PATROLZONE object:</p>
<ul>
<li><a href="##(PROCESS_PATROLZONE).SetControllable">PROCESS_PATROLZONE.SetControllable</a>(): Set the AIControllable.</li>
<li><a href="##(PROCESS_PATROLZONE).GetControllable">PROCESS_PATROLZONE.GetControllable</a>(): Get the AIControllable.</li>
<li><a href="##(PROCESS_PATROLZONE).SetSpeed">PROCESS_PATROLZONE.SetSpeed</a>(): Set the patrol speed of the AI, for the next patrol.</li>
<li><a href="##(PROCESS_PATROLZONE).SetAltitude">PROCESS_PATROLZONE.SetAltitude</a>(): Set altitude of the AI, for the next patrol.</li>
</ul>
<h2>1.3) Manage the out of fuel in the PROCESS_PATROLZONE:</h2>
<p>When the AIControllable is out of fuel, it is required that a new AIControllable is started, before the old AIControllable can return to the home base.
Therefore, with a parameter and a calculation of the distance to the home base, the fuel treshold is calculated.
When the fuel treshold is reached, the AIControllable will continue for a given time its patrol task in orbit, while a new AIControllable is targetted to the PROCESS_PATROLZONE.
Once the time is finished, the old AIControllable will return to the base.
Use the method <a href="##(PROCESS_PATROLZONE).ManageFuel">PROCESS_PATROLZONE.ManageFuel</a>() to have this proces in place.</p>
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
<p>The underlying change log documents the API changes. Please read this carefully. The following notation is used:</p>
<ul>
<li><strong>Added</strong> parts are expressed in bold type face.</li>
<li><em>Removed</em> parts are expressed in italic type face.</li>
</ul>
<p>Hereby the change log:</p>
<p>2016-09-01: Initial class and API.</p>
<hr/>
<h1>AUTHORS and CONTRIBUTIONS</h1>
<h3>Contributions:</h3>
<ul>
<li><strong>DutchBaron</strong>: Testing.</li>
<li><strong>Pikey</strong>: Testing and API concept review.</li>
</ul>
<h3>Authors:</h3>
<ul>
<li><strong>FlightControl</strong>: Design &amp; Programming.</li>
</ul>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#PROCESS_PATROLZONE">PROCESS_PATROLZONE</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#_NewPatrolRoute">_NewPatrolRoute(AIControllable)</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(PROCESS_PATROLZONE)">Type <code>PROCESS_PATROLZONE</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_PATROLZONE).AIControllable">PROCESS_PATROLZONE.AIControllable</a></td>
<td class="summary">
<p>The <a href="Controllable.html">Controllable</a> patrolling.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_PATROLZONE).ClassName">PROCESS_PATROLZONE.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_PATROLZONE).ManageFuel">PROCESS_PATROLZONE:ManageFuel(PatrolFuelTresholdPercentage, PatrolOutOfFuelOrbitTime)</a></td>
<td class="summary">
<p>When the AIControllable is out of fuel, it is required that a new AIControllable is started, before the old AIControllable can return to the home base.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_PATROLZONE).New">PROCESS_PATROLZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed)</a></td>
<td class="summary">
<p>Creates a new PROCESS_PATROLZONE object</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_PATROLZONE).OnAfterRoute">PROCESS_PATROLZONE:OnAfterRoute(Controllable)</a></td>
<td class="summary">
<p>OnAfter State Transition Function</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_PATROLZONE).OnBeforeRoute">PROCESS_PATROLZONE:OnBeforeRoute(Controllable)</a></td>
<td class="summary">
<p>OnBefore State Transition Function</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_PATROLZONE).PatrolCeilingAltitude">PROCESS_PATROLZONE.PatrolCeilingAltitude</a></td>
<td class="summary">
<p>The highest altitude in meters where to execute the patrol.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_PATROLZONE).PatrolFloorAltitude">PROCESS_PATROLZONE.PatrolFloorAltitude</a></td>
<td class="summary">
<p>The lowest altitude in meters where to execute the patrol.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_PATROLZONE).PatrolFuelTresholdPercentage">PROCESS_PATROLZONE.PatrolFuelTresholdPercentage</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_PATROLZONE).PatrolManageFuel">PROCESS_PATROLZONE.PatrolManageFuel</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_PATROLZONE).PatrolMaxSpeed">PROCESS_PATROLZONE.PatrolMaxSpeed</a></td>
<td class="summary">
<p>The maximum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_PATROLZONE).PatrolMinSpeed">PROCESS_PATROLZONE.PatrolMinSpeed</a></td>
<td class="summary">
<p>The minimum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_PATROLZONE).PatrolOutOfFuelOrbitTime">PROCESS_PATROLZONE.PatrolOutOfFuelOrbitTime</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_PATROLZONE).PatrolZone">PROCESS_PATROLZONE.PatrolZone</a></td>
<td class="summary">
<p>The <a href="Zone.html">Zone</a> where the patrol needs to be executed.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_PATROLZONE).SetAltitude">PROCESS_PATROLZONE:SetAltitude(PatrolFloorAltitude, PatrolCeilingAltitude)</a></td>
<td class="summary">
<p>Sets the floor and ceiling altitude of the patrol.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_PATROLZONE).SetSpeed">PROCESS_PATROLZONE:SetSpeed(PatrolMinSpeed, PatrolMaxSpeed)</a></td>
<td class="summary">
<p>Sets (modifies) the minimum and maximum speed of the patrol.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_PATROLZONE).onenterPatrol">PROCESS_PATROLZONE:onenterPatrol()</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_PATROLZONE).onenterRoute">PROCESS_PATROLZONE:onenterRoute()</a></td>
<td class="summary">
<p>Defines a new patrol route using the <a href="Process_PatrolZone.html">Process_PatrolZone</a> parameters and settings.</p>
</td>
</tr>
</table>
<h2>Global(s)</h2>
<dl class="function">
<dt>
<em><a href="##(PROCESS_PATROLZONE)">#PROCESS_PATROLZONE</a></em>
<a id="PROCESS_PATROLZONE" >
<strong>PROCESS_PATROLZONE</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="_NewPatrolRoute" >
<strong>_NewPatrolRoute(AIControllable)</strong>
</a>
</dt>
<dd>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> AIControllable </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<h2><a id="#(Process_PatrolZone)" >Type <code>Process_PatrolZone</code></a></h2>
<h2><a id="#(PROCESS_PATROLZONE)" >Type <code>PROCESS_PATROLZONE</code></a></h2>
<p>PROCESS_PATROLZONE class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a></em>
<a id="#(PROCESS_PATROLZONE).AIControllable" >
<strong>PROCESS_PATROLZONE.AIControllable</strong>
</a>
</dt>
<dd>
<p>The <a href="Controllable.html">Controllable</a> patrolling.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(PROCESS_PATROLZONE).ClassName" >
<strong>PROCESS_PATROLZONE.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_PATROLZONE).ManageFuel" >
<strong>PROCESS_PATROLZONE:ManageFuel(PatrolFuelTresholdPercentage, PatrolOutOfFuelOrbitTime)</strong>
</a>
</dt>
<dd>
<p>When the AIControllable is out of fuel, it is required that a new AIControllable is started, before the old AIControllable can return to the home base.</p>
<p>Therefore, with a parameter and a calculation of the distance to the home base, the fuel treshold is calculated.
When the fuel treshold is reached, the AIControllable will continue for a given time its patrol task in orbit, while a new AIControllable is targetted to the PROCESS_PATROLZONE.
Once the time is finished, the old AIControllable will return to the base.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#number PatrolFuelTresholdPercentage </em></code>:
The treshold in percentage (between 0 and 1) when the AIControllable is considered to get out of fuel.</p>
</li>
<li>
<p><code><em>#number PatrolOutOfFuelOrbitTime </em></code>:
The amount of seconds the out of fuel AIControllable will orbit before returning to the base.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(PROCESS_PATROLZONE)">#PROCESS_PATROLZONE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_PATROLZONE).New" >
<strong>PROCESS_PATROLZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed)</strong>
</a>
</dt>
<dd>
<p>Creates a new PROCESS_PATROLZONE object</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a> PatrolZone </em></code>:
The <a href="Zone.html">Zone</a> where the patrol needs to be executed.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Altitude)">DCSTypes#Altitude</a> PatrolFloorAltitude </em></code>:
The lowest altitude in meters where to execute the patrol.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Altitude)">DCSTypes#Altitude</a> PatrolCeilingAltitude </em></code>:
The highest altitude in meters where to execute the patrol.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Speed)">DCSTypes#Speed</a> PatrolMinSpeed </em></code>:
The minimum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Speed)">DCSTypes#Speed</a> PatrolMaxSpeed </em></code>:
The maximum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(PROCESS_PATROLZONE)">#PROCESS_PATROLZONE</a>:</em>
self</p>
<h3>Usage:</h3>
<pre class="example"><code>-- Define a new PROCESS_PATROLZONE Object. This PatrolArea will patrol an AIControllable within PatrolZone between 3000 and 6000 meters, with a variying speed between 600 and 900 km/h.
PatrolZone = ZONE:New( 'PatrolZone' )
PatrolSpawn = SPAWN:New( 'Patrol Group' )
PatrolArea = PROCESS_PATROLZONE:New( PatrolZone, 3000, 6000, 600, 900 )</code></pre>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_PATROLZONE).OnAfterRoute" >
<strong>PROCESS_PATROLZONE:OnAfterRoute(Controllable)</strong>
</a>
</dt>
<dd>
<p>OnAfter State Transition Function</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> Controllable </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_PATROLZONE).OnBeforeRoute" >
<strong>PROCESS_PATROLZONE:OnBeforeRoute(Controllable)</strong>
</a>
</dt>
<dd>
<p>OnBefore State Transition Function</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> Controllable </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em>#boolean:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="DCSTypes.html##(Altitude)">DCSTypes#Altitude</a></em>
<a id="#(PROCESS_PATROLZONE).PatrolCeilingAltitude" >
<strong>PROCESS_PATROLZONE.PatrolCeilingAltitude</strong>
</a>
</dt>
<dd>
<p>The highest altitude in meters where to execute the patrol.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="DCSTypes.html##(Altitude)">DCSTypes#Altitude</a></em>
<a id="#(PROCESS_PATROLZONE).PatrolFloorAltitude" >
<strong>PROCESS_PATROLZONE.PatrolFloorAltitude</strong>
</a>
</dt>
<dd>
<p>The lowest altitude in meters where to execute the patrol.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PROCESS_PATROLZONE).PatrolFuelTresholdPercentage" >
<strong>PROCESS_PATROLZONE.PatrolFuelTresholdPercentage</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#boolean</em>
<a id="#(PROCESS_PATROLZONE).PatrolManageFuel" >
<strong>PROCESS_PATROLZONE.PatrolManageFuel</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="DCSTypes.html##(Speed)">DCSTypes#Speed</a></em>
<a id="#(PROCESS_PATROLZONE).PatrolMaxSpeed" >
<strong>PROCESS_PATROLZONE.PatrolMaxSpeed</strong>
</a>
</dt>
<dd>
<p>The maximum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="DCSTypes.html##(Speed)">DCSTypes#Speed</a></em>
<a id="#(PROCESS_PATROLZONE).PatrolMinSpeed" >
<strong>PROCESS_PATROLZONE.PatrolMinSpeed</strong>
</a>
</dt>
<dd>
<p>The minimum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PROCESS_PATROLZONE).PatrolOutOfFuelOrbitTime" >
<strong>PROCESS_PATROLZONE.PatrolOutOfFuelOrbitTime</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></em>
<a id="#(PROCESS_PATROLZONE).PatrolZone" >
<strong>PROCESS_PATROLZONE.PatrolZone</strong>
</a>
</dt>
<dd>
<p>The <a href="Zone.html">Zone</a> where the patrol needs to be executed.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_PATROLZONE).SetAltitude" >
<strong>PROCESS_PATROLZONE:SetAltitude(PatrolFloorAltitude, PatrolCeilingAltitude)</strong>
</a>
</dt>
<dd>
<p>Sets the floor and ceiling altitude of the patrol.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="DCSTypes.html##(Altitude)">DCSTypes#Altitude</a> PatrolFloorAltitude </em></code>:
The lowest altitude in meters where to execute the patrol.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Altitude)">DCSTypes#Altitude</a> PatrolCeilingAltitude </em></code>:
The highest altitude in meters where to execute the patrol.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(PROCESS_PATROLZONE)">#PROCESS_PATROLZONE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_PATROLZONE).SetSpeed" >
<strong>PROCESS_PATROLZONE:SetSpeed(PatrolMinSpeed, PatrolMaxSpeed)</strong>
</a>
</dt>
<dd>
<p>Sets (modifies) the minimum and maximum speed of the patrol.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="DCSTypes.html##(Speed)">DCSTypes#Speed</a> PatrolMinSpeed </em></code>:
The minimum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Speed)">DCSTypes#Speed</a> PatrolMaxSpeed </em></code>:
The maximum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(PROCESS_PATROLZONE)">#PROCESS_PATROLZONE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_PATROLZONE).onenterPatrol" >
<strong>PROCESS_PATROLZONE:onenterPatrol()</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_PATROLZONE).onenterRoute" >
<strong>PROCESS_PATROLZONE:onenterRoute()</strong>
</a>
</dt>
<dd>
<p>Defines a new patrol route using the <a href="Process_PatrolZone.html">Process_PatrolZone</a> parameters and settings.</p>
<h3>Return value</h3>
<p><em><a href="##(PROCESS_PATROLZONE)">#PROCESS_PATROLZONE</a>:</em>
self</p>
</dd>
</dl>
</div>
</div>
</body>
</html>

View File

@ -1,487 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" href="stylesheet.css" type="text/css"/>
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div>
<div id="main">
<div id="navigation">
<h2>Modules</h2>
<ul><li>
<a href="index.html">index</a>
</li></ul>
<ul>
<li><a href="AIBalancer.html">AIBalancer</a></li>
<li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li>
<li><a href="Assign.html">Assign</a></li>
<li><a href="Base.html">Base</a></li>
<li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
<li><a href="DCSCommand.html">DCSCommand</a></li>
<li><a href="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li>
<li><a href="DCSTask.html">DCSTask</a></li>
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li>
<li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="Mission.html">Mission</a></li>
<li><a href="Object.html">Object</a></li>
<li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li>Process_Smoke</li>
<li><a href="Route.html">Route</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li>
<li><a href="Task_A2G.html">Task_A2G</a></li>
<li><a href="Task_Client_Menu.html">Task_Client_Menu</a></li>
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li>
</ul>
</div>
<div id="content">
<h1>Module <code>Process_Smoke</code></h1>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#PROCESS_SMOKE_TARGETS">PROCESS_SMOKE_TARGETS</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(PROCESS_SMOKE_TARGETS)">Type <code>PROCESS_SMOKE_TARGETS</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_SMOKE_TARGETS).ClassName">PROCESS_SMOKE_TARGETS.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_SMOKE_TARGETS).Menu">PROCESS_SMOKE_TARGETS.Menu</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_SMOKE_TARGETS).MenuSmokeBlue">PROCESS_SMOKE_TARGETS.MenuSmokeBlue</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_SMOKE_TARGETS).MenuSmokeGreen">PROCESS_SMOKE_TARGETS.MenuSmokeGreen</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_SMOKE_TARGETS).MenuSmokeOrange">PROCESS_SMOKE_TARGETS.MenuSmokeOrange</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_SMOKE_TARGETS).MenuSmokeRed">PROCESS_SMOKE_TARGETS.MenuSmokeRed</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_SMOKE_TARGETS).MenuSmokeWhite">PROCESS_SMOKE_TARGETS.MenuSmokeWhite</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_SMOKE_TARGETS).New">PROCESS_SMOKE_TARGETS:New(Task, Unit, ProcessUnit, TargetSetUnit, TargetZone)</a></td>
<td class="summary">
<p>Creates a new task assignment state machine.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_SMOKE_TARGETS).OnSmoking">PROCESS_SMOKE_TARGETS:OnSmoking(Fsm, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function for a TASK2</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_SMOKE_TARGETS).OnStart">PROCESS_SMOKE_TARGETS:OnStart(Fsm, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function for a TASK2</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_SMOKE_TARGETS).ProcessUnit">PROCESS_SMOKE_TARGETS.ProcessUnit</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_SMOKE_TARGETS).TargetSetUnit">PROCESS_SMOKE_TARGETS.TargetSetUnit</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_SMOKE_TARGETS).TargetZone">PROCESS_SMOKE_TARGETS.TargetZone</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_SMOKE_TARGETS).Task">PROCESS_SMOKE_TARGETS.Task</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2>Global(s)</h2>
<dl class="function">
<dt>
<em><a href="##(PROCESS_SMOKE_TARGETS)">#PROCESS_SMOKE_TARGETS</a></em>
<a id="PROCESS_SMOKE_TARGETS" >
<strong>PROCESS_SMOKE_TARGETS</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(Process_Smoke)" >Type <code>Process_Smoke</code></a></h2>
<h2><a id="#(PROCESS_SMOKE_TARGETS)" >Type <code>PROCESS_SMOKE_TARGETS</code></a></h2>
<p>PROCESS<em>SMOKE</em>TARGETS class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(PROCESS_SMOKE_TARGETS).ClassName" >
<strong>PROCESS_SMOKE_TARGETS.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PROCESS_SMOKE_TARGETS).Menu" >
<strong>PROCESS_SMOKE_TARGETS.Menu</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PROCESS_SMOKE_TARGETS).MenuSmokeBlue" >
<strong>PROCESS_SMOKE_TARGETS.MenuSmokeBlue</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PROCESS_SMOKE_TARGETS).MenuSmokeGreen" >
<strong>PROCESS_SMOKE_TARGETS.MenuSmokeGreen</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PROCESS_SMOKE_TARGETS).MenuSmokeOrange" >
<strong>PROCESS_SMOKE_TARGETS.MenuSmokeOrange</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PROCESS_SMOKE_TARGETS).MenuSmokeRed" >
<strong>PROCESS_SMOKE_TARGETS.MenuSmokeRed</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PROCESS_SMOKE_TARGETS).MenuSmokeWhite" >
<strong>PROCESS_SMOKE_TARGETS.MenuSmokeWhite</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_SMOKE_TARGETS).New" >
<strong>PROCESS_SMOKE_TARGETS:New(Task, Unit, ProcessUnit, TargetSetUnit, TargetZone)</strong>
</a>
</dt>
<dd>
<p>Creates a new task assignment state machine.</p>
<p>The process will request from the menu if it accepts the task, if not, the unit is removed from the simulator.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Task.html##(TASK)">Task#TASK</a> Task </em></code>: </p>
</li>
<li>
<p><code><em><a href="Unit.html##(UNIT)">Unit#UNIT</a> Unit </em></code>: </p>
</li>
<li>
<p><code><em> ProcessUnit </em></code>: </p>
</li>
<li>
<p><code><em> TargetSetUnit </em></code>: </p>
</li>
<li>
<p><code><em> TargetZone </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(PROCESS_SMOKE_TARGETS)">#PROCESS<em>SMOKE</em>TARGETS</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_SMOKE_TARGETS).OnSmoking" >
<strong>PROCESS_SMOKE_TARGETS:OnSmoking(Fsm, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function for a TASK2</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="StateMachine.html##(STATEMACHINE_PROCESS)">StateMachine#STATEMACHINE_PROCESS</a> Fsm </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_SMOKE_TARGETS).OnStart" >
<strong>PROCESS_SMOKE_TARGETS:OnStart(Fsm, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function for a TASK2</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="StateMachine.html##(STATEMACHINE_TASK)">StateMachine#STATEMACHINE_TASK</a> Fsm </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Unit.html##(UNIT)">Unit#UNIT</a></em>
<a id="#(PROCESS_SMOKE_TARGETS).ProcessUnit" >
<strong>PROCESS_SMOKE_TARGETS.ProcessUnit</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a></em>
<a id="#(PROCESS_SMOKE_TARGETS).TargetSetUnit" >
<strong>PROCESS_SMOKE_TARGETS.TargetSetUnit</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></em>
<a id="#(PROCESS_SMOKE_TARGETS).TargetZone" >
<strong>PROCESS_SMOKE_TARGETS.TargetZone</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Task.html##(TASK_BASE)">Task#TASK_BASE</a></em>
<a id="#(PROCESS_SMOKE_TARGETS).Task" >
<strong>PROCESS_SMOKE_TARGETS.Task</strong>
</a>
</dt>
<dd>
</dd>
</dl>
</div>
</div>
</body>
</html>

View File

@ -1,867 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" href="stylesheet.css" type="text/css"/>
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div>
<div id="main">
<div id="navigation">
<h2>Modules</h2>
<ul><li>
<a href="index.html">index</a>
</li></ul>
<ul>
<li><a href="AIBalancer.html">AIBalancer</a></li>
<li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li>
<li><a href="Base.html">Base</a></li>
<li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
<li><a href="DCSCommand.html">DCSCommand</a></li>
<li><a href="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li>
<li><a href="DCSTask.html">DCSTask</a></li>
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li>
<li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="Mission.html">Mission</a></li>
<li><a href="Object.html">Object</a></li>
<li><a href="PatrolZone.html">PatrolZone</a></li>
<li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_Destroy.html">Process_Destroy</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li>STAGE</li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li>
<li><a href="Task_A2G.html">Task_A2G</a></li>
<li><a href="Task_Assign.html">Task_Assign</a></li>
<li><a href="Task_Client_Menu.html">Task_Client_Menu</a></li>
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_Route.html">Task_Route</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul>
</div>
<div id="content">
<h1>Module <code>STAGE</code></h1>
<p>Stages within a <a href="TASK.html">TASK</a> within a <a href="MISSION.html">MISSION</a>.</p>
<p>All of the STAGE functionality is considered internally administered and not to be used by any Mission designer.</p>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#CargoStatic">CargoStatic</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#STAGE">STAGE</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#STAGEARRIVE">STAGEARRIVE</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#STAGEBRIEF">STAGEBRIEF</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#STAGEDONE">STAGEDONE</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#STAGEGROUPSDESTROYED">STAGEGROUPSDESTROYED</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#STAGELANDED">STAGELANDED</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#STAGELANDING">STAGELANDING</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#STAGELOAD">STAGELOAD</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#STAGEROUTE">STAGEROUTE</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#STAGESTART">STAGESTART</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#STAGEUNLOAD">STAGEUNLOAD</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#STAGE_CARGO_INIT">STAGE_CARGO_INIT</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#STAGE_CARGO_LOAD">STAGE_CARGO_LOAD</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#_TransportStage">_TransportStage</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#_TransportStageAction">_TransportStageAction</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#_TransportStageTime">_TransportStageTime</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(STAGE)" >Type <code>STAGE</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(STAGE).ClassName">STAGE.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(STAGE).Execute">STAGE:Execute(Mission, Client, Task)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(STAGE).Executing">STAGE:Executing(Mission, Client, Task)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(STAGE).FREQUENCY">STAGE.FREQUENCY</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(STAGE).Frequency">STAGE.Frequency</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(STAGE).MSG">STAGE.MSG</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(STAGE).MessageCount">STAGE.MessageCount</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(STAGE).MessageFlash">STAGE.MessageFlash</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(STAGE).MessageInterval">STAGE.MessageInterval</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(STAGE).MessageShow">STAGE.MessageShow</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(STAGE).MessageShown">STAGE.MessageShown</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(STAGE).Name">STAGE.Name</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(STAGE).New">STAGE:New()</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(STAGE).StageType">STAGE.StageType</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(STAGE).Validate">STAGE:Validate(Mission, Client, Task)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(STAGE).WaitTime">STAGE.WaitTime</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(STAGEBRIEF)">Type <code>STAGEBRIEF</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(STAGEBRIEF).StageBriefingTime">STAGEBRIEF.StageBriefingTime</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2>Global(s)</h2>
<dl class="function">
<dt>
<em></em>
<a id="CargoStatic" >
<strong>CargoStatic</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(STAGE)">#STAGE</a></em>
<a id="STAGE" >
<strong>STAGE</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="STAGEARRIVE" >
<strong>STAGEARRIVE</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="STAGEBRIEF" >
<strong>STAGEBRIEF</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="STAGEDONE" >
<strong>STAGEDONE</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="STAGEGROUPSDESTROYED" >
<strong>STAGEGROUPSDESTROYED</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="STAGELANDED" >
<strong>STAGELANDED</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="STAGELANDING" >
<strong>STAGELANDING</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="STAGELOAD" >
<strong>STAGELOAD</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="STAGEROUTE" >
<strong>STAGEROUTE</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="STAGESTART" >
<strong>STAGESTART</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="STAGEUNLOAD" >
<strong>STAGEUNLOAD</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="STAGE_CARGO_INIT" >
<strong>STAGE_CARGO_INIT</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="STAGE_CARGO_LOAD" >
<strong>STAGE_CARGO_LOAD</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="_TransportStage" >
<strong>_TransportStage</strong>
</a>
</dt>
<dd>
<p> _TransportStage: Defines the different stages of which of transport missions can be in. This table is internal and is used to control the sequence of messages, actions and flow.</p>
<ul>
<li>_TransportStage.START</li>
<li>_TransportStage.ROUTE</li>
<li>_TransportStage.LAND</li>
<li>_TransportStage.EXECUTE</li>
<li>_TransportStage.DONE</li>
<li>_TransportStage.REMOVE
--</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="_TransportStageAction" >
<strong>_TransportStageAction</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="_TransportStageTime" >
<strong>_TransportStageTime</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(STAGE)" >Type <code>STAGE</code></a></h2>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(STAGE).ClassName" >
<strong>STAGE.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(STAGE).Execute" >
<strong>STAGE:Execute(Mission, Client, Task)</strong>
</a>
</dt>
<dd>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em> Mission </em></code>: </p>
</li>
<li>
<p><code><em> Client </em></code>: </p>
</li>
<li>
<p><code><em> Task </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(STAGE).Executing" >
<strong>STAGE:Executing(Mission, Client, Task)</strong>
</a>
</dt>
<dd>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em> Mission </em></code>: </p>
</li>
<li>
<p><code><em> Client </em></code>: </p>
</li>
<li>
<p><code><em> Task </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(STAGE).FREQUENCY" >
<strong>STAGE.FREQUENCY</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(STAGE).Frequency" >
<strong>STAGE.Frequency</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(STAGE).MSG" >
<strong>STAGE.MSG</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(STAGE).MessageCount" >
<strong>STAGE.MessageCount</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#boolean</em>
<a id="#(STAGE).MessageFlash" >
<strong>STAGE.MessageFlash</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(STAGE).MessageInterval" >
<strong>STAGE.MessageInterval</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#boolean</em>
<a id="#(STAGE).MessageShow" >
<strong>STAGE.MessageShow</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(STAGE).MessageShown" >
<strong>STAGE.MessageShown</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(STAGE).Name" >
<strong>STAGE.Name</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(STAGE).New" >
<strong>STAGE:New()</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(STAGE).StageType" >
<strong>STAGE.StageType</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(STAGE).Validate" >
<strong>STAGE:Validate(Mission, Client, Task)</strong>
</a>
</dt>
<dd>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em> Mission </em></code>: </p>
</li>
<li>
<p><code><em> Client </em></code>: </p>
</li>
<li>
<p><code><em> Task </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(STAGE).WaitTime" >
<strong>STAGE.WaitTime</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(STAGEARRIVE)" >Type <code>STAGEARRIVE</code></a></h2>
<h2><a id="#(STAGEBRIEF)" >Type <code>STAGEBRIEF</code></a></h2>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em></em>
<a id="#(STAGEBRIEF).StageBriefingTime" >
<strong>STAGEBRIEF.StageBriefingTime</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(STAGELANDING)" >Type <code>STAGELANDING</code></a></h2>
<h2><a id="#(STAGEROUTE)" >Type <code>STAGEROUTE</code></a></h2>
<h2><a id="#(STAGEUNLOAD)" >Type <code>STAGEUNLOAD</code></a></h2>
</div>
</div>
</body>
</html>

View File

@ -2176,7 +2176,7 @@ when nothing was spawned.</p>
<dl class="function">
<dt>
<em></em>
<em>#number</em>
<a id="#(SPAWN).SpawnMaxGroups" >
<strong>SPAWN.SpawnMaxGroups</strong>
</a>
@ -2193,7 +2193,7 @@ when nothing was spawned.</p>
<dl class="function">
<dt>
<em></em>
<em>#number</em>
<a id="#(SPAWN).SpawnMaxUnitsAlive" >
<strong>SPAWN.SpawnMaxUnitsAlive</strong>
</a>
@ -2496,7 +2496,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
<p> Flag that indicates if all the Groups of the SpawnGroup need to be visible when Spawned.</p>
<p> When the first Spawn executes, all the Groups need to be made visible before start.</p>
</dd>
</dl>

File diff suppressed because it is too large Load Diff

View File

@ -1,802 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" href="stylesheet.css" type="text/css"/>
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div>
<div id="main">
<div id="navigation">
<h2>Modules</h2>
<ul><li>
<a href="index.html">index</a>
</li></ul>
<ul>
<li><a href="AIBalancer.html">AIBalancer</a></li>
<li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li>
<li><a href="Base.html">Base</a></li>
<li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
<li><a href="DCSCommand.html">DCSCommand</a></li>
<li><a href="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li>
<li><a href="DCSTask.html">DCSTask</a></li>
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li>
<li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="Mission.html">Mission</a></li>
<li><a href="Object.html">Object</a></li>
<li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_Destroy.html">Process_Destroy</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_PatrolZone.html">Process_PatrolZone</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li>
<li><a href="Task_A2G.html">Task_A2G</a></li>
<li>Task_Assign</li>
<li><a href="Task_Client_Menu.html">Task_Client_Menu</a></li>
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_Route.html">Task_Route</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li>
</ul>
</div>
<div id="content">
<h1>Module <code>Task_Assign</code></h1>
<p>This module contains the PROCESS_ASSIGN classes.</p>
<hr/>
<h1>1) <a href="Task_Assign.html##(TASK_ASSIGN_ACCEPT)">Task<em>Assign#TASK</em>ASSIGN_ACCEPT</a> class, extends <a href="Task.html##(TASK_BASE)">Task#TASK_BASE</a></h1>
<p>The <a href="Task_Assign.html##(TASK_ASSIGN_ACCEPT)">Task<em>Assign#TASK</em>ASSIGN_ACCEPT</a> class accepts by default a task for a player. No player intervention is allowed to reject the task.</p>
<h1>2) <a href="Task_Assign.html##(TASK_ASSIGN_MENU_ACCEPT)">Task<em>Assign#TASK</em>ASSIGN<em>MENU</em>ACCEPT</a> class, extends <a href="Task.html##(TASK_BASE)">Task#TASK_BASE</a></h1>
<p>The <a href="Task_Assign.html##(TASK_ASSIGN_MENU_ACCEPT)">Task<em>Assign#TASK</em>ASSIGN<em>MENU</em>ACCEPT</a> class accepts a task when the player accepts the task through an added menu option.
This assignment type is useful to conditionally allow the player to choose whether or not he would accept the task.
The assignment type also allows to reject the task.</p>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#PROCESS_ASSIGN_ACCEPT">PROCESS_ASSIGN_ACCEPT</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#PROCESS_ASSIGN_MENU_ACCEPT">PROCESS_ASSIGN_MENU_ACCEPT</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(PROCESS_ASSIGN_ACCEPT)">Type <code>PROCESS_ASSIGN_ACCEPT</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_ACCEPT).ClassName">PROCESS_ASSIGN_ACCEPT.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_ACCEPT).Fsm">PROCESS_ASSIGN_ACCEPT.Fsm</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_ACCEPT).New">PROCESS_ASSIGN_ACCEPT:New(Task, Unit, ProcessUnit, TaskBriefing)</a></td>
<td class="summary">
<p>Creates a new task assignment state machine.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_ACCEPT).OnAssigned">PROCESS_ASSIGN_ACCEPT:OnAssigned(Fsm, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function for a TASK2</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_ACCEPT).ProcessUnit">PROCESS_ASSIGN_ACCEPT.ProcessUnit</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_ACCEPT).TargetZone">PROCESS_ASSIGN_ACCEPT.TargetZone</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_ACCEPT).Task">PROCESS_ASSIGN_ACCEPT.Task</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_ACCEPT).TaskBriefing">PROCESS_ASSIGN_ACCEPT.TaskBriefing</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(PROCESS_ASSIGN_MENU_ACCEPT)">Type <code>PROCESS_ASSIGN_MENU_ACCEPT</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_MENU_ACCEPT).ClassName">PROCESS_ASSIGN_MENU_ACCEPT.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_MENU_ACCEPT).Fsm">PROCESS_ASSIGN_MENU_ACCEPT.Fsm</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_MENU_ACCEPT).Menu">PROCESS_ASSIGN_MENU_ACCEPT.Menu</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_MENU_ACCEPT).MenuAcceptTask">PROCESS_ASSIGN_MENU_ACCEPT.MenuAcceptTask</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_MENU_ACCEPT).MenuAssign">PROCESS_ASSIGN_MENU_ACCEPT:MenuAssign()</a></td>
<td class="summary">
<p>Menu function.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_MENU_ACCEPT).MenuReject">PROCESS_ASSIGN_MENU_ACCEPT:MenuReject()</a></td>
<td class="summary">
<p>Menu function.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_MENU_ACCEPT).MenuRejectTask">PROCESS_ASSIGN_MENU_ACCEPT.MenuRejectTask</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_MENU_ACCEPT).MenuText">PROCESS_ASSIGN_MENU_ACCEPT.MenuText</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_MENU_ACCEPT).New">PROCESS_ASSIGN_MENU_ACCEPT:New(Task, Unit, ProcessUnit, TaskBriefing)</a></td>
<td class="summary">
<p>Creates a new task assignment state machine.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_MENU_ACCEPT).OnAssign">PROCESS_ASSIGN_MENU_ACCEPT:OnAssign(Fsm, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function for a TASK2</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_MENU_ACCEPT).OnReject">PROCESS_ASSIGN_MENU_ACCEPT:OnReject(Fsm, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function for a TASK2</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_MENU_ACCEPT).OnStart">PROCESS_ASSIGN_MENU_ACCEPT:OnStart(Fsm, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function for a TASK2</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_MENU_ACCEPT).ProcessUnit">PROCESS_ASSIGN_MENU_ACCEPT.ProcessUnit</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_MENU_ACCEPT).TargetZone">PROCESS_ASSIGN_MENU_ACCEPT.TargetZone</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_MENU_ACCEPT).Task">PROCESS_ASSIGN_MENU_ACCEPT.Task</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ASSIGN_MENU_ACCEPT).TaskBriefing">PROCESS_ASSIGN_MENU_ACCEPT.TaskBriefing</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2>Global(s)</h2>
<dl class="function">
<dt>
<em><a href="##(PROCESS_ASSIGN_ACCEPT)">#PROCESS_ASSIGN_ACCEPT</a></em>
<a id="PROCESS_ASSIGN_ACCEPT" >
<strong>PROCESS_ASSIGN_ACCEPT</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(PROCESS_ASSIGN_MENU_ACCEPT)">#PROCESS_ASSIGN_MENU_ACCEPT</a></em>
<a id="PROCESS_ASSIGN_MENU_ACCEPT" >
<strong>PROCESS_ASSIGN_MENU_ACCEPT</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(Task_Assign)" >Type <code>Task_Assign</code></a></h2>
<h2><a id="#(PROCESS_ASSIGN_ACCEPT)" >Type <code>PROCESS_ASSIGN_ACCEPT</code></a></h2>
<p>PROCESS<em>ASSIGN</em>ACCEPT class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(PROCESS_ASSIGN_ACCEPT).ClassName" >
<strong>PROCESS_ASSIGN_ACCEPT.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PROCESS_ASSIGN_ACCEPT).Fsm" >
<strong>PROCESS_ASSIGN_ACCEPT.Fsm</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_ASSIGN_ACCEPT).New" >
<strong>PROCESS_ASSIGN_ACCEPT:New(Task, Unit, ProcessUnit, TaskBriefing)</strong>
</a>
</dt>
<dd>
<p>Creates a new task assignment state machine.</p>
<p>The process will accept the task by default, no player intervention accepted.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Task.html##(TASK)">Task#TASK</a> Task </em></code>: </p>
</li>
<li>
<p><code><em><a href="Unit.html##(UNIT)">Unit#UNIT</a> Unit </em></code>: </p>
</li>
<li>
<p><code><em> ProcessUnit </em></code>: </p>
</li>
<li>
<p><code><em> TaskBriefing </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(PROCESS_ASSIGN_ACCEPT)">#PROCESS<em>ASSIGN</em>ACCEPT</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_ASSIGN_ACCEPT).OnAssigned" >
<strong>PROCESS_ASSIGN_ACCEPT:OnAssigned(Fsm, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function for a TASK2</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="StateMachine.html##(STATEMACHINE_PROCESS)">StateMachine#STATEMACHINE_PROCESS</a> Fsm </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Unit.html##(UNIT)">Unit#UNIT</a></em>
<a id="#(PROCESS_ASSIGN_ACCEPT).ProcessUnit" >
<strong>PROCESS_ASSIGN_ACCEPT.ProcessUnit</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></em>
<a id="#(PROCESS_ASSIGN_ACCEPT).TargetZone" >
<strong>PROCESS_ASSIGN_ACCEPT.TargetZone</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Task.html##(TASK_BASE)">Task#TASK_BASE</a></em>
<a id="#(PROCESS_ASSIGN_ACCEPT).Task" >
<strong>PROCESS_ASSIGN_ACCEPT.Task</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PROCESS_ASSIGN_ACCEPT).TaskBriefing" >
<strong>PROCESS_ASSIGN_ACCEPT.TaskBriefing</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(PROCESS_ASSIGN_MENU_ACCEPT)" >Type <code>PROCESS_ASSIGN_MENU_ACCEPT</code></a></h2>
<p>PROCESS<em>ASSIGN</em>MENU_ACCEPT class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(PROCESS_ASSIGN_MENU_ACCEPT).ClassName" >
<strong>PROCESS_ASSIGN_MENU_ACCEPT.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PROCESS_ASSIGN_MENU_ACCEPT).Fsm" >
<strong>PROCESS_ASSIGN_MENU_ACCEPT.Fsm</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PROCESS_ASSIGN_MENU_ACCEPT).Menu" >
<strong>PROCESS_ASSIGN_MENU_ACCEPT.Menu</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PROCESS_ASSIGN_MENU_ACCEPT).MenuAcceptTask" >
<strong>PROCESS_ASSIGN_MENU_ACCEPT.MenuAcceptTask</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_ASSIGN_MENU_ACCEPT).MenuAssign" >
<strong>PROCESS_ASSIGN_MENU_ACCEPT:MenuAssign()</strong>
</a>
</dt>
<dd>
<p>Menu function.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_ASSIGN_MENU_ACCEPT).MenuReject" >
<strong>PROCESS_ASSIGN_MENU_ACCEPT:MenuReject()</strong>
</a>
</dt>
<dd>
<p>Menu function.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PROCESS_ASSIGN_MENU_ACCEPT).MenuRejectTask" >
<strong>PROCESS_ASSIGN_MENU_ACCEPT.MenuRejectTask</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PROCESS_ASSIGN_MENU_ACCEPT).MenuText" >
<strong>PROCESS_ASSIGN_MENU_ACCEPT.MenuText</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_ASSIGN_MENU_ACCEPT).New" >
<strong>PROCESS_ASSIGN_MENU_ACCEPT:New(Task, Unit, ProcessUnit, TaskBriefing)</strong>
</a>
</dt>
<dd>
<p>Creates a new task assignment state machine.</p>
<p>The process will request from the menu if it accepts the task, if not, the unit is removed from the simulator.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Task.html##(TASK)">Task#TASK</a> Task </em></code>: </p>
</li>
<li>
<p><code><em><a href="Unit.html##(UNIT)">Unit#UNIT</a> Unit </em></code>: </p>
</li>
<li>
<p><code><em> ProcessUnit </em></code>: </p>
</li>
<li>
<p><code><em> TaskBriefing </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(PROCESS_ASSIGN_MENU_ACCEPT)">#PROCESS<em>ASSIGN</em>MENU_ACCEPT</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_ASSIGN_MENU_ACCEPT).OnAssign" >
<strong>PROCESS_ASSIGN_MENU_ACCEPT:OnAssign(Fsm, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function for a TASK2</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="StateMachine.html##(STATEMACHINE_PROCESS)">StateMachine#STATEMACHINE_PROCESS</a> Fsm </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_ASSIGN_MENU_ACCEPT).OnReject" >
<strong>PROCESS_ASSIGN_MENU_ACCEPT:OnReject(Fsm, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function for a TASK2</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="StateMachine.html##(STATEMACHINE_PROCESS)">StateMachine#STATEMACHINE_PROCESS</a> Fsm </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_ASSIGN_MENU_ACCEPT).OnStart" >
<strong>PROCESS_ASSIGN_MENU_ACCEPT:OnStart(Fsm, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function for a TASK2</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="StateMachine.html##(STATEMACHINE_TASK)">StateMachine#STATEMACHINE_TASK</a> Fsm </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Unit.html##(UNIT)">Unit#UNIT</a></em>
<a id="#(PROCESS_ASSIGN_MENU_ACCEPT).ProcessUnit" >
<strong>PROCESS_ASSIGN_MENU_ACCEPT.ProcessUnit</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></em>
<a id="#(PROCESS_ASSIGN_MENU_ACCEPT).TargetZone" >
<strong>PROCESS_ASSIGN_MENU_ACCEPT.TargetZone</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Task.html##(TASK_BASE)">Task#TASK_BASE</a></em>
<a id="#(PROCESS_ASSIGN_MENU_ACCEPT).Task" >
<strong>PROCESS_ASSIGN_MENU_ACCEPT.Task</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PROCESS_ASSIGN_MENU_ACCEPT).TaskBriefing" >
<strong>PROCESS_ASSIGN_MENU_ACCEPT.TaskBriefing</strong>
</a>
</dt>
<dd>
</dd>
</dl>
</div>
</div>
</body>
</html>

View File

@ -1,416 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" href="stylesheet.css" type="text/css"/>
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div>
<div id="main">
<div id="navigation">
<h2>Modules</h2>
<ul><li>
<a href="index.html">index</a>
</li></ul>
<ul>
<li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li>
<li><a href="Assign.html">Assign</a></li>
<li><a href="Base.html">Base</a></li>
<li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
<li><a href="DCSCommand.html">DCSCommand</a></li>
<li><a href="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li>
<li><a href="DCSTask.html">DCSTask</a></li>
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li>
<li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="Mission.html">Mission</a></li>
<li><a href="Object.html">Object</a></li>
<li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li>
<li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li>
<li><a href="Task_A2G.html">Task_A2G</a></li>
<li>Task_Client_Menu</li>
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul>
</div>
<div id="content">
<h1>Module <code>Task_Client_Menu</code></h1>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#TASK2_MENU_CLIENT">TASK2_MENU_CLIENT</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(TASK2_MENU_CLIENT)">Type <code>TASK2_MENU_CLIENT</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK2_MENU_CLIENT).ClassName">TASK2_MENU_CLIENT.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK2_MENU_CLIENT).Fsm">TASK2_MENU_CLIENT.Fsm</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK2_MENU_CLIENT).Menu">TASK2_MENU_CLIENT.Menu</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK2_MENU_CLIENT).MenuAssign">TASK2_MENU_CLIENT:MenuAssign()</a></td>
<td class="summary">
<p>Menu function.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK2_MENU_CLIENT).MenuTask">TASK2_MENU_CLIENT.MenuTask</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK2_MENU_CLIENT).MenuText">TASK2_MENU_CLIENT.MenuText</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK2_MENU_CLIENT).New">TASK2_MENU_CLIENT:New(Mission, TaskUnit, MenuText)</a></td>
<td class="summary">
<p>Creates a new MENU handling machine.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK2_MENU_CLIENT).OnAssign">TASK2_MENU_CLIENT:OnAssign(Fsm, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function for a TASK2</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK2_MENU_CLIENT).OnMenu">TASK2_MENU_CLIENT:OnMenu(Fsm, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function for a TASK2</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK2_MENU_CLIENT).TargetSet">TASK2_MENU_CLIENT.TargetSet</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK2_MENU_CLIENT).TaskUnit">TASK2_MENU_CLIENT.TaskUnit</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2>Global(s)</h2>
<dl class="function">
<dt>
<em><a href="##(TASK2_MENU_CLIENT)">#TASK2_MENU_CLIENT</a></em>
<a id="TASK2_MENU_CLIENT" >
<strong>TASK2_MENU_CLIENT</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(Task_Client_Menu)" >Type <code>Task_Client_Menu</code></a></h2>
<h2><a id="#(TASK2_MENU_CLIENT)" >Type <code>TASK2_MENU_CLIENT</code></a></h2>
<p>TASK2<em>MENU</em>CLIENT class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(TASK2_MENU_CLIENT).ClassName" >
<strong>TASK2_MENU_CLIENT.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(TASK2_MENU_CLIENT).Fsm" >
<strong>TASK2_MENU_CLIENT.Fsm</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(TASK2_MENU_CLIENT).Menu" >
<strong>TASK2_MENU_CLIENT.Menu</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(TASK2_MENU_CLIENT).MenuAssign" >
<strong>TASK2_MENU_CLIENT:MenuAssign()</strong>
</a>
</dt>
<dd>
<p>Menu function.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Core.Menu.html##(MENU_CLIENT_COMMAND)">Core.Menu#MENU_CLIENT_COMMAND</a></em>
<a id="#(TASK2_MENU_CLIENT).MenuTask" >
<strong>TASK2_MENU_CLIENT.MenuTask</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(TASK2_MENU_CLIENT).MenuText" >
<strong>TASK2_MENU_CLIENT.MenuText</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(TASK2_MENU_CLIENT).New" >
<strong>TASK2_MENU_CLIENT:New(Mission, TaskUnit, MenuText)</strong>
</a>
</dt>
<dd>
<p>Creates a new MENU handling machine.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Tasking.Mission.html##(MISSION)">Tasking.Mission#MISSION</a> Mission </em></code>: </p>
</li>
<li>
<p><code><em><a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a> TaskUnit </em></code>: </p>
</li>
<li>
<p><code><em>#string MenuText </em></code>:
The text of the menu item.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(TASK2_MENU_CLIENT)">#TASK2<em>MENU</em>CLIENT</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(TASK2_MENU_CLIENT).OnAssign" >
<strong>TASK2_MENU_CLIENT:OnAssign(Fsm, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function for a TASK2</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Core.Fsm.html##(FSM_TASK)">Core.Fsm#FSM_TASK</a> Fsm </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(TASK2_MENU_CLIENT).OnMenu" >
<strong>TASK2_MENU_CLIENT:OnMenu(Fsm, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function for a TASK2</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Core.Fsm.html##(FSM_TASK)">Core.Fsm#FSM_TASK</a> Fsm </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Core.Set.html##(SET_UNIT)">Core.Set#SET_UNIT</a></em>
<a id="#(TASK2_MENU_CLIENT).TargetSet" >
<strong>TASK2_MENU_CLIENT.TargetSet</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a></em>
<a id="#(TASK2_MENU_CLIENT).TaskUnit" >
<strong>TASK2_MENU_CLIENT.TaskUnit</strong>
</a>
</dt>
<dd>
</dd>
</dl>
</div>
</div>
</body>
</html>

View File

@ -1,426 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" href="stylesheet.css" type="text/css"/>
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div>
<div id="main">
<div id="navigation">
<h2>Modules</h2>
<ul><li>
<a href="index.html">index</a>
</li></ul>
<ul>
<li><a href="AIBalancer.html">AIBalancer</a></li>
<li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li>
<li><a href="Base.html">Base</a></li>
<li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
<li><a href="DCSCommand.html">DCSCommand</a></li>
<li><a href="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li>
<li><a href="DCSTask.html">DCSTask</a></li>
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li>
<li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="Mission.html">Mission</a></li>
<li><a href="Object.html">Object</a></li>
<li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_Destroy.html">Process_Destroy</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_PatrolZone.html">Process_PatrolZone</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li>
<li><a href="Task_A2G.html">Task_A2G</a></li>
<li><a href="Task_Assign.html">Task_Assign</a></li>
<li><a href="Task_Client_Menu.html">Task_Client_Menu</a></li>
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li>Task_Route</li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li>
</ul>
</div>
<div id="content">
<h1>Module <code>Task_Route</code></h1>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#PROCESS_ROUTE">PROCESS_ROUTE</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(PROCESS_ROUTE)">Type <code>PROCESS_ROUTE</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ROUTE).ClassName">PROCESS_ROUTE.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ROUTE).DisplayCategory">PROCESS_ROUTE.DisplayCategory</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ROUTE).DisplayCount">PROCESS_ROUTE.DisplayCount</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ROUTE).DisplayInterval">PROCESS_ROUTE.DisplayInterval</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ROUTE).DisplayMessage">PROCESS_ROUTE.DisplayMessage</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ROUTE).DisplayTime">PROCESS_ROUTE.DisplayTime</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ROUTE).Fsm">PROCESS_ROUTE.Fsm</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ROUTE).New">PROCESS_ROUTE:New(Task, Unit, ProcessUnit, TargetZone)</a></td>
<td class="summary">
<p>Creates a new routing state machine.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ROUTE).OnLeaveUnArrived">PROCESS_ROUTE:OnLeaveUnArrived(Fsm, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function for a TASK2</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ROUTE).ProcessUnit">PROCESS_ROUTE.ProcessUnit</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ROUTE).TASK">PROCESS_ROUTE.TASK</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(PROCESS_ROUTE).TargetZone">PROCESS_ROUTE.TargetZone</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2>Global(s)</h2>
<dl class="function">
<dt>
<em><a href="##(PROCESS_ROUTE)">#PROCESS_ROUTE</a></em>
<a id="PROCESS_ROUTE" >
<strong>PROCESS_ROUTE</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(Task_Route)" >Type <code>Task_Route</code></a></h2>
<h2><a id="#(PROCESS_ROUTE)" >Type <code>PROCESS_ROUTE</code></a></h2>
<p>PROCESS_ROUTE class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(PROCESS_ROUTE).ClassName" >
<strong>PROCESS_ROUTE.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(PROCESS_ROUTE).DisplayCategory" >
<strong>PROCESS_ROUTE.DisplayCategory</strong>
</a>
</dt>
<dd>
<p> Route is the default display category</p>
</dd>
</dl>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(PROCESS_ROUTE).DisplayCount" >
<strong>PROCESS_ROUTE.DisplayCount</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(PROCESS_ROUTE).DisplayInterval" >
<strong>PROCESS_ROUTE.DisplayInterval</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#boolean</em>
<a id="#(PROCESS_ROUTE).DisplayMessage" >
<strong>PROCESS_ROUTE.DisplayMessage</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(PROCESS_ROUTE).DisplayTime" >
<strong>PROCESS_ROUTE.DisplayTime</strong>
</a>
</dt>
<dd>
<p> 10 seconds is the default</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(PROCESS_ROUTE).Fsm" >
<strong>PROCESS_ROUTE.Fsm</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_ROUTE).New" >
<strong>PROCESS_ROUTE:New(Task, Unit, ProcessUnit, TargetZone)</strong>
</a>
</dt>
<dd>
<p>Creates a new routing state machine.</p>
<p>The task will route a CLIENT to a ZONE until the CLIENT is within that ZONE.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Task.html##(TASK)">Task#TASK</a> Task </em></code>: </p>
</li>
<li>
<p><code><em><a href="Unit.html##(UNIT)">Unit#UNIT</a> Unit </em></code>: </p>
</li>
<li>
<p><code><em> ProcessUnit </em></code>: </p>
</li>
<li>
<p><code><em> TargetZone </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(PROCESS_ROUTE)">#PROCESS_ROUTE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(PROCESS_ROUTE).OnLeaveUnArrived" >
<strong>PROCESS_ROUTE:OnLeaveUnArrived(Fsm, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function for a TASK2</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="StateMachine.html##(STATEMACHINE_PROCESS)">StateMachine#STATEMACHINE_PROCESS</a> Fsm </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Unit.html##(UNIT)">Unit#UNIT</a></em>
<a id="#(PROCESS_ROUTE).ProcessUnit" >
<strong>PROCESS_ROUTE.ProcessUnit</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Task.html##(TASK)">Task#TASK</a></em>
<a id="#(PROCESS_ROUTE).TASK" >
<strong>PROCESS_ROUTE.TASK</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></em>
<a id="#(PROCESS_ROUTE).TargetZone" >
<strong>PROCESS_ROUTE.TargetZone</strong>
</a>
</dt>
<dd>
</dd>
</dl>
</div>
</div>
</body>
</html>

View File

@ -1,776 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" href="stylesheet.css" type="text/css"/>
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div>
<div id="main">
<div id="navigation">
<h2>Modules</h2>
<ul><li>
<a href="index.html">index</a>
</li></ul>
<ul>
<li><a href="AIBalancer.html">AIBalancer</a></li>
<li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li>
<li><a href="Assign.html">Assign</a></li>
<li><a href="Base.html">Base</a></li>
<li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
<li><a href="DCSCommand.html">DCSCommand</a></li>
<li><a href="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li>
<li><a href="DCSTask.html">DCSTask</a></li>
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li>
<li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="Mission.html">Mission</a></li>
<li><a href="Object.html">Object</a></li>
<li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li>
<li><a href="Task_A2G.html">Task_A2G</a></li>
<li><a href="Task_Client_Menu.html">Task_Client_Menu</a></li>
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li>TrackHits</li>
<li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li>
</ul>
</div>
<div id="content">
<h1>Module <code>TrackHits</code></h1>
<p>(SP) (MP) (FSM) Detect, count and report successful hits to DCS objects.</p>
<hr/>
<h1><a href="##(ACCOUNT)">#ACCOUNT</a> FSM class, extends <a href="Process.html##(PROCESS)">Process#PROCESS</a></h1>
<p>The <a href="##(ACCOUNT_DEADS)">#ACCOUNT_DEADS</a> class detects, counts and reports successful hits to DCS objects.
The process is given a <a href="Set.html">Set</a> of units that will be tracked upon successful destruction.
The process will end after each target has been successfully destroyed.
Each successful destruction will trigger a status change.</p>
<h2>1.1) ACCOUNT_DEADS constructor:</h2>
<ul>
<li><a href="##(ACCOUNT_DEADS).New">ACCOUNT_DEADS.New</a>(): Creates a new ACCOUNT_DEADS object.</li>
</ul>
<h2>1.2) ACCOUNT state machine:</h2>
<p>The ACCOUNT is a state machine: it manages the different events and states of the Controllable it is controlling.</p>
<h3>1.2.1) ACCOUNT <strong>Events</strong>:</h3>
<p>Event methods are available (dynamically allocated by the state machine), that accomodate for state transitions to occur in the process.
There are two types of event methods:</p>
<ul>
<li><strong>Immediate</strong>: The event method has exactly the name of the event.</li>
<li><strong>Delayed</strong>: The event method starts with a __ + the name of the event. The first parameter of the event method is a number value, expressing the delay in seconds when the event will be executed. </li>
</ul>
<p>These are the events defined in this class:</p>
<ul>
<li><strong>Start</strong>: The process is started. The process will go into the Waiting state.</li>
<li><strong>Event</strong>: A relevant event has occured that needs to be accounted for. The process will go into the Account state.</li>
<li><strong>More</strong>: There are more DCS events that need to be accounted for. The process will go back into the Waiting state.</li>
<li><strong>NoMore</strong>: There are no more DCS events that need to be accounted for. The process will go into the Success state.</li>
</ul>
<h3>1.2.2) ACCOUNT <strong>States</strong>:</h3>
<ul>
<li><strong>Assigned</strong>: The player is assigned to the task. This is the initialization state for the process.</li>
<li><strong>Waiting</strong>: The process is awaiting an DCS event to occur within the simulator. This event is called automatically every 1 second.</li>
<li><strong>Account</strong>: The relevant DCS event has occurred, and is accounted for.</li>
<li><strong>Success (*)</strong>: All DCS events were accounted for. </li>
<li><strong>Failed (*)</strong>: The process has failed.</li>
</ul>
<p>(*) End states of the process.</p>
<h3>1.2.3) ACCOUNT_DEADS state transition functions:</h3>
<p>State transition functions can be set <strong>by the mission designer</strong> customizing or improving the behaviour of the state.
There are 2 moments when state transition functions will be called by the state machine:</p>
<ul>
<li><p><strong>Before</strong> the state transition.
The state transition function needs to start with the name <strong>OnBefore + the name of the state</strong>.
If the state transition function returns false, then the processing of the state transition will not be done!
If you want to change the behaviour of the AIControllable at this event, return false,
but then you'll need to specify your own logic using the AIControllable!</p></li>
<li><p><strong>After</strong> the state transition.
The state transition function needs to start with the name <strong>OnAfter + the name of the state</strong>.
These state transition functions need to provide a return value, which is specified at the function description.</p></li>
</ul>
<h2>1.3) Manage the ACCOUNT_DEADS parameters:</h2>
<p>The following methods are available to modify the parameters of a ACCOUNT_DEADS object:</p>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#ACCOUNT_DEADS">ACCOUNT_DEADS</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(ACCOUNT_DEADS)">Type <code>ACCOUNT_DEADS</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(ACCOUNT_DEADS).ClassName">ACCOUNT_DEADS.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ACCOUNT_DEADS).DisplayCategory">ACCOUNT_DEADS.DisplayCategory</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ACCOUNT_DEADS).DisplayCount">ACCOUNT_DEADS.DisplayCount</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ACCOUNT_DEADS).DisplayInterval">ACCOUNT_DEADS.DisplayInterval</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ACCOUNT_DEADS).DisplayMessage">ACCOUNT_DEADS.DisplayMessage</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ACCOUNT_DEADS).DisplayTime">ACCOUNT_DEADS.DisplayTime</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ACCOUNT_DEADS).EventDead">ACCOUNT_DEADS:EventDead(Event)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ACCOUNT_DEADS).Fsm">ACCOUNT_DEADS.Fsm</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ACCOUNT_DEADS).New">ACCOUNT_DEADS:New(ProcessUnit, TargetSetUnit, TaskName)</a></td>
<td class="summary">
<p>Creates a new DESTROY process.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ACCOUNT_DEADS).OnDestroyed">ACCOUNT_DEADS:OnDestroyed(ProcessUnit, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ACCOUNT_DEADS).OnHitTarget">ACCOUNT_DEADS:OnHitTarget(ProcessUnit, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ACCOUNT_DEADS).OnKilled">ACCOUNT_DEADS:OnKilled(ProcessUnit, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ACCOUNT_DEADS).OnMoreTargets">ACCOUNT_DEADS:OnMoreTargets(ProcessUnit, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ACCOUNT_DEADS).OnRestart">ACCOUNT_DEADS:OnRestart(ProcessUnit, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ACCOUNT_DEADS).OnStart">ACCOUNT_DEADS:OnStart(ProcessUnit, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ACCOUNT_DEADS).OnWaiting">ACCOUNT_DEADS:OnWaiting(ProcessUnit, Event, From, To)</a></td>
<td class="summary">
<p>StateMachine callback function</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ACCOUNT_DEADS).TargetSetUnit">ACCOUNT_DEADS.TargetSetUnit</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ACCOUNT_DEADS).TaskName">ACCOUNT_DEADS.TaskName</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(ASSIGN_MENU_ACCEPT)">Type <code>ASSIGN_MENU_ACCEPT</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(ASSIGN_MENU_ACCEPT).DisplayCount">ASSIGN_MENU_ACCEPT.DisplayCount</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2>Global(s)</h2>
<dl class="function">
<dt>
<em><a href="##(ACCOUNT_DEADS)">#ACCOUNT_DEADS</a></em>
<a id="ACCOUNT_DEADS" >
<strong>ACCOUNT_DEADS</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(TrackHits)" >Type <code>TrackHits</code></a></h2>
<h2><a id="#(ACCOUNT_DEADS)" >Type <code>ACCOUNT_DEADS</code></a></h2>
<p>ACCOUNT_DEADS class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(ACCOUNT_DEADS).ClassName" >
<strong>ACCOUNT_DEADS.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(ACCOUNT_DEADS).DisplayCategory" >
<strong>ACCOUNT_DEADS.DisplayCategory</strong>
</a>
</dt>
<dd>
<p> Targets is the default display category</p>
</dd>
</dl>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(ACCOUNT_DEADS).DisplayCount" >
<strong>ACCOUNT_DEADS.DisplayCount</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(ACCOUNT_DEADS).DisplayInterval" >
<strong>ACCOUNT_DEADS.DisplayInterval</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#boolean</em>
<a id="#(ACCOUNT_DEADS).DisplayMessage" >
<strong>ACCOUNT_DEADS.DisplayMessage</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(ACCOUNT_DEADS).DisplayTime" >
<strong>ACCOUNT_DEADS.DisplayTime</strong>
</a>
</dt>
<dd>
<p> 10 seconds is the default</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ACCOUNT_DEADS).EventDead" >
<strong>ACCOUNT_DEADS:EventDead(Event)</strong>
</a>
</dt>
<dd>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Event.html##(EVENTDATA)">Event#EVENTDATA</a> Event </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(ACCOUNT_DEADS).Fsm" >
<strong>ACCOUNT_DEADS.Fsm</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ACCOUNT_DEADS).New" >
<strong>ACCOUNT_DEADS:New(ProcessUnit, TargetSetUnit, TaskName)</strong>
</a>
</dt>
<dd>
<p>Creates a new DESTROY process.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Unit.html##(UNIT)">Unit#UNIT</a> ProcessUnit </em></code>: </p>
</li>
<li>
<p><code><em><a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a> TargetSetUnit </em></code>: </p>
</li>
<li>
<p><code><em>#string TaskName </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(ACCOUNT_DEADS)">#ACCOUNT_DEADS</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ACCOUNT_DEADS).OnDestroyed" >
<strong>ACCOUNT_DEADS:OnDestroyed(ProcessUnit, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> ProcessUnit </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ACCOUNT_DEADS).OnHitTarget" >
<strong>ACCOUNT_DEADS:OnHitTarget(ProcessUnit, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> ProcessUnit </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ACCOUNT_DEADS).OnKilled" >
<strong>ACCOUNT_DEADS:OnKilled(ProcessUnit, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> ProcessUnit </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ACCOUNT_DEADS).OnMoreTargets" >
<strong>ACCOUNT_DEADS:OnMoreTargets(ProcessUnit, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> ProcessUnit </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ACCOUNT_DEADS).OnRestart" >
<strong>ACCOUNT_DEADS:OnRestart(ProcessUnit, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> ProcessUnit </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ACCOUNT_DEADS).OnStart" >
<strong>ACCOUNT_DEADS:OnStart(ProcessUnit, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> ProcessUnit </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ACCOUNT_DEADS).OnWaiting" >
<strong>ACCOUNT_DEADS:OnWaiting(ProcessUnit, Event, From, To)</strong>
</a>
</dt>
<dd>
<p>StateMachine callback function</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> ProcessUnit </em></code>: </p>
</li>
<li>
<p><code><em>#string Event </em></code>: </p>
</li>
<li>
<p><code><em>#string From </em></code>: </p>
</li>
<li>
<p><code><em>#string To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a></em>
<a id="#(ACCOUNT_DEADS).TargetSetUnit" >
<strong>ACCOUNT_DEADS.TargetSetUnit</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(ACCOUNT_DEADS).TaskName" >
<strong>ACCOUNT_DEADS.TaskName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(ASSIGN_MENU_ACCEPT)" >Type <code>ASSIGN_MENU_ACCEPT</code></a></h2>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(ASSIGN_MENU_ACCEPT).DisplayCount" >
<strong>ASSIGN_MENU_ACCEPT.DisplayCount</strong>
</a>
</dt>
<dd>
</dd>
</dl>
</div>
</div>
</body>
</html>