Various Fixes

-- Documentation fixes with links not working.
-- MENU_CLIENT_COMMAND had a small glitch, fixed that one too.
-- Implemented new Event Dispatcher.
--
This commit is contained in:
FlightControl
2017-02-04 15:16:32 +01:00
parent be4d51237b
commit 52f4051901
104 changed files with 65657 additions and 749 deletions

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -76,18 +77,17 @@ even when there are hardly any players in the mission.</strong></p>
<p><img src="..\Presentations\AI_Balancer\Dia1.JPG" alt="Banner Image"/></p>
<hr/>
<h1>1) <a href="AI.AI_Balancer.html##(AI_BALANCER)">AI.AI<em>Balancer#AI</em>BALANCER</a> class, extends <a href="Core.Fsm.html##(FSM_SET)">Core.Fsm#FSM_SET</a></h1>
<h1>1) <a href="AI_Balancer.html##(AI_BALANCER)">AI<em>Balancer#AI</em>BALANCER</a> class, extends <a href="Fsm.html##(FSM_SET)">Fsm#FSM_SET</a></h1>
<p>The <a href="AI.AI_Balancer.html##(AI_BALANCER)">AI.AI<em>Balancer#AI</em>BALANCER</a> class monitors and manages as many replacement AI groups as there are
<p>The <a href="AI_Balancer.html##(AI_BALANCER)">AI<em>Balancer#AI</em>BALANCER</a> class monitors and manages as many replacement AI groups as there are
CLIENTS in a SET_CLIENT collection, which are not occupied by human players.</p>
<p>In other words, use AI_BALANCER to simulate human behaviour by spawning in replacement AI in multi player missions.</p>
<p>The parent class <a href="Core.Fsm.html##(FSM_SET)">Core.Fsm#FSM_SET</a> manages the functionality to control the Finite State Machine (FSM).
<p>The parent class <a href="Fsm.html##(FSM_SET)">Fsm#FSM_SET</a> manages the functionality to control the Finite State Machine (FSM).
The mission designer can tailor the behaviour of the AI_BALANCER, by defining event and state transition methods.
An explanation about state and event transition methods can be found in the <a href="FSM.html">FSM</a> module documentation.</p>
@@ -136,8 +136,8 @@ However, there are 2 additional options that you can use to customize the destro
When a human player joins a slot, you can configure to let the AI return to:</p>
<ul>
<li><a href="##(AI_BALANCER).ReturnToHomeAirbase">AI_BALANCER.ReturnToHomeAirbase</a>: Returns the AI to the <strong>home</strong> <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>.</li>
<li><a href="##(AI_BALANCER).ReturnToNearestAirbases">AI_BALANCER.ReturnToNearestAirbases</a>: Returns the AI to the <strong>nearest friendly</strong> <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>.</li>
<li><a href="##(AI_BALANCER).ReturnToHomeAirbase">AI_BALANCER.ReturnToHomeAirbase</a>: Returns the AI to the <strong>home</strong> <a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a>.</li>
<li><a href="##(AI_BALANCER).ReturnToNearestAirbases">AI_BALANCER.ReturnToNearestAirbases</a>: Returns the AI to the <strong>nearest friendly</strong> <a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a>.</li>
</ul>
<p>Note that when AI returns to an airbase, the AI<em>BALANCER will trigger the <strong>Return</strong> event and the AI will return,
@@ -240,13 +240,13 @@ otherwise the AI</em>BALANCER will trigger a <strong>Destroy</strong> event, and
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_BALANCER).ReturnToHomeAirbase">AI_BALANCER:ReturnToHomeAirbase(ReturnTresholdRange)</a></td>
<td class="summary">
<p>Returns the AI to the home <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>.</p>
<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="##(AI_BALANCER).ReturnToNearestAirbases">AI_BALANCER:ReturnToNearestAirbases(ReturnTresholdRange, ReturnAirbaseSet)</a></td>
<td class="summary">
<p>Returns the AI to the nearest friendly <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>.</p>
<p>Returns the AI to the nearest friendly <a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a>.</p>
</td>
</tr>
<tr>
@@ -495,14 +495,14 @@ The default Spawn object to spawn new AI Groups when needed.</p>
</dt>
<dd>
<p>Returns the AI to the home <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>.</p>
<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="Dcs.DCSTypes.html##(Distance)">Dcs.DCSTypes#Distance</a> ReturnTresholdRange </em></code>:
If there is an enemy <a href="Wrapper.Client.html##(CLIENT)">Wrapper.Client#CLIENT</a> within the ReturnTresholdRange given in meters, the AI will not return to the nearest <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>.</p>
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>
@@ -517,20 +517,20 @@ If there is an enemy <a href="Wrapper.Client.html##(CLIENT)">Wrapper.Client#CLIE
</dt>
<dd>
<p>Returns the AI to the nearest friendly <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>.</p>
<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="Dcs.DCSTypes.html##(Distance)">Dcs.DCSTypes#Distance</a> ReturnTresholdRange </em></code>:
If there is an enemy <a href="Wrapper.Client.html##(CLIENT)">Wrapper.Client#CLIENT</a> within the ReturnTresholdRange given in meters, the AI will not return to the nearest <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>.</p>
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="Core.Set.html##(SET_AIRBASE)">Core.Set#SET_AIRBASE</a> ReturnAirbaseSet </em></code>:
The SET of <a href="Core.Set.html##(SET_AIRBASE)">Core.Set#SET_AIRBASE</a>s to evaluate where to return to.</p>
The SET of <a href="Set.html##(SET_AIRBASE)">Set#SET_AIRBASE</a>s to evaluate where to return to.</p>
</li>
</ul>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -74,10 +75,9 @@
<p><img src="..\Presentations\AI_CAP\Dia1.JPG" alt="Banner Image"/></p>
<hr/>
<h1>1) <a href="##(AI_CAP_ZONE)">#AI<em>CAP</em>ZONE</a> class, extends <a href="AI.AI_CAP.html##(AI_PATROL_ZONE)">AI.AI<em>CAP#AI</em>PATROL_ZONE</a></h1>
<h1>1) <a href="##(AI_CAP_ZONE)">#AI<em>CAP</em>ZONE</a> class, extends <a href="AI_CAP.html##(AI_PATROL_ZONE)">AI<em>CAP#AI</em>PATROL_ZONE</a></h1>
<p>The <a href="##(AI_CAP_ZONE)">#AI<em>CAP</em>ZONE</a> class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Controllable.html">Controllable</a> or <a href="Group.html">Group</a>
and automatically engage any airborne enemies that are within a certain range or within a certain zone.</p>
@@ -151,7 +151,7 @@ When the fuel treshold has been reached, the airplane will fly towards the neare
that will define when the AI will engage with the detected airborne enemy targets.
The range can be beyond or smaller than the range of the Patrol Zone.
The range is applied at the position of the AI.
Use the method <a href="AI.AI_CAP.html##(AI_CAP_ZONE).SetEngageRange">AI.AI<em>CAP#AI</em>CAP_ZONE.SetEngageRange</a>() to define that range.</p>
Use the method <a href="AI_CAP.html##(AI_CAP_ZONE).SetEngageRange">AI<em>CAP#AI</em>CAP_ZONE.SetEngageRange</a>() to define that range.</p>
<h2>1.4) Set the Zone of Engagement</h2>
@@ -159,7 +159,7 @@ Use the method <a href="AI.AI_CAP.html##(AI_CAP_ZONE).SetEngageRange">AI.AI<em>C
<p>An optional <a href="Zone.html">Zone</a> can be set,
that will define when the AI will engage with the detected airborne enemy targets.
Use the method <a href="AI.AI_Cap.html##(AI_CAP_ZONE).SetEngageZone">AI.AI<em>Cap#AI</em>CAP_ZONE.SetEngageZone</a>() to define that Zone.</p>
Use the method <a href="AI_Cap.html##(AI_CAP_ZONE).SetEngageZone">AI<em>Cap#AI</em>CAP_ZONE.SetEngageZone</a>() to define that Zone.</p>
<hr/>
@@ -281,7 +281,7 @@ Use the method <a href="AI.AI_Cap.html##(AI_CAP_ZONE).SetEngageZone">AI.AI<em>Ca
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_CAP_ZONE).New">AI_CAP_ZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_CAP_ZONE).New">AI_CAP_ZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType)</a></td>
<td class="summary">
<p>Creates a new AI<em>CAP</em>ZONE object</p>
</td>
@@ -640,7 +640,7 @@ Use the method <a href="AI.AI_Cap.html##(AI_CAP_ZONE).SetEngageZone">AI.AI<em>Ca
<dt>
<a id="#(AI_CAP_ZONE).New" >
<strong>AI_CAP_ZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed)</strong>
<strong>AI_CAP_ZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType)</strong>
</a>
</dt>
<dd>
@@ -678,6 +678,12 @@ The minimum speed of the <a href="Controllable.html">Controllable</a> in km/h.</
<p><code><em><a href="Dcs.DCSTypes.html##(Speed)">Dcs.DCSTypes#Speed</a> PatrolMaxSpeed </em></code>:
The maximum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
</li>
<li>
<p><code><em><a href="Dcs.DCSTypes.html##(AltitudeType)">Dcs.DCSTypes#AltitudeType</a> PatrolAltType </em></code>:
The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO</p>
</li>
</ul>
<h3>Return value</h3>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -70,16 +71,16 @@
<div id="content">
<h1>Module <code>AI_Cas</code></h1>
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> -- <strong>Provide Close Air Support to friendly ground troops.</strong></p>
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> --
<strong>Provide Close Air Support to friendly ground troops.</strong></p>
<p><img src="..\Presentations\AI_CAS\Dia1.JPG" alt="Banner Image"/></p>
<hr/>
<h1>1) <a href="##(AI_CAS_ZONE)">#AI<em>CAS</em>ZONE</a> class, extends <a href="AI.AI_Patrol.html##(AI_PATROL_ZONE)">AI.AI<em>Patrol#AI</em>PATROL_ZONE</a></h1>
<h1>1) <a href="##(AI_CAS_ZONE)">#AI<em>CAS</em>ZONE</a> class, extends <a href="AI_Patrol.html##(AI_PATROL_ZONE)">AI<em>Patrol#AI</em>PATROL_ZONE</a></h1>
<p><a href="##(AI_CAS_ZONE)">#AI<em>CAS</em>ZONE</a> derives from the <a href="AI.AI_Patrol.html##(AI_PATROL_ZONE)">AI.AI<em>Patrol#AI</em>PATROL_ZONE</a>, inheriting its methods and behaviour.</p>
<p><a href="##(AI_CAS_ZONE)">#AI<em>CAS</em>ZONE</a> derives from the <a href="AI_Patrol.html##(AI_PATROL_ZONE)">AI<em>Patrol#AI</em>PATROL_ZONE</a>, inheriting its methods and behaviour.</p>
<p>
@@ -276,7 +277,7 @@ It can be notified to go RTB through the <strong>RTB</strong> event.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_CAS_ZONE).New">AI_CAS_ZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, EngageZone)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_CAS_ZONE).New">AI_CAS_ZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType, EngageZone)</a></td>
<td class="summary">
<p>Creates a new AI<em>CAS</em>ZONE object</p>
</td>
@@ -601,7 +602,7 @@ It can be notified to go RTB through the <strong>RTB</strong> event.</p>
<dt>
<a id="#(AI_CAS_ZONE).New" >
<strong>AI_CAS_ZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, EngageZone)</strong>
<strong>AI_CAS_ZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType, EngageZone)</strong>
</a>
</dt>
<dd>
@@ -642,6 +643,12 @@ The maximum speed of the <a href="Controllable.html">Controllable</a> in km/h.</
</li>
<li>
<p><code><em><a href="Dcs.DCSTypes.html##(AltitudeType)">Dcs.DCSTypes#AltitudeType</a> PatrolAltType </em></code>:
The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO</p>
</li>
<li>
<p><code><em><a href="Core.Zone.html##(ZONE)">Core.Zone#ZONE</a> EngageZone </em></code>: </p>
</li>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -70,14 +71,14 @@
<div id="content">
<h1>Module <code>AI_Patrol</code></h1>
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> -- <strong>Air Patrolling or Staging.</strong></p>
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> --
<strong>Air Patrolling or Staging.</strong></p>
<p><img src="..\Presentations\AI_PATROL\Dia1.JPG" alt="Banner Image"/></p>
<hr/>
<h1>1) <a href="##(AI_PATROL_ZONE)">#AI<em>PATROL</em>ZONE</a> class, extends <a href="Core.Fsm.html##(FSM_CONTROLLABLE)">Core.Fsm#FSM_CONTROLLABLE</a></h1>
<h1>1) <a href="##(AI_PATROL_ZONE)">#AI<em>PATROL</em>ZONE</a> class, extends <a href="Fsm.html##(FSM_CONTROLLABLE)">Fsm#FSM_CONTROLLABLE</a></h1>
<p>The <a href="##(AI_PATROL_ZONE)">#AI<em>PATROL</em>ZONE</a> class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Controllable.html">Controllable</a> or <a href="Group.html">Group</a>.</p>
@@ -317,7 +318,7 @@ Use the method <a href="##(AI_PATROL_ZONE).ManageDamage">AI<em>PATROL</em>ZONE.M
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROL_ZONE).GetDetectedUnits">AI_PATROL_ZONE:GetDetectedUnits()</a></td>
<td class="summary">
<p>Gets a list of <a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a>s that were detected by the AI.</p>
<p>Gets a list of <a href="Unit.html##(UNIT)">Unit#UNIT</a>s that were detected by the AI.</p>
</td>
</tr>
<tr>
@@ -333,7 +334,7 @@ Use the method <a href="##(AI_PATROL_ZONE).ManageDamage">AI<em>PATROL</em>ZONE.M
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROL_ZONE).New">AI_PATROL_ZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROL_ZONE).New">AI_PATROL_ZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType)</a></td>
<td class="summary">
<p>Creates a new AI<em>PATROL</em>ZONE object</p>
</td>
@@ -450,6 +451,12 @@ Use the method <a href="##(AI_PATROL_ZONE).ManageDamage">AI<em>PATROL</em>ZONE.M
<td class="name" nowrap="nowrap"><a href="##(AI_PATROL_ZONE).OnPilotDead">AI_PATROL_ZONE:OnPilotDead(EventData)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROL_ZONE).PatrolAltType">AI_PATROL_ZONE.PatrolAltType</a></td>
<td class="summary">
</td>
</tr>
<tr>
@@ -868,7 +875,7 @@ Use the method <a href="##(AI_PATROL_ZONE).ManageDamage">AI<em>PATROL</em>ZONE.M
</dt>
<dd>
<p>Gets a list of <a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a>s that were detected by the AI.</p>
<p>Gets a list of <a href="Unit.html##(UNIT)">Unit#UNIT</a>s that were detected by the AI.</p>
<p>No filtering is applied, so, ANY detected UNIT can be in this list.
@@ -877,7 +884,7 @@ It is up to the mission designer to use the <a href="Unit.html">Unit</a> class a
<h3>Return value</h3>
<p><em>#table:</em>
The list of <a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a>s</p>
The list of <a href="Unit.html##(UNIT)">Unit#UNIT</a>s</p>
</dd>
</dl>
@@ -957,7 +964,7 @@ self</p>
<dt>
<a id="#(AI_PATROL_ZONE).New" >
<strong>AI_PATROL_ZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed)</strong>
<strong>AI_PATROL_ZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType)</strong>
</a>
</dt>
<dd>
@@ -995,6 +1002,12 @@ The minimum speed of the <a href="Controllable.html">Controllable</a> in km/h.</
<p><code><em><a href="Dcs.DCSTypes.html##(Speed)">Dcs.DCSTypes#Speed</a> PatrolMaxSpeed </em></code>:
The maximum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
</li>
<li>
<p><code><em><a href="Dcs.DCSTypes.html##(AltitudeType)">Dcs.DCSTypes#AltitudeType</a> PatrolAltType </em></code>:
The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO</p>
</li>
</ul>
<h3>Return value</h3>
@@ -1751,6 +1764,22 @@ Return false to cancel Transition.</p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AI_PATROL_ZONE).PatrolAltType" >
<strong>AI_PATROL_ZONE.PatrolAltType</strong>
</a>
</dt>
<dd>
<p> defafult PatrolAltType to "RADIO" if not specified</p>
</dd>
</dl>
<dl class="function">

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -76,7 +77,7 @@
<hr/>
<h1><a href="##(ACT_ACCOUNT)">#ACT_ACCOUNT</a> FSM class, extends <a href="Core.Fsm.html##(FSM_PROCESS)">Core.Fsm#FSM_PROCESS</a></h1>
<h1><a href="##(ACT_ACCOUNT)">#ACT_ACCOUNT</a> FSM class, extends <a href="Fsm.html##(FSM_PROCESS)">Fsm#FSM_PROCESS</a></h1>
<h2>ACT_ACCOUNT state machine:</h2>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -76,7 +77,7 @@
<hr/>
<h1>1) <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a> class, extends <a href="Wrapper.Positionable.html##(POSITIONABLE)">Wrapper.Positionable#POSITIONABLE</a></h1>
<h1>1) <a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a> class, extends <a href="Positionable.html##(POSITIONABLE)">Positionable#POSITIONABLE</a></h1>
<p>The <a href="AIRBASE.html">AIRBASE</a> class is a wrapper class to handle the DCS Airbase objects:</p>
<ul>
@@ -108,7 +109,7 @@ If the DCS Airbase object does not exist or is nil, the AIRBASE methods will ret
<h2>1.2) DCS AIRBASE APIs</h2>
<p>The DCS Airbase APIs are used extensively within MOOSE. The AIRBASE class has for each DCS Airbase API a corresponding method.
To be able to distinguish easily in your code the difference between a AIRBASE API call and a DCS Airbase API call,
the first letter of the method is also capitalized. So, by example, the DCS Airbase method <a href="Dcs.DCSWrapper.Airbase.html##(Airbase).getName">Dcs.DCSWrapper.Airbase#Airbase.getName</a>()
the first letter of the method is also capitalized. So, by example, the DCS Airbase method <a href="DCSWrapper.Airbase.html##(Airbase).getName">DCSWrapper.Airbase#Airbase.getName</a>()
is implemented in the AIRBASE class as <a href="##(AIRBASE).GetName">AIRBASE.GetName</a>().</p>
<h2>More functions will be added</h2>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -76,8 +77,8 @@
<hr/>
<h1>1) <a href="Functional.AirbasePolice.html##(AIRBASEPOLICE_BASE)">Functional.AirbasePolice#AIRBASEPOLICE_BASE</a> class, extends <a href="Core.Base.html##(BASE)">Core.Base#BASE</a></h1>
<p>The <a href="Functional.AirbasePolice.html##(AIRBASEPOLICE_BASE)">Functional.AirbasePolice#AIRBASEPOLICE_BASE</a> class provides the main methods to monitor CLIENT behaviour at airbases.
<h1>1) <a href="AirbasePolice.html##(AIRBASEPOLICE_BASE)">AirbasePolice#AIRBASEPOLICE_BASE</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p>The <a href="AirbasePolice.html##(AIRBASEPOLICE_BASE)">AirbasePolice#AIRBASEPOLICE_BASE</a> class provides the main methods to monitor CLIENT behaviour at airbases.
CLIENTS should not be allowed to:</p>
<ul>
@@ -87,7 +88,7 @@ CLIENTS should not be allowed to:</p>
<li>Obey ground control orders.</li>
</ul>
<h1>2) <a href="Functional.AirbasePolice.html##(AIRBASEPOLICE_CAUCASUS)">Functional.AirbasePolice#AIRBASEPOLICE_CAUCASUS</a> class, extends <a href="Functional.AirbasePolice.html##(AIRBASEPOLICE_BASE)">Functional.AirbasePolice#AIRBASEPOLICE_BASE</a></h1>
<h1>2) <a href="AirbasePolice.html##(AIRBASEPOLICE_CAUCASUS)">AirbasePolice#AIRBASEPOLICE_CAUCASUS</a> class, extends <a href="AirbasePolice.html##(AIRBASEPOLICE_BASE)">AirbasePolice#AIRBASEPOLICE_BASE</a></h1>
<p>All the airbases on the caucasus map can be monitored using this class.
If you want to monitor specific airbases, you need to use the <a href="##(AIRBASEPOLICE_BASE).Monitor">AIRBASEPOLICE_BASE.Monitor</a>() method, which takes a table or airbase names.
The following names can be given:
@@ -113,7 +114,7 @@ The following names can be given:
* TbilisiLochini
* Vaziani</p>
<h1>3) <a href="Functional.AirbasePolice.html##(AIRBASEPOLICE_NEVADA)">Functional.AirbasePolice#AIRBASEPOLICE_NEVADA</a> class, extends <a href="Functional.AirbasePolice.html##(AIRBASEPOLICE_BASE)">Functional.AirbasePolice#AIRBASEPOLICE_BASE</a></h1>
<h1>3) <a href="AirbasePolice.html##(AIRBASEPOLICE_NEVADA)">AirbasePolice#AIRBASEPOLICE_NEVADA</a> class, extends <a href="AirbasePolice.html##(AIRBASEPOLICE_BASE)">AirbasePolice#AIRBASEPOLICE_BASE</a></h1>
<p>All the airbases on the NEVADA map can be monitored using this class.
If you want to monitor specific airbases, you need to use the <a href="##(AIRBASEPOLICE_BASE).Monitor">AIRBASEPOLICE_BASE.Monitor</a>() method, which takes a table or airbase names.
The following names can be given:

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -76,7 +77,7 @@
<hr/>
<h1><a href="##(ACT_ASSIGN)">#ACT_ASSIGN</a> FSM template class, extends <a href="Core.Fsm.html##(FSM_PROCESS)">Core.Fsm#FSM_PROCESS</a></h1>
<h1><a href="##(ACT_ASSIGN)">#ACT_ASSIGN</a> FSM template class, extends <a href="Fsm.html##(FSM_PROCESS)">Fsm#FSM_PROCESS</a></h1>
<h2>ACT_ASSIGN state machine:</h2>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -88,7 +89,7 @@
<h2>1.1) BASE constructor</h2>
<p>Any class derived from BASE, must use the <a href="Core.Base.html##(BASE).New">Core.Base#BASE.New</a> method how this is done.</p>
<p>Any class derived from BASE, must use the <a href="Base.html##(BASE).New">Base#BASE.New</a> method how this is done.</p>
<h2>1.2) BASE Trace functionality</h2>
@@ -166,8 +167,8 @@ Therefore, the BASE class exposes the following event handling functions:</p>
<li><a href="##(BASE).EventOnTookControl">BASE.EventOnTookControl</a>(): Handle the event when a player takes control of a unit.</li>
</ul>
<p>The EventOn() methods provide the <a href="Core.Event.html##(EVENTDATA)">Core.Event#EVENTDATA</a> structure to the event handling function.
The <a href="Core.Event.html##(EVENTDATA)">Core.Event#EVENTDATA</a> structure contains an enriched data set of information about the event being handled.</p>
<p>The EventOn() methods provide the <a href="Event.html##(EVENTDATA)">Event#EVENTDATA</a> structure to the event handling function.
The <a href="Event.html##(EVENTDATA)">Event#EVENTDATA</a> structure contains an enriched data set of information about the event being handled.</p>
<p>Find below an example of the prototype how to write an event handling function: </p>
@@ -189,7 +190,7 @@ The <a href="Core.Event.html##(EVENTDATA)">Core.Event#EVENTDATA</a> structure co
<ul>
<li>self = the object that is handling the EventOnPlayerEnterUnit.</li>
<li>EventData = the <a href="Core.Event.html##(EVENTDATA)">Core.Event#EVENTDATA</a> structure, containing more information of the Event.</li>
<li>EventData = the <a href="Event.html##(EVENTDATA)">Event#EVENTDATA</a> structure, containing more information of the Event.</li>
</ul>
<h2>1.4) Class identification methods</h2>
@@ -524,6 +525,12 @@ YYYY-MM-DD: CLASS:<strong>NewFunction( Params )</strong> added</p>
<td class="name" nowrap="nowrap"><a href="##(BASE).GetClassNameAndID">BASE:GetClassNameAndID()</a></td>
<td class="summary">
<p>Get the ClassName + ClassID of the class instance.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(BASE).GetEventPriority">BASE:GetEventPriority()</a></td>
<td class="summary">
<p>Get the Class <a href="Event.html">Event</a> processing Priority.</p>
</td>
</tr>
<tr>
@@ -554,6 +561,12 @@ YYYY-MM-DD: CLASS:<strong>NewFunction( Params )</strong> added</p>
<td class="name" nowrap="nowrap"><a href="##(BASE).New">BASE:New()</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(BASE).SetEventPriority">BASE:SetEventPriority(EventPriority)</a></td>
<td class="summary">
<p>Set the Class <a href="Event.html">Event</a> processing Priority.</p>
</td>
</tr>
<tr>
@@ -628,6 +641,12 @@ When Moose is loaded statically, (as one file), tracing is switched off by defau
<td class="name" nowrap="nowrap"><a href="##(BASE)._F">BASE:_F(Arguments, DebugInfoCurrentParam, DebugInfoFromParam)</a></td>
<td class="summary">
<p>Trace a function call.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(BASE)._Private">BASE._Private</a></td>
<td class="summary">
</td>
</tr>
<tr>
@@ -1731,6 +1750,28 @@ The ClassName + ClassID of the class instance.</p>
<dl class="function">
<dt>
<a id="#(BASE).GetEventPriority" >
<strong>BASE:GetEventPriority()</strong>
</a>
</dt>
<dd>
<p>Get the Class <a href="Event.html">Event</a> processing Priority.</p>
<p>The Event processing Priority is a number from 1 to 10,
reflecting the order of the classes subscribed to the Event to be processed.</p>
<h3>Return value</h3>
<p><em>#number:</em>
The <a href="Event.html">Event</a> processing Priority.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(BASE).GetParent" >
<strong>BASE:GetParent(Child)</strong>
</a>
@@ -1867,6 +1908,37 @@ Child</p>
<dl class="function">
<dt>
<a id="#(BASE).SetEventPriority" >
<strong>BASE:SetEventPriority(EventPriority)</strong>
</a>
</dt>
<dd>
<p>Set the Class <a href="Event.html">Event</a> processing Priority.</p>
<p>The Event processing Priority is a number from 1 to 10,
reflecting the order of the classes subscribed to the Event to be processed.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#number EventPriority </em></code>:
The <a href="Event.html">Event</a> processing Priority.</p>
</li>
</ul>
<h3>Return value</h3>
<p>self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(BASE).SetState" >
<strong>BASE:SetState(Object, Key, Value)</strong>
</a>
@@ -2176,6 +2248,20 @@ A #table or any field.</p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(BASE)._Private" >
<strong>BASE._Private</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -70,24 +71,32 @@
<div id="content">
<h1>Module <code>Cargo</code></h1>
<p>Single-Player:Yes / Mulit-Player:Yes / AI:Yes / Human:No / Types:Ground -- Management of logical cargo objects, that can be transported from and to transportation carriers.</p>
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Ground</strong> -- <br/>
<strong>Management of logical cargo objects, that can be transported from and to transportation carriers.</strong></p>
<p><img src="..\Presentations\AI_CARGO\CARGO.JPG" alt="Banner Image"/></p>
<hr/>
<p>Cargo can be of various forms, always are composed out of ONE object ( one unit or one static or one slingload crate ):</p>
<ul>
<li><p>AI<em>CARGO</em>UNIT, represented by a <a href="Unit.html">Unit</a> in a <a href="Group.html">Group</a>: Cargo can be represented by a Unit in a Group. Destruction of the Unit will mean that the cargo is lost.</p></li>
<li><p>CARGO_STATIC, represented by a <a href="Static.html">Static</a>: Cargo can be represented by a Static. Destruction of the Static will mean that the cargo is lost.</p></li>
<li><p>AI<em>CARGO</em>PACKAGE, contained in a <a href="Unit.html">Unit</a> of a <a href="Group.html">Group</a>: Cargo can be contained within a Unit of a Group. The cargo can be <strong>delivered</strong> by the <a href="Unit.html">Unit</a>. If the Unit is destroyed, the cargo will be destroyed also.</p></li>
<li><p>AI<em>CARGO</em>PACKAGE, Contained in a <a href="Static.html">Static</a>: Cargo can be contained within a Static. The cargo can be <strong>collected</strong> from the @Static. If the <a href="Static.html">Static</a> is destroyed, the cargo will be destroyed.</p></li>
<li><p>CARGO_SLINGLOAD, represented by a <a href="Cargo.html">Cargo</a> that is transportable: Cargo can be represented by a Cargo object that is transportable. Destruction of the Cargo will mean that the cargo is lost.</p></li>
<li><p>AI<em>CARGO</em>GROUPED, represented by a Group of CARGO_UNITs.</p></li>
<li>AI<em>CARGO</em>UNIT, represented by a <a href="Unit.html">Unit</a> in a <a href="Group.html">Group</a>: Cargo can be represented by a Unit in a Group.</li>
</ul>
<h1>1) <a href="AI.AI_Cargo.html##(AI_CARGO)">AI.AI<em>Cargo#AI</em>CARGO</a> class, extends <a href="Core.Fsm.html##(FSM_PROCESS)">Core.Fsm#FSM_PROCESS</a></h1>
<p>Destruction of the Unit will mean that the cargo is lost.
* CARGO_STATIC, represented by a <a href="Static.html">Static</a>: Cargo can be represented by a Static. Destruction of the Static will mean that the cargo is lost.
* AI<em>CARGO</em>PACKAGE, contained in a <a href="Unit.html">Unit</a> of a <a href="Group.html">Group</a>: Cargo can be contained within a Unit of a Group. The cargo can be <strong>delivered</strong> by the <a href="Unit.html">Unit</a>. If the Unit is destroyed, the cargo will be destroyed also.
* AI<em>CARGO</em>PACKAGE, Contained in a <a href="Static.html">Static</a>: Cargo can be contained within a Static. The cargo can be <strong>collected</strong> from the @Static. If the <a href="Static.html">Static</a> is destroyed, the cargo will be destroyed.
* CARGO_SLINGLOAD, represented by a <a href="Cargo.html">Cargo</a> that is transportable: Cargo can be represented by a Cargo object that is transportable. Destruction of the Cargo will mean that the cargo is lost.</p>
<ul>
<li>AI<em>CARGO</em>GROUPED, represented by a Group of CARGO_UNITs.</li>
</ul>
<h1>1) <a href="##(AI_CARGO)">#AI_CARGO</a> class, extends <a href="Fsm.html##(FSM_PROCESS)">Fsm#FSM_PROCESS</a></h1>
<p>The <a href="##(AI_CARGO)">#AI_CARGO</a> class defines the core functions that defines a cargo object within MOOSE.
A cargo is a logical object defined that is available for transport, and has a life status within a simulation.</p>
@@ -132,10 +141,12 @@ There are 2 moments when state transition methods will be called by the state ma
</ul>
<h1>2) #AI<em>CARGO</em>UNIT class</h1>
<p>The AI<em>CARGO</em>UNIT class defines a cargo that is represented by a UNIT object within the simulator, and can be transported by a carrier.
Use the event functions as described above to Load, UnLoad, Board, UnBoard the AI<em>CARGO</em>UNIT objects to and from carriers.</p>
<h1>5) #AI<em>CARGO</em>GROUPED class</h1>
<p>The AI<em>CARGO</em>GROUPED class defines a cargo that is represented by a group of UNIT objects within the simulator, and can be transported by a carrier.
Use the event functions as described above to Load, UnLoad, Board, UnBoard the AI<em>CARGO</em>UNIT objects to and from carriers.</p>
@@ -1263,7 +1274,7 @@ The cargo must be in the <strong>Loaded</strong> state.</p>
<li>
<p><code><em><a href="Core.Point.html##(POINT_VEC2)">Core.Point#POINT_VEC2</a> ToPointVec2 </em></code>:
(optional) @{Core.Point#POINT_VEC2) to where the cargo should run after onboarding. If not provided, the cargo will run to 60 meters behind the Carrier location.</p>
(optional) @{Point#POINT_VEC2) to where the cargo should run after onboarding. If not provided, the cargo will run to 60 meters behind the Carrier location.</p>
</li>
</ul>
@@ -1289,7 +1300,7 @@ The cargo must be in the <strong>Loaded</strong> state.</p>
<li>
<p><code><em><a href="Core.Point.html##(POINT_VEC2)">Core.Point#POINT_VEC2</a> ToPointVec2 </em></code>:
(optional) @{Core.Point#POINT_VEC2) to where the cargo will be placed after unloading. If not provided, the cargo will be placed 60 meters behind the Carrier location.</p>
(optional) @{Point#POINT_VEC2) to where the cargo will be placed after unloading. If not provided, the cargo will be placed 60 meters behind the Carrier location.</p>
</li>
</ul>
@@ -1399,7 +1410,7 @@ The amount of seconds to delay the action.</p>
<li>
<p><code><em><a href="Core.Point.html##(POINT_VEC2)">Core.Point#POINT_VEC2</a> ToPointVec2 </em></code>:
(optional) @{Core.Point#POINT_VEC2) to where the cargo should run after onboarding. If not provided, the cargo will run to 60 meters behind the Carrier location.</p>
(optional) @{Point#POINT_VEC2) to where the cargo should run after onboarding. If not provided, the cargo will run to 60 meters behind the Carrier location.</p>
</li>
</ul>
@@ -1431,7 +1442,7 @@ The amount of seconds to delay the action.</p>
<li>
<p><code><em><a href="Core.Point.html##(POINT_VEC2)">Core.Point#POINT_VEC2</a> ToPointVec2 </em></code>:
(optional) @{Core.Point#POINT_VEC2) to where the cargo will be placed after unloading. If not provided, the cargo will be placed 60 meters behind the Carrier location.</p>
(optional) @{Point#POINT_VEC2) to where the cargo will be placed after unloading. If not provided, the cargo will be placed 60 meters behind the Carrier location.</p>
</li>
</ul>
@@ -2413,7 +2424,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>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -119,7 +120,7 @@
<tr>
<td class="name" nowrap="nowrap"><a href="##(CLEANUP)._AddForCleanUp">CLEANUP:_AddForCleanUp(CleanUpUnit, CleanUpUnitName)</a></td>
<td class="summary">
<p>Add the <a href="Dcs.DCSWrapper.Unit.html##(Unit)">Dcs.DCSWrapper.Unit#Unit</a> to the CleanUpList for CleanUp.</p>
<p>Add the <a href="DCSWrapper.Unit.html##(Unit)">DCSWrapper.Unit#Unit</a> to the CleanUpList for CleanUp.</p>
</td>
</tr>
<tr>
@@ -143,7 +144,7 @@
<tr>
<td class="name" nowrap="nowrap"><a href="##(CLEANUP)._DestroyUnit">CLEANUP:_DestroyUnit(CleanUpUnit, CleanUpUnitName)</a></td>
<td class="summary">
<p>Destroys a <a href="Dcs.DCSWrapper.Unit.html##(Unit)">Dcs.DCSWrapper.Unit#Unit</a> from the simulator, but checks first if it is still existing!</p>
<p>Destroys a <a href="DCSWrapper.Unit.html##(Unit)">DCSWrapper.Unit#Unit</a> from the simulator, but checks first if it is still existing!</p>
</td>
</tr>
<tr>
@@ -291,7 +292,7 @@
</dt>
<dd>
<p>Add the <a href="Dcs.DCSWrapper.Unit.html##(Unit)">Dcs.DCSWrapper.Unit#Unit</a> to the CleanUpList for CleanUp.</p>
<p>Add the <a href="DCSWrapper.Unit.html##(Unit)">DCSWrapper.Unit#Unit</a> to the CleanUpList for CleanUp.</p>
<h3>Parameters</h3>
<ul>
@@ -385,7 +386,7 @@ The groupname...</p>
</dt>
<dd>
<p>Destroys a <a href="Dcs.DCSWrapper.Unit.html##(Unit)">Dcs.DCSWrapper.Unit#Unit</a> from the simulator, but checks first if it is still existing!</p>
<p>Destroys a <a href="DCSWrapper.Unit.html##(Unit)">DCSWrapper.Unit#Unit</a> from the simulator, but checks first if it is still existing!</p>
<h3>Parameters</h3>
<ul>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -74,10 +75,10 @@
<h1>1) <a href="Wrapper.Client.html##(CLIENT)">Wrapper.Client#CLIENT</a> class, extends <a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a></h1>
<h1>1) <a href="Client.html##(CLIENT)">Client#CLIENT</a> class, extends <a href="Unit.html##(UNIT)">Unit#UNIT</a></h1>
<p>Clients are those <strong>Units</strong> defined within the Mission Editor that have the skillset defined as <strong>Client</strong> or <strong>Player</strong>.
Note that clients are NOT the same as Units, they are NOT necessarily alive.
The <a href="Wrapper.Client.html##(CLIENT)">Wrapper.Client#CLIENT</a> class is a wrapper class to handle the DCS Unit objects that have the skillset defined as <strong>Client</strong> or <strong>Player</strong>:</p>
The <a href="Client.html##(CLIENT)">Client#CLIENT</a> class is a wrapper class to handle the DCS Unit objects that have the skillset defined as <strong>Client</strong> or <strong>Player</strong>:</p>
<ul>
<li>Wraps the DCS Unit objects with skill level set to Player or Client.</li>
@@ -129,7 +130,7 @@ If the DCS Unit object does not exist or is nil, the CLIENT methods will return
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).Alive">CLIENT:Alive(CallBack, CallBackFunction, ...)</a></td>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).Alive">CLIENT:Alive(CallBackFunction, ...)</a></td>
<td class="summary">
<p>Checks for a client alive event and calls a function on a continuous basis.</p>
</td>
@@ -299,7 +300,7 @@ If the DCS Unit object does not exist or is nil, the CLIENT methods will return
<tr>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).ShowCargo">CLIENT:ShowCargo()</a></td>
<td class="summary">
<p>Shows the <a href="AI.AI_Cargo.html##(CARGO)">AI.AI_Cargo#CARGO</a> contained within the CLIENT to the player as a message.</p>
<p>Shows the <a href="AI_Cargo.html##(CARGO)">AI_Cargo#CARGO</a> contained within the CLIENT to the player as a message.</p>
</td>
</tr>
<tr>
@@ -393,7 +394,7 @@ self</p>
<dt>
<a id="#(CLIENT).Alive" >
<strong>CLIENT:Alive(CallBack, CallBackFunction, ...)</strong>
<strong>CLIENT:Alive(CallBackFunction, ...)</strong>
</a>
</dt>
<dd>
@@ -404,13 +405,8 @@ self</p>
<ul>
<li>
<p><code><em>#function CallBack </em></code>:
Function.</p>
</li>
<li>
<p><code><em> CallBackFunction </em></code>: </p>
<p><code><em>#function CallBackFunction </em></code>:
Create a function that will be called when a player joins the slot.</p>
</li>
<li>
@@ -859,7 +855,7 @@ is the category of the message (the title).</p>
<li>
<p><code><em>#number MessageInterval </em></code>:
is the interval in seconds between the display of the <a href="Core.Message.html##(MESSAGE)">Core.Message#MESSAGE</a> when the CLIENT is in the air.</p>
is the interval in seconds between the display of the <a href="Message.html##(MESSAGE)">Message#MESSAGE</a> when the CLIENT is in the air.</p>
</li>
<li>
@@ -969,10 +965,10 @@ self</p>
</dt>
<dd>
<p>Shows the <a href="AI.AI_Cargo.html##(CARGO)">AI.AI_Cargo#CARGO</a> contained within the CLIENT to the player as a message.</p>
<p>Shows the <a href="AI_Cargo.html##(CARGO)">AI_Cargo#CARGO</a> contained within the CLIENT to the player as a message.</p>
<p>The <a href="AI.AI_Cargo.html##(CARGO)">AI.AI_Cargo#CARGO</a> is shown using the <a href="Core.Message.html##(MESSAGE)">Core.Message#MESSAGE</a> distribution system.</p>
<p>The <a href="AI_Cargo.html##(CARGO)">AI_Cargo#CARGO</a> is shown using the <a href="Message.html##(MESSAGE)">Message#MESSAGE</a> distribution system.</p>
</dd>
</dl>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>

View File

@@ -33,6 +33,7 @@
<li>Controllable</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="Fsm.html">Fsm</a></li>
@@ -74,8 +75,8 @@
<h1>1) <a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> class, extends <a href="Wrapper.Positionable.html##(POSITIONABLE)">Wrapper.Positionable#POSITIONABLE</a></h1>
<p>The <a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> class is a wrapper class to handle the DCS Controllable objects:</p>
<h1>1) <a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> class, extends <a href="Positionable.html##(POSITIONABLE)">Positionable#POSITIONABLE</a></h1>
<p>The <a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> class is a wrapper class to handle the DCS Controllable objects:</p>
<ul>
<li>Support all DCS Controllable APIs.</li>
@@ -93,7 +94,7 @@
<h2>1.2) CONTROLLABLE task methods</h2>
<p>Several controllable task methods are available that help you to prepare tasks.
These methods return a string consisting of the task description, which can then be given to either a <a href="Wrapper.Controllable.html##(CONTROLLABLE).PushTask">Wrapper.Controllable#CONTROLLABLE.PushTask</a> or <a href="Wrapper.Controllable.html##(SetTask)">Wrapper.Controllable#SetTask</a> method to assign the task to the CONTROLLABLE.
These methods return a string consisting of the task description, which can then be given to either a <a href="Controllable.html##(CONTROLLABLE).PushTask">Controllable#CONTROLLABLE.PushTask</a> or <a href="Controllable.html##(SetTask)">Controllable#SetTask</a> method to assign the task to the CONTROLLABLE.
Tasks are specific for the category of the CONTROLLABLE, more specific, for AIR, GROUND or AIR and GROUND.
Each task description where applicable indicates for which controllable category the task is valid.
There are 2 main subdivisions of tasks: Assigned tasks and EnRoute tasks.</p>
@@ -257,7 +258,7 @@ This is different from the EnRoute tasks, where the targets of the task need to
<tr>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).CopyRoute">CONTROLLABLE:CopyRoute(Begin, End, Randomize, Radius)</a></td>
<td class="summary">
<p>Return the route of a controllable by using the <a href="Core.Database.html##(DATABASE)">Core.Database#DATABASE</a> class.</p>
<p>Return the route of a controllable by using the <a href="Database.html##(DATABASE)">Database#DATABASE</a> class.</p>
</td>
</tr>
<tr>
@@ -479,7 +480,7 @@ This is different from the EnRoute tasks, where the targets of the task need to
<tr>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).RouteReturnToAirbase">CONTROLLABLE:RouteReturnToAirbase(ReturnAirbase, Speed)</a></td>
<td class="summary">
<p>(AIR) Return the Controllable to an <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>
<p>(AIR) Return the Controllable to an <a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a>
A speed can be given in km/h.</p>
</td>
</tr>
@@ -606,7 +607,7 @@ A speed can be given in km/h.</p>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).TaskLandAtZone">CONTROLLABLE:TaskLandAtZone(Zone, Duration, RandomPoint)</a></td>
<td class="summary">
<p>(AIR) Land the controllable at a @{Core.Zone#ZONE_RADIUS).</p>
<p>(AIR) Land the controllable at a @{Zone#ZONE_RADIUS).</p>
</td>
</tr>
<tr>
@@ -861,7 +862,7 @@ SCHEDULER:New( nil,
</dt>
<dd>
<p>Return the route of a controllable by using the <a href="Core.Database.html##(DATABASE)">Core.Database#DATABASE</a> class.</p>
<p>Return the route of a controllable by using the <a href="Database.html##(DATABASE)">Database#DATABASE</a> class.</p>
<h3>Parameters</h3>
<ul>
@@ -1827,7 +1828,7 @@ self</p>
</dt>
<dd>
<p>(AIR) Return the Controllable to an <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>
<p>(AIR) Return the Controllable to an <a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a>
A speed can be given in km/h.</p>
@@ -1838,7 +1839,7 @@ A speed can be given in km/h.</p>
<li>
<p><code><em><a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a> ReturnAirbase </em></code>:
The <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a> to return to.</p>
The <a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a> to return to.</p>
</li>
<li>
@@ -2225,7 +2226,7 @@ The DCS task structure.</p>
<li>
<p><code><em><a href="Dcs.DCSTasking.Task.html##(TaskArray)">Dcs.DCSTasking.Task#TaskArray</a> DCSTasks </em></code>:
Array of <a href="Dcs.DCSTasking.Task.html##(Task)">Dcs.DCSTasking.Task#Task</a></p>
Array of <a href="DCSTasking.Task.html##(Task)">DCSTasking.Task#Task</a></p>
</li>
</ul>
@@ -2708,7 +2709,7 @@ self</p>
</dt>
<dd>
<p>(AIR) Land the controllable at a @{Core.Zone#ZONE_RADIUS).</p>
<p>(AIR) Land the controllable at a @{Zone#ZONE_RADIUS).</p>
<h3>Parameters</h3>
<ul>
@@ -3133,7 +3134,7 @@ The waypoint function to be called when the controllable moves over the waypoint
<p> Retrieve the controllable mission and allow to place function hooks within the mission waypoint plan.</p>
<p> Use the method <a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> to define the hook functions for specific waypoints.
<p> Use the method <a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> to define the hook functions for specific waypoints.
Use the method @{Controllable@CONTROLLABLE:WayPointExecute) to start the execution of the new mission plan.
Note that when WayPointInitialize is called, the Mission of the controllable is RESTARTED!</p>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</a></li>
<li>Database</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="Fsm.html">Fsm</a></li>
@@ -76,7 +77,7 @@
<hr/>
<h1>1) <a href="Core.Database.html##(DATABASE)">Core.Database#DATABASE</a> class, extends <a href="Core.Base.html##(BASE)">Core.Base#BASE</a></h1>
<h1>1) <a href="##(DATABASE)">#DATABASE</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p>Mission designers can use the DATABASE class to refer to:</p>
<ul>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</a></li>
<li><a href="Database.html">Database</a></li>
<li>Detection</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="Fsm.html">Fsm</a></li>
@@ -75,12 +76,12 @@
<h1> </h1>
<h1> 1) <a href="Functional.Detection.html##(DETECTION_BASE)">Functional.Detection#DETECTION_BASE</a> class, extends <a href="Core.Base.html##(BASE)">Core.Base#BASE</a></h1>
<p> The <a href="Functional.Detection.html##(DETECTION_BASE)">Functional.Detection#DETECTION_BASE</a> class defines the core functions to administer detected objects.
The <a href="Functional.Detection.html##(DETECTION_BASE)">Functional.Detection#DETECTION_BASE</a> class will detect objects within the battle zone for a list of <a href="Group.html">Group</a>s detecting targets following (a) detection method(s).</p>
<h1> 1) <a href="Detection.html##(DETECTION_BASE)">Detection#DETECTION_BASE</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p> The <a href="Detection.html##(DETECTION_BASE)">Detection#DETECTION_BASE</a> class defines the core functions to administer detected objects.
The <a href="Detection.html##(DETECTION_BASE)">Detection#DETECTION_BASE</a> class will detect objects within the battle zone for a list of <a href="Group.html">Group</a>s detecting targets following (a) detection method(s).</p>
<h2> 1.1) DETECTION_BASE constructor</h2>
<p> Construct a new DETECTION_BASE instance using the <a href="Functional.Detection.html##(DETECTION_BASE).New">Functional.Detection#DETECTION_BASE.New</a>() method.</p>
<p> Construct a new DETECTION_BASE instance using the <a href="Detection.html##(DETECTION_BASE).New">Detection#DETECTION_BASE.New</a>() method.</p>
<h2> 1.2) DETECTION_BASE initialization</h2>
<p> By default, detection will return detected objects with all the detection sensors available.
@@ -91,42 +92,42 @@
<p> Use the following functions to report the objects it detected using the methods Visual, Optical, Radar, IRST, RWR, DLINK:</p>
<ul>
<li><a href="Functional.Detection.html##(DETECTION_BASE).InitDetectVisual">Functional.Detection#DETECTION_BASE.InitDetectVisual</a>(): Detected using Visual.</li>
<li><a href="Functional.Detection.html##(DETECTION_BASE).InitDetectOptical">Functional.Detection#DETECTION_BASE.InitDetectOptical</a>(): Detected using Optical.</li>
<li><a href="Functional.Detection.html##(DETECTION_BASE).InitDetectRadar">Functional.Detection#DETECTION_BASE.InitDetectRadar</a>(): Detected using Radar.</li>
<li><a href="Functional.Detection.html##(DETECTION_BASE).InitDetectIRST">Functional.Detection#DETECTION_BASE.InitDetectIRST</a>(): Detected using IRST.</li>
<li><a href="Functional.Detection.html##(DETECTION_BASE).InitDetectRWR">Functional.Detection#DETECTION_BASE.InitDetectRWR</a>(): Detected using RWR.</li>
<li><a href="Functional.Detection.html##(DETECTION_BASE).InitDetectDLINK">Functional.Detection#DETECTION_BASE.InitDetectDLINK</a>(): Detected using DLINK.</li>
<li><a href="Detection.html##(DETECTION_BASE).InitDetectVisual">Detection#DETECTION_BASE.InitDetectVisual</a>(): Detected using Visual.</li>
<li><a href="Detection.html##(DETECTION_BASE).InitDetectOptical">Detection#DETECTION_BASE.InitDetectOptical</a>(): Detected using Optical.</li>
<li><a href="Detection.html##(DETECTION_BASE).InitDetectRadar">Detection#DETECTION_BASE.InitDetectRadar</a>(): Detected using Radar.</li>
<li><a href="Detection.html##(DETECTION_BASE).InitDetectIRST">Detection#DETECTION_BASE.InitDetectIRST</a>(): Detected using IRST.</li>
<li><a href="Detection.html##(DETECTION_BASE).InitDetectRWR">Detection#DETECTION_BASE.InitDetectRWR</a>(): Detected using RWR.</li>
<li><a href="Detection.html##(DETECTION_BASE).InitDetectDLINK">Detection#DETECTION_BASE.InitDetectDLINK</a>(): Detected using DLINK.</li>
</ul>
<h2> 1.3) Obtain objects detected by DETECTION_BASE</h2>
<p> DETECTION_BASE builds <a href="Set.html">Set</a>s of objects detected. These <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a>s can be retrieved using the method <a href="Functional.Detection.html##(DETECTION_BASE).GetDetectedSets">Functional.Detection#DETECTION_BASE.GetDetectedSets</a>().
The method will return a list (table) of <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a> objects.</p>
<p> DETECTION_BASE builds <a href="Set.html">Set</a>s of objects detected. These <a href="Set.html##(SET_BASE)">Set#SET_BASE</a>s can be retrieved using the method <a href="Detection.html##(DETECTION_BASE).GetDetectedSets">Detection#DETECTION_BASE.GetDetectedSets</a>().
The method will return a list (table) of <a href="Set.html##(SET_BASE)">Set#SET_BASE</a> objects.</p>
<hr/>
<h1> 2) <a href="Functional.Detection.html##(DETECTION_AREAS)">Functional.Detection#DETECTION_AREAS</a> class, extends <a href="Functional.Detection.html##(DETECTION_BASE)">Functional.Detection#DETECTION_BASE</a></h1>
<p> The <a href="Functional.Detection.html##(DETECTION_AREAS)">Functional.Detection#DETECTION_AREAS</a> class will detect units within the battle zone for a list of <a href="Group.html">Group</a>s detecting targets following (a) detection method(s),
and will build a list (table) of <a href="Core.Set.html##(SET_UNIT)">Core.Set#SET_UNIT</a>s containing the <a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a>s detected.
<h1> 2) <a href="Detection.html##(DETECTION_AREAS)">Detection#DETECTION_AREAS</a> class, extends <a href="Detection.html##(DETECTION_BASE)">Detection#DETECTION_BASE</a></h1>
<p> The <a href="Detection.html##(DETECTION_AREAS)">Detection#DETECTION_AREAS</a> class will detect units within the battle zone for a list of <a href="Group.html">Group</a>s detecting targets following (a) detection method(s),
and will build a list (table) of <a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a>s containing the <a href="Unit.html##(UNIT)">Unit#UNIT</a>s detected.
The class is group the detected units within zones given a DetectedZoneRange parameter.
A set with multiple detected zones will be created as there are groups of units detected.</p>
<h2> 2.1) Retrieve the Detected Unit sets and Detected Zones</h2>
<p> The DetectedUnitSets methods are implemented in <a href="Functional.Detection.html##(DECTECTION_BASE)">Functional.Detection#DECTECTION_BASE</a> and the DetectedZones methods is implemented in <a href="Functional.Detection.html##(DETECTION_AREAS)">Functional.Detection#DETECTION_AREAS</a>.</p>
<p> The DetectedUnitSets methods are implemented in <a href="Detection.html##(DECTECTION_BASE)">Detection#DECTECTION_BASE</a> and the DetectedZones methods is implemented in <a href="Detection.html##(DETECTION_AREAS)">Detection#DETECTION_AREAS</a>.</p>
<p> Retrieve the DetectedUnitSets with the method <a href="Functional.Detection.html##(DETECTION_BASE).GetDetectedSets">Functional.Detection#DETECTION_BASE.GetDetectedSets</a>(). A table will be return of <a href="Core.Set.html##(SET_UNIT)">Core.Set#SET_UNIT</a>s.
To understand the amount of sets created, use the method <a href="Functional.Detection.html##(DETECTION_BASE).GetDetectedSetCount">Functional.Detection#DETECTION_BASE.GetDetectedSetCount</a>().
If you want to obtain a specific set from the DetectedSets, use the method <a href="Functional.Detection.html##(DETECTION_BASE).GetDetectedSet">Functional.Detection#DETECTION_BASE.GetDetectedSet</a>() with a given index.</p>
<p> Retrieve the DetectedUnitSets with the method <a href="Detection.html##(DETECTION_BASE).GetDetectedSets">Detection#DETECTION_BASE.GetDetectedSets</a>(). A table will be return of <a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a>s.
To understand the amount of sets created, use the method <a href="Detection.html##(DETECTION_BASE).GetDetectedSetCount">Detection#DETECTION_BASE.GetDetectedSetCount</a>().
If you want to obtain a specific set from the DetectedSets, use the method <a href="Detection.html##(DETECTION_BASE).GetDetectedSet">Detection#DETECTION_BASE.GetDetectedSet</a>() with a given index.</p>
<p> Retrieve the formed <a href="Zone.html">Zone</a>s as a result of the grouping the detected units within the DetectionZoneRange, use the method <a href="Functional.Detection.html##(DETECTION_BASE).GetDetectionZones">Functional.Detection#DETECTION_BASE.GetDetectionZones</a>().
To understand the amount of zones created, use the method <a href="Functional.Detection.html##(DETECTION_BASE).GetDetectionZoneCount">Functional.Detection#DETECTION_BASE.GetDetectionZoneCount</a>().
If you want to obtain a specific zone from the DetectedZones, use the method <a href="Functional.Detection.html##(DETECTION_BASE).GetDetectionZone">Functional.Detection#DETECTION_BASE.GetDetectionZone</a>() with a given index.</p>
<p> Retrieve the formed <a href="Zone.html">Zone</a>s as a result of the grouping the detected units within the DetectionZoneRange, use the method <a href="Detection.html##(DETECTION_BASE).GetDetectionZones">Detection#DETECTION_BASE.GetDetectionZones</a>().
To understand the amount of zones created, use the method <a href="Detection.html##(DETECTION_BASE).GetDetectionZoneCount">Detection#DETECTION_BASE.GetDetectionZoneCount</a>().
If you want to obtain a specific zone from the DetectedZones, use the method <a href="Detection.html##(DETECTION_BASE).GetDetectionZone">Detection#DETECTION_BASE.GetDetectionZone</a>() with a given index.</p>
<h2> 1.4) Flare or Smoke detected units</h2>
<p> Use the methods <a href="Functional.Detection.html##(DETECTION_AREAS).FlareDetectedUnits">Functional.Detection#DETECTION_AREAS.FlareDetectedUnits</a>() or <a href="Functional.Detection.html##(DETECTION_AREAS).SmokeDetectedUnits">Functional.Detection#DETECTION_AREAS.SmokeDetectedUnits</a>() to flare or smoke the detected units when a new detection has taken place.</p>
<p> Use the methods <a href="Detection.html##(DETECTION_AREAS).FlareDetectedUnits">Detection#DETECTION_AREAS.FlareDetectedUnits</a>() or <a href="Detection.html##(DETECTION_AREAS).SmokeDetectedUnits">Detection#DETECTION_AREAS.SmokeDetectedUnits</a>() to flare or smoke the detected units when a new detection has taken place.</p>
<h2> 1.5) Flare or Smoke detected zones</h2>
<p> Use the methods <a href="Functional.Detection.html##(DETECTION_AREAS).FlareDetectedZones">Functional.Detection#DETECTION_AREAS.FlareDetectedZones</a>() or <a href="Functional.Detection.html##(DETECTION_AREAS).SmokeDetectedZones">Functional.Detection#DETECTION_AREAS.SmokeDetectedZones</a>() to flare or smoke the detected zones when a new detection has taken place.</p>
<p> Use the methods <a href="Detection.html##(DETECTION_AREAS).FlareDetectedZones">Detection#DETECTION_AREAS.FlareDetectedZones</a>() or <a href="Detection.html##(DETECTION_AREAS).SmokeDetectedZones">Detection#DETECTION_AREAS.SmokeDetectedZones</a>() to flare or smoke the detected zones when a new detection has taken place.</p>
<hr/>
@@ -247,13 +248,13 @@
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_AREAS).GetDetectedSet">DETECTION_AREAS:GetDetectedSet(Index)</a></td>
<td class="summary">
<p>Get the <a href="Core.Set.html##(SET_UNIT)">Core.Set#SET_UNIT</a> of a detecttion area using a given numeric index.</p>
<p>Get the <a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a> of a detecttion area using a given numeric index.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_AREAS).GetDetectedZone">DETECTION_AREAS:GetDetectedZone(Index)</a></td>
<td class="summary">
<p>Get the <a href="Core.Zone.html##(ZONE_UNIT)">Core.Zone#ZONE_UNIT</a> of a detection area using a given numeric index.</p>
<p>Get the <a href="Zone.html##(ZONE_UNIT)">Zone#ZONE_UNIT</a> of a detection area using a given numeric index.</p>
</td>
</tr>
<tr>
@@ -489,7 +490,7 @@
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).GetDetectedSets">DETECTION_BASE:GetDetectedSets()</a></td>
<td class="summary">
<p>Get the detected <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a>s.</p>
<p>Get the detected <a href="Set.html##(SET_BASE)">Set#SET_BASE</a>s.</p>
</td>
</tr>
<tr>
@@ -585,7 +586,7 @@
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE)._DetectionScheduler">DETECTION_BASE:_DetectionScheduler(SchedulerName)</a></td>
<td class="summary">
<p>Form <a href="Set.html">Set</a>s of detected <a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a>s in an array of <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a>s.</p>
<p>Form <a href="Set.html">Set</a>s of detected <a href="Unit.html##(UNIT)">Unit#UNIT</a>s in an array of <a href="Set.html##(SET_BASE)">Set#SET_BASE</a>s.</p>
</td>
</tr>
</table>
@@ -987,7 +988,7 @@ DetectedAreas</p>
</dt>
<dd>
<p>Get the <a href="Core.Set.html##(SET_UNIT)">Core.Set#SET_UNIT</a> of a detecttion area using a given numeric index.</p>
<p>Get the <a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a> of a detecttion area using a given numeric index.</p>
<h3>Parameter</h3>
<ul>
@@ -1013,7 +1014,7 @@ DetectedSet</p>
</dt>
<dd>
<p>Get the <a href="Core.Zone.html##(ZONE_UNIT)">Core.Zone#ZONE_UNIT</a> of a detection area using a given numeric index.</p>
<p>Get the <a href="Zone.html##(ZONE_UNIT)">Zone#ZONE_UNIT</a> of a detection area using a given numeric index.</p>
<h3>Parameter</h3>
<ul>
@@ -1697,7 +1698,7 @@ Count</p>
</dt>
<dd>
<p>Get the detected <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a>s.</p>
<p>Get the detected <a href="Set.html##(SET_BASE)">Set#SET_BASE</a>s.</p>
<h3>Return value</h3>
@@ -2064,7 +2065,7 @@ self</p>
</dt>
<dd>
<p>Form <a href="Set.html">Set</a>s of detected <a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a>s in an array of <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a>s.</p>
<p>Form <a href="Set.html">Set</a>s of detected <a href="Unit.html##(UNIT)">Unit#UNIT</a>s in an array of <a href="Set.html##(SET_BASE)">Set#SET_BASE</a>s.</p>
<h3>Parameter</h3>
<ul>

File diff suppressed because it is too large Load Diff

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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>Escort</li>
<li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
@@ -155,7 +156,7 @@ Note that this is really fantastic, as you now have the dynamic of taking contro
<p>Create a new SPAWN object with the <a href="##(ESCORT).New">ESCORT.New</a> method:</p>
<ul>
<li><a href="##(ESCORT).New">ESCORT.New</a>: Creates a new ESCORT object from a <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> for a <a href="Wrapper.Client.html##(CLIENT)">Wrapper.Client#CLIENT</a>, with an optional briefing text.</li>
<li><a href="##(ESCORT).New">ESCORT.New</a>: Creates a new ESCORT object from a <a href="Group.html##(GROUP)">Group#GROUP</a> for a <a href="Client.html##(CLIENT)">Client#CLIENT</a>, with an optional briefing text.</li>
</ul>
<h1>ESCORT initialization methods.</h1>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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>Event</li>
<li><a href="Fsm.html">Fsm</a></li>
@@ -124,7 +125,7 @@
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(EVENT).Init">EVENT:Init(EventID, EventClass)</a></td>
<td class="name" nowrap="nowrap"><a href="##(EVENT).Init">EVENT:Init(EventID, EventPriority, EventClass)</a></td>
<td class="summary">
<p>Initializes the Events structure for the event</p>
</td>
@@ -378,7 +379,7 @@
<tr>
<td class="name" nowrap="nowrap"><a href="##(EVENT).RemoveAll">EVENT:RemoveAll(EventObject)</a></td>
<td class="summary">
<p>Clears all event subscriptions for a <a href="Core.Base.html##(BASE)">Core.Base#BASE</a> derived object.</p>
<p>Clears all event subscriptions for a <a href="Base.html##(BASE)">Base#BASE</a> derived object.</p>
</td>
</tr>
<tr>
@@ -423,6 +424,12 @@
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniDCSUnitName">EVENTDATA.IniDCSUnitName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniGroup">EVENTDATA.IniGroup</a></td>
<td class="summary">
</td>
</tr>
<tr>
@@ -606,7 +613,7 @@
<dt>
<a id="#(EVENT).Init" >
<strong>EVENT:Init(EventID, EventClass)</strong>
<strong>EVENT:Init(EventID, EventPriority, EventClass)</strong>
</a>
</dt>
<dd>
@@ -622,6 +629,12 @@
</li>
<li>
<p><code><em>#number EventPriority </em></code>:
The priority of the EventClass.</p>
</li>
<li>
<p><code><em><a href="Core.Base.html##(BASE)">Core.Base#BASE</a> EventClass </em></code>: </p>
</li>
@@ -1978,7 +1991,7 @@ The self instance of the class for which the event is.</p>
</dt>
<dd>
<p>Clears all event subscriptions for a <a href="Core.Base.html##(BASE)">Core.Base#BASE</a> derived object.</p>
<p>Clears all event subscriptions for a <a href="Base.html##(BASE)">Base#BASE</a> derived object.</p>
<h3>Parameter</h3>
<ul>
@@ -2087,6 +2100,20 @@ The self instance of the class for which the event is.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(EVENTDATA).IniGroup" >
<strong>EVENTDATA.IniGroup</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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>Fsm</li>
@@ -77,6 +78,8 @@
<p><img src="..\Presentations\FSM\Dia1.JPG" alt="Banner Image"/></p>
<hr/>
<p>A FSM can only be in one of a finite number of states.
The machine is in only one state at a time; the state it is in at any given time is called the <strong>current state</strong>.
It can change from one state to another when initiated by an <strong><strong>internal</strong> or <strong>external</strong> triggering event</strong>, which is called a <strong>transition</strong>.
@@ -124,7 +127,7 @@ Additionally, I've added extendability and created an API that allows seamless F
<hr/>
<h1>1) <a href="Core.Fsm.html##(FSM)">Core.Fsm#FSM</a> class, extends <a href="Core.Base.html##(BASE)">Core.Base#BASE</a></h1>
<h1>1) <a href="##(FSM)">#FSM</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p><img src="..\Presentations\FSM\Dia3.JPG" alt="Transition Rules and Transition Handlers and Event Triggers"/></p>
@@ -1482,7 +1485,7 @@ A string defining the start state.</p>
<dl class="function">
<dt>
<em>#string</em>
<em></em>
<a id="#(FSM)._StartState" >
<strong>FSM._StartState</strong>
</a>
@@ -1776,6 +1779,7 @@ A string defining the start state.</p>
<dl class="function">
<dt>
<em></em>
<a id="#(FSM).current" >
<strong>FSM.current</strong>
</a>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -74,8 +75,8 @@
<h1>1) <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> class, extends <a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a></h1>
<p>The <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> class is a wrapper class to handle the DCS Group objects:</p>
<h1>1) <a href="Group.html##(GROUP)">Group#GROUP</a> class, extends <a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a></h1>
<p>The <a href="Group.html##(GROUP)">Group#GROUP</a> class is a wrapper class to handle the DCS Group objects:</p>
<ul>
<li>Support all DCS Group APIs.</li>
@@ -113,7 +114,7 @@ If the DCS Group object does not exist or is nil, the GROUP methods will return
<p>Group templates contain complete mission descriptions. Sometimes you want to copy a complete mission from a group and assign it to another:</p>
<ul>
<li><a href="Wrapper.Controllable.html##(CONTROLLABLE).TaskMission">Wrapper.Controllable#CONTROLLABLE.TaskMission</a>: (AIR + GROUND) Return a mission task from a mission template.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskMission">Controllable#CONTROLLABLE.TaskMission</a>: (AIR + GROUND) Return a mission task from a mission template.</li>
</ul>
<h2>1.3) GROUP Command methods</h2>
@@ -135,7 +136,7 @@ Use the following Zone validation methods on the group:</p>
<li><a href="##(GROUP).IsNotInZone">GROUP.IsNotInZone</a>: Returns true if none of the group units of the group are within a <a href="Zone.html">Zone</a>.</li>
</ul>
<p>The zone can be of any <a href="Zone.html">Zone</a> class derived from <a href="Core.Zone.html##(ZONE_BASE)">Core.Zone#ZONE_BASE</a>. So, these methods are polymorphic to the zones tested on.</p>
<p>The zone can be of any <a href="Zone.html">Zone</a> class derived from <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a>. So, these methods are polymorphic to the zones tested on.</p>
<h2>1.6) GROUP AI methods</h2>
@@ -221,7 +222,7 @@ Use the following Zone validation methods on the group:</p>
<tr>
<td class="name" nowrap="nowrap"><a href="##(GROUP).CopyRoute">GROUP:CopyRoute(Begin, End, Randomize, Radius)</a></td>
<td class="summary">
<p>Return the route of a group by using the <a href="Core.Database.html##(DATABASE)">Core.Database#DATABASE</a> class.</p>
<p>Return the route of a group by using the <a href="Database.html##(DATABASE)">Database#DATABASE</a> class.</p>
</td>
</tr>
<tr>
@@ -319,7 +320,7 @@ Use the following Zone validation methods on the group:</p>
<tr>
<td class="name" nowrap="nowrap"><a href="##(GROUP).GetPositionVec3">GROUP:GetPositionVec3()</a></td>
<td class="summary">
<p>Returns the <a href="Dcs.DCSTypes.html##(Position3)">Dcs.DCSTypes#Position3</a> position vectors indicating the point and direction vectors in 3D of the POSITIONABLE within the mission.</p>
<p>Returns the <a href="DCSTypes.html##(Position3)">DCSTypes#Position3</a> position vectors indicating the point and direction vectors in 3D of the POSITIONABLE within the mission.</p>
</td>
</tr>
<tr>
@@ -584,7 +585,7 @@ All units on the ground result.</p>
</dt>
<dd>
<p>Return the route of a group by using the <a href="Core.Database.html##(DATABASE)">Core.Database#DATABASE</a> class.</p>
<p>Return the route of a group by using the <a href="Database.html##(DATABASE)">Database#DATABASE</a> class.</p>
<h3>Parameters</h3>
<ul>
@@ -947,7 +948,7 @@ Minimum height found.</p>
</dt>
<dd>
<p>Returns the <a href="Dcs.DCSTypes.html##(Position3)">Dcs.DCSTypes#Position3</a> position vectors indicating the point and direction vectors in 3D of the POSITIONABLE within the mission.</p>
<p>Returns the <a href="DCSTypes.html##(Position3)">DCSTypes#Position3</a> position vectors indicating the point and direction vectors in 3D of the POSITIONABLE within the mission.</p>
<h3>Return values</h3>
<ol>
@@ -1250,7 +1251,7 @@ The zone to test.</p>
<h3>Return value</h3>
<p><em>#boolean:</em>
Returns true if the Group is completely within the <a href="Core.Zone.html##(ZONE_BASE)">Core.Zone#ZONE_BASE</a></p>
Returns true if the Group is completely within the <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></p>
</dd>
</dl>
@@ -1313,7 +1314,7 @@ The zone to test.</p>
<h3>Return value</h3>
<p><em>#boolean:</em>
Returns true if the Group is completely within the <a href="Core.Zone.html##(ZONE_BASE)">Core.Zone#ZONE_BASE</a></p>
Returns true if the Group is completely within the <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></p>
</dd>
</dl>
@@ -1340,7 +1341,7 @@ The zone to test.</p>
<h3>Return value</h3>
<p><em>#boolean:</em>
Returns true if the Group is completely within the <a href="Core.Zone.html##(ZONE_BASE)">Core.Zone#ZONE_BASE</a></p>
Returns true if the Group is completely within the <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></p>
</dd>
</dl>
@@ -1422,7 +1423,7 @@ self</p>
<p>Respawn the <a href="GROUP.html">GROUP</a> using a (tweaked) template of the Group.</p>
<p>The template must be retrieved with the <a href="Wrapper.Group.html##(GROUP).GetTemplate">Wrapper.Group#GROUP.GetTemplate</a>() function.
<p>The template must be retrieved with the <a href="Group.html##(GROUP).GetTemplate">Group#GROUP.GetTemplate</a>() function.
The template contains all the definitions as declared within the mission file.
To understand templates, do the following: </p>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -74,7 +75,7 @@
<h1>1) <a href="##(IDENTIFIABLE)">#IDENTIFIABLE</a> class, extends <a href="Wrapper.Object.html##(OBJECT)">Wrapper.Object#OBJECT</a></h1>
<h1>1) <a href="##(IDENTIFIABLE)">#IDENTIFIABLE</a> class, extends <a href="Object.html##(OBJECT)">Object#OBJECT</a></h1>
<p>The <a href="##(IDENTIFIABLE)">#IDENTIFIABLE</a> class is a wrapper class to handle the DCS Identifiable objects:</p>
<ul>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -74,8 +75,6 @@
<p> There is a small note... When you see a class like MENU<em>COMMAND</em>COALITION with COMMAND in italic, it acutally represents it like this: <code>MENU_COMMAND_COALITION</code>.</p>
<hr/>
<p>DCS Menus can be managed using the MENU classes.
@@ -90,19 +89,19 @@ On top, MOOSE implements <strong>variable parameter</strong> passing for command
<h3>To manage <strong>main menus</strong>, the classes begin with <strong>MENU_</strong>:</h3>
<ul>
<li><a href="Core.Menu.html##(MENU_MISSION)">Core.Menu#MENU_MISSION</a>: Manages main menus for whole mission file.</li>
<li><a href="Core.Menu.html##(MENU_COALITION)">Core.Menu#MENU_COALITION</a>: Manages main menus for whole coalition.</li>
<li><a href="Core.Menu.html##(MENU_GROUP)">Core.Menu#MENU_GROUP</a>: Manages main menus for GROUPs.</li>
<li><a href="Core.Menu.html##(MENU_CLIENT)">Core.Menu#MENU_CLIENT</a>: Manages main menus for CLIENTs. This manages menus for units with the skill level "Client".</li>
<li><a href="Menu.html##(MENU_MISSION)">Menu#MENU_MISSION</a>: Manages main menus for whole mission file.</li>
<li><a href="Menu.html##(MENU_COALITION)">Menu#MENU_COALITION</a>: Manages main menus for whole coalition.</li>
<li><a href="Menu.html##(MENU_GROUP)">Menu#MENU_GROUP</a>: Manages main menus for GROUPs.</li>
<li><a href="Menu.html##(MENU_CLIENT)">Menu#MENU_CLIENT</a>: Manages main menus for CLIENTs. This manages menus for units with the skill level "Client".</li>
</ul>
<h3>To manage <strong>command menus</strong>, which are menus that allow the player to issue <strong>functions</strong>, the classes begin with <strong>MENU<em>COMMAND</em></strong>:</h3>
<ul>
<li><a href="Core.Menu.html##(MENU_MISSION_COMMAND)">Core.Menu#MENU<em>MISSION</em>COMMAND</a>: Manages command menus for whole mission file.</li>
<li><a href="Core.Menu.html##(MENU_COALITION_COMMAND)">Core.Menu#MENU<em>COALITION</em>COMMAND</a>: Manages command menus for whole coalition.</li>
<li><a href="Core.Menu.html##(MENU_GROUP_COMMAND)">Core.Menu#MENU<em>GROUP</em>COMMAND</a>: Manages command menus for GROUPs.</li>
<li><a href="Core.Menu.html##(MENU_CLIENT_COMMAND)">Core.Menu#MENU<em>CLIENT</em>COMMAND</a>: Manages command menus for CLIENTs. This manages menus for units with the skill level "Client".</li>
<li><a href="Menu.html##(MENU_MISSION_COMMAND)">Menu#MENU<em>MISSION</em>COMMAND</a>: Manages command menus for whole mission file.</li>
<li><a href="Menu.html##(MENU_COALITION_COMMAND)">Menu#MENU<em>COALITION</em>COMMAND</a>: Manages command menus for whole coalition.</li>
<li><a href="Menu.html##(MENU_GROUP_COMMAND)">Menu#MENU<em>GROUP</em>COMMAND</a>: Manages command menus for GROUPs.</li>
<li><a href="Menu.html##(MENU_CLIENT_COMMAND)">Menu#MENU<em>CLIENT</em>COMMAND</a>: Manages command menus for CLIENTs. This manages menus for units with the skill level "Client".</li>
</ul>
<hr/>
@@ -114,10 +113,10 @@ On top, MOOSE implements <strong>variable parameter</strong> passing for command
These are simply abstract base classes defining a couple of fields that are used by the
derived MENU_ classes to manage menus.</p>
<h2>1.1) <a href="Core.Menu.html##(MENU_BASE)">Core.Menu#MENU_BASE</a> class, extends <a href="Core.Base.html##(BASE)">Core.Base#BASE</a></h2>
<h2>1.1) <a href="##(MENU_BASE)">#MENU_BASE</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h2>
<p>The <a href="##(MENU_BASE)">#MENU_BASE</a> class defines the main MENU class where other MENU classes are derived from.</p>
<h2>1.2) <a href="Core.Menu.html##(MENU_COMMAND_BASE)">Core.Menu#MENU<em>COMMAND</em>BASE</a> class, extends <a href="Core.Base.html##(BASE)">Core.Base#BASE</a></h2>
<h2>1.2) <a href="##(MENU_COMMAND_BASE)">#MENU<em>COMMAND</em>BASE</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h2>
<p>The <a href="##(MENU_COMMAND_BASE)">#MENU<em>COMMAND</em>BASE</a> class defines the main MENU class where other MENU COMMAND_ classes are derived from, in order to set commands.</p>
<hr/>
@@ -127,13 +126,13 @@ derived MENU_ classes to manage menus.</p>
<h1>2) MENU MISSION classes</h1>
<p>The underlying classes manage the menus for a complete mission file.</p>
<h2>2.1) <a href="Menu.html##(MENU_MISSION)">Menu#MENU_MISSION</a> class, extends <a href="Core.Menu.html##(MENU_BASE)">Core.Menu#MENU_BASE</a></h2>
<p>The <a href="Core.Menu.html##(MENU_MISSION)">Core.Menu#MENU_MISSION</a> class manages the main menus for a complete mission. <br/>
<h2>2.1) <a href="##(MENU_MISSION)">#MENU_MISSION</a> class, extends <a href="Menu.html##(MENU_BASE)">Menu#MENU_BASE</a></h2>
<p>The <a href="Menu.html##(MENU_MISSION)">Menu#MENU_MISSION</a> class manages the main menus for a complete mission. <br/>
You can add menus with the <a href="##(MENU_MISSION).New">MENU_MISSION.New</a> method, which constructs a MENU_MISSION object and returns you the object reference.
Using this object reference, you can then remove ALL the menus and submenus underlying automatically with <a href="##(MENU_MISSION).Remove">MENU_MISSION.Remove</a>.</p>
<h2>2.2) <a href="Menu.html##(MENU_MISSION_COMMAND)">Menu#MENU<em>MISSION</em>COMMAND</a> class, extends <a href="Core.Menu.html##(MENU_COMMAND_BASE)">Core.Menu#MENU<em>COMMAND</em>BASE</a></h2>
<p>The <a href="Core.Menu.html##(MENU_MISSION_COMMAND)">Core.Menu#MENU<em>MISSION</em>COMMAND</a> class manages the command menus for a complete mission, which allow players to execute functions during mission execution. <br/>
<h2>2.2) <a href="##(MENU_MISSION_COMMAND)">#MENU<em>MISSION</em>COMMAND</a> class, extends <a href="Menu.html##(MENU_COMMAND_BASE)">Menu#MENU<em>COMMAND</em>BASE</a></h2>
<p>The <a href="Menu.html##(MENU_MISSION_COMMAND)">Menu#MENU<em>MISSION</em>COMMAND</a> class manages the command menus for a complete mission, which allow players to execute functions during mission execution. <br/>
You can add menus with the <a href="##(MENU_MISSION_COMMAND).New">MENU<em>MISSION</em>COMMAND.New</a> method, which constructs a MENU<em>MISSION</em>COMMAND object and returns you the object reference.
Using this object reference, you can then remove ALL the menus and submenus underlying automatically with <a href="##(MENU_MISSION_COMMAND).Remove">MENU<em>MISSION</em>COMMAND.Remove</a>.</p>
@@ -142,13 +141,13 @@ Using this object reference, you can then remove ALL the menus and submenus unde
<h1>3) MENU COALITION classes</h1>
<p>The underlying classes manage the menus for whole coalitions.</p>
<h2>3.1) <a href="Menu.html##(MENU_COALITION)">Menu#MENU_COALITION</a> class, extends <a href="Core.Menu.html##(MENU_BASE)">Core.Menu#MENU_BASE</a></h2>
<p>The <a href="Core.Menu.html##(MENU_COALITION)">Core.Menu#MENU_COALITION</a> class manages the main menus for coalitions. <br/>
<h2>3.1) <a href="##(MENU_COALITION)">#MENU_COALITION</a> class, extends <a href="Menu.html##(MENU_BASE)">Menu#MENU_BASE</a></h2>
<p>The <a href="Menu.html##(MENU_COALITION)">Menu#MENU_COALITION</a> class manages the main menus for coalitions. <br/>
You can add menus with the <a href="##(MENU_COALITION).New">MENU_COALITION.New</a> method, which constructs a MENU_COALITION object and returns you the object reference.
Using this object reference, you can then remove ALL the menus and submenus underlying automatically with <a href="##(MENU_COALITION).Remove">MENU_COALITION.Remove</a>.</p>
<h2>3.2) <a href="Menu.html##(MENU_COALITION_COMMAND)">Menu#MENU<em>COALITION</em>COMMAND</a> class, extends <a href="Core.Menu.html##(MENU_COMMAND_BASE)">Core.Menu#MENU<em>COMMAND</em>BASE</a></h2>
<p>The <a href="Core.Menu.html##(MENU_COALITION_COMMAND)">Core.Menu#MENU<em>COALITION</em>COMMAND</a> class manages the command menus for coalitions, which allow players to execute functions during mission execution. <br/>
<h2>3.2) <a href="Menu.html##(MENU_COALITION_COMMAND)">Menu#MENU<em>COALITION</em>COMMAND</a> class, extends <a href="Menu.html##(MENU_COMMAND_BASE)">Menu#MENU<em>COMMAND</em>BASE</a></h2>
<p>The <a href="Menu.html##(MENU_COALITION_COMMAND)">Menu#MENU<em>COALITION</em>COMMAND</a> class manages the command menus for coalitions, which allow players to execute functions during mission execution. <br/>
You can add menus with the <a href="##(MENU_COALITION_COMMAND).New">MENU<em>COALITION</em>COMMAND.New</a> method, which constructs a MENU<em>COALITION</em>COMMAND object and returns you the object reference.
Using this object reference, you can then remove ALL the menus and submenus underlying automatically with <a href="##(MENU_COALITION_COMMAND).Remove">MENU<em>COALITION</em>COMMAND.Remove</a>.</p>
@@ -157,13 +156,13 @@ Using this object reference, you can then remove ALL the menus and submenus unde
<h1>4) MENU GROUP classes</h1>
<p>The underlying classes manage the menus for groups. Note that groups can be inactive, alive or can be destroyed.</p>
<h2>4.1) <a href="Menu.html##(MENU_GROUP)">Menu#MENU_GROUP</a> class, extends <a href="Core.Menu.html##(MENU_BASE)">Core.Menu#MENU_BASE</a></h2>
<p>The <a href="Core.Menu.html##(MENU_GROUP)">Core.Menu#MENU_GROUP</a> class manages the main menus for coalitions. <br/>
<h2>4.1) <a href="Menu.html##(MENU_GROUP)">Menu#MENU_GROUP</a> class, extends <a href="Menu.html##(MENU_BASE)">Menu#MENU_BASE</a></h2>
<p>The <a href="Menu.html##(MENU_GROUP)">Menu#MENU_GROUP</a> class manages the main menus for coalitions. <br/>
You can add menus with the <a href="##(MENU_GROUP).New">MENU_GROUP.New</a> method, which constructs a MENU_GROUP object and returns you the object reference.
Using this object reference, you can then remove ALL the menus and submenus underlying automatically with <a href="##(MENU_GROUP).Remove">MENU_GROUP.Remove</a>.</p>
<h2>4.2) <a href="Menu.html##(MENU_GROUP_COMMAND)">Menu#MENU<em>GROUP</em>COMMAND</a> class, extends <a href="Core.Menu.html##(MENU_COMMAND_BASE)">Core.Menu#MENU<em>COMMAND</em>BASE</a></h2>
<p>The <a href="Core.Menu.html##(MENU_GROUP_COMMAND)">Core.Menu#MENU<em>GROUP</em>COMMAND</a> class manages the command menus for coalitions, which allow players to execute functions during mission execution. <br/>
<h2>4.2) <a href="Menu.html##(MENU_GROUP_COMMAND)">Menu#MENU<em>GROUP</em>COMMAND</a> class, extends <a href="Menu.html##(MENU_COMMAND_BASE)">Menu#MENU<em>COMMAND</em>BASE</a></h2>
<p>The <a href="Menu.html##(MENU_GROUP_COMMAND)">Menu#MENU<em>GROUP</em>COMMAND</a> class manages the command menus for coalitions, which allow players to execute functions during mission execution. <br/>
You can add menus with the <a href="##(MENU_GROUP_COMMAND).New">MENU<em>GROUP</em>COMMAND.New</a> method, which constructs a MENU<em>GROUP</em>COMMAND object and returns you the object reference.
Using this object reference, you can then remove ALL the menus and submenus underlying automatically with <a href="##(MENU_GROUP_COMMAND).Remove">MENU<em>GROUP</em>COMMAND.Remove</a>.</p>
@@ -172,13 +171,13 @@ Using this object reference, you can then remove ALL the menus and submenus unde
<h1>5) MENU CLIENT classes</h1>
<p>The underlying classes manage the menus for units with skill level client or player.</p>
<h2>5.1) <a href="Menu.html##(MENU_CLIENT)">Menu#MENU_CLIENT</a> class, extends <a href="Core.Menu.html##(MENU_BASE)">Core.Menu#MENU_BASE</a></h2>
<p>The <a href="Core.Menu.html##(MENU_CLIENT)">Core.Menu#MENU_CLIENT</a> class manages the main menus for coalitions. <br/>
<h2>5.1) <a href="Menu.html##(MENU_CLIENT)">Menu#MENU_CLIENT</a> class, extends <a href="Menu.html##(MENU_BASE)">Menu#MENU_BASE</a></h2>
<p>The <a href="Menu.html##(MENU_CLIENT)">Menu#MENU_CLIENT</a> class manages the main menus for coalitions. <br/>
You can add menus with the <a href="##(MENU_CLIENT).New">MENU_CLIENT.New</a> method, which constructs a MENU_CLIENT object and returns you the object reference.
Using this object reference, you can then remove ALL the menus and submenus underlying automatically with <a href="##(MENU_CLIENT).Remove">MENU_CLIENT.Remove</a>.</p>
<h2>5.2) <a href="Menu.html##(MENU_CLIENT_COMMAND)">Menu#MENU<em>CLIENT</em>COMMAND</a> class, extends <a href="Core.Menu.html##(MENU_COMMAND_BASE)">Core.Menu#MENU<em>COMMAND</em>BASE</a></h2>
<p>The <a href="Core.Menu.html##(MENU_CLIENT_COMMAND)">Core.Menu#MENU<em>CLIENT</em>COMMAND</a> class manages the command menus for coalitions, which allow players to execute functions during mission execution. <br/>
<h2>5.2) <a href="Menu.html##(MENU_CLIENT_COMMAND)">Menu#MENU<em>CLIENT</em>COMMAND</a> class, extends <a href="Menu.html##(MENU_COMMAND_BASE)">Menu#MENU<em>COMMAND</em>BASE</a></h2>
<p>The <a href="Menu.html##(MENU_CLIENT_COMMAND)">Menu#MENU<em>CLIENT</em>COMMAND</a> class manages the command menus for coalitions, which allow players to execute functions during mission execution. <br/>
You can add menus with the <a href="##(MENU_CLIENT_COMMAND).New">MENU<em>CLIENT</em>COMMAND.New</a> method, which constructs a MENU<em>CLIENT</em>COMMAND object and returns you the object reference.
Using this object reference, you can then remove ALL the menus and submenus underlying automatically with <a href="##(MENU_CLIENT_COMMAND).Remove">MENU<em>CLIENT</em>COMMAND.Remove</a>.</p>
@@ -322,7 +321,7 @@ Using this object reference, you can then remove ALL the menus and submenus unde
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(MENU_CLIENT_COMMAND).New">MENU_CLIENT_COMMAND:New(Client, MenuText, ParentMenu, CommandMenuFunction, CommandMenuArgument, MenuClient, ...)</a></td>
<td class="name" nowrap="nowrap"><a href="##(MENU_CLIENT_COMMAND).New">MENU_CLIENT_COMMAND:New(Client, MenuText, ParentMenu, CommandMenuFunction, ...)</a></td>
<td class="summary">
<p>MENU<em>CLIENT</em>COMMAND constructor.</p>
</td>
@@ -1000,7 +999,7 @@ self</p>
<dt>
<a id="#(MENU_CLIENT_COMMAND).New" >
<strong>MENU_CLIENT_COMMAND:New(Client, MenuText, ParentMenu, CommandMenuFunction, CommandMenuArgument, MenuClient, ...)</strong>
<strong>MENU_CLIENT_COMMAND:New(Client, MenuText, ParentMenu, CommandMenuFunction, ...)</strong>
</a>
</dt>
<dd>
@@ -1038,17 +1037,6 @@ A function that is called when the menu key is pressed.</p>
</li>
<li>
<p><code><em> CommandMenuArgument </em></code>:
An argument for the function.</p>
</li>
<li>
<p><code><em> MenuClient </em></code>: </p>
</li>
<li>
<p><code><em> ... </em></code>: </p>
</li>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -74,22 +75,22 @@
<h1>1) <a href="Core.Message.html##(MESSAGE)">Core.Message#MESSAGE</a> class, extends <a href="Core.Base.html##(BASE)">Core.Base#BASE</a></h1>
<h1>1) <a href="Message.html##(MESSAGE)">Message#MESSAGE</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p>Message System to display Messages to Clients, Coalitions or All.
Messages are shown on the display panel for an amount of seconds, and will then disappear.
Messages can contain a category which is indicating the category of the message.</p>
<h2>1.1) MESSAGE construction methods</h2>
<p>Messages are created with <a href="Core.Message.html##(MESSAGE).New">Core.Message#MESSAGE.New</a>. Note that when the MESSAGE object is created, no message is sent yet.
<p>Messages are created with <a href="Message.html##(MESSAGE).New">Message#MESSAGE.New</a>. Note that when the MESSAGE object is created, no message is sent yet.
To send messages, you need to use the To functions.</p>
<h2>1.2) Send messages with MESSAGE To methods</h2>
<p>Messages are sent to:</p>
<ul>
<li>Clients with <a href="Core.Message.html##(MESSAGE).ToClient">Core.Message#MESSAGE.ToClient</a>.</li>
<li>Coalitions with <a href="Core.Message.html##(MESSAGE).ToCoalition">Core.Message#MESSAGE.ToCoalition</a>.</li>
<li>All Players with <a href="Core.Message.html##(MESSAGE).ToAll">Core.Message#MESSAGE.ToAll</a>.
<li>Clients with <a href="Message.html##(MESSAGE).ToClient">Message#MESSAGE.ToClient</a>.</li>
<li>Coalitions with <a href="Message.html##(MESSAGE).ToCoalition">Message#MESSAGE.ToCoalition</a>.</li>
<li>All Players with <a href="Message.html##(MESSAGE).ToAll">Message#MESSAGE.ToAll</a>.
</li>
</ul>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -76,7 +77,7 @@
<hr/>
<h1>1) <a href="Functional.MissileTrainer.html##(MISSILETRAINER)">Functional.MissileTrainer#MISSILETRAINER</a> class, extends <a href="Core.Base.html##(BASE)">Core.Base#BASE</a></h1>
<h1>1) <a href="MissileTrainer.html##(MISSILETRAINER)">MissileTrainer#MISSILETRAINER</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p>The <a href="##(MISSILETRAINER)">#MISSILETRAINER</a> class uses the DCS world messaging system to be alerted of any missiles fired, and when a missile would hit your aircraft,
the class will destroy the missile within a certain range, to avoid damage to your aircraft.
It suports the following functionality:</p>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -256,7 +257,7 @@ A <a href="CLIENT.html">CLIENT</a> needs to be registered within the <a href="MI
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(MISSION).JoinUnit">MISSION:JoinUnit(PlayerUnit)</a></td>
<td class="name" nowrap="nowrap"><a href="##(MISSION).JoinUnit">MISSION:JoinUnit(PlayerUnit, PlayerGroup)</a></td>
<td class="summary">
<p>Add a Unit to join the Mission.</p>
</td>
@@ -1294,7 +1295,7 @@ env.info( "Task 2 Completion = " .. Tasks[2]:GetGoalPercentage() .. "%" )</code>
<dt>
<a id="#(MISSION).JoinUnit" >
<strong>MISSION:JoinUnit(PlayerUnit)</strong>
<strong>MISSION:JoinUnit(PlayerUnit, PlayerGroup)</strong>
</a>
</dt>
<dd>
@@ -1306,13 +1307,19 @@ env.info( "Task 2 Completion = " .. Tasks[2]:GetGoalPercentage() .. "%" )</code>
If the Unit was not part of a Task in the Mission, false is returned.
If the Unit is part of a Task in the Mission, true is returned.</p>
<h3>Parameter</h3>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a> PlayerUnit </em></code>:
The CLIENT or UNIT of the Player joining the Mission.</p>
</li>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> PlayerGroup </em></code>:
The GROUP of the player joining the Mission.</p>
</li>
</ul>
<h3>Return value</h3>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -74,8 +75,8 @@
<h1>1) <a href="Wrapper.Object.html##(OBJECT)">Wrapper.Object#OBJECT</a> class, extends <a href="Core.Base.html##(BASE)">Core.Base#BASE</a></h1>
<p>The <a href="Wrapper.Object.html##(OBJECT)">Wrapper.Object#OBJECT</a> class is a wrapper class to handle the DCS Object objects:</p>
<h1>1) <a href="Object.html##(OBJECT)">Object#OBJECT</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p>The <a href="Object.html##(OBJECT)">Object#OBJECT</a> class is a wrapper class to handle the DCS Object objects:</p>
<ul>
<li>Support all DCS Object APIs.</li>
@@ -87,14 +88,14 @@
<p>The OBJECT class provides the following functions to construct a OBJECT instance:</p>
<ul>
<li><a href="Wrapper.Object.html##(OBJECT).New">Wrapper.Object#OBJECT.New</a>(): Create a OBJECT instance.</li>
<li><a href="Object.html##(OBJECT).New">Object#OBJECT.New</a>(): Create a OBJECT instance.</li>
</ul>
<h2>1.2) OBJECT methods:</h2>
<p>The following methods can be used to identify an Object object:</p>
<ul>
<li><a href="Wrapper.Object.html##(OBJECT).GetID">Wrapper.Object#OBJECT.GetID</a>(): Returns the ID of the Object object.</li>
<li><a href="Object.html##(OBJECT).GetID">Object#OBJECT.GetID</a>(): Returns the ID of the Object object.</li>
</ul>
<hr/>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -74,8 +75,8 @@
<h1>1) <a href="Core.Point.html##(POINT_VEC3)">Core.Point#POINT_VEC3</a> class, extends <a href="Core.Base.html##(BASE)">Core.Base#BASE</a></h1>
<p>The <a href="Core.Point.html##(POINT_VEC3)">Core.Point#POINT_VEC3</a> class defines a 3D point in the simulator.</p>
<h1>1) <a href="Point.html##(POINT_VEC3)">Point#POINT_VEC3</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p>The <a href="Point.html##(POINT_VEC3)">Point#POINT_VEC3</a> class defines a 3D point in the simulator.</p>
<p><strong>Important Note:</strong> Most of the functions in this section were taken from MIST, and reworked to OO concepts.
In order to keep the credibility of the the author, I want to emphasize that the of the MIST framework was created by Grimes, who you can find on the Eagle Dynamics Forums.</p>
@@ -84,20 +85,20 @@ In order to keep the credibility of the the author, I want to emphasize that the
<p>A new POINT_VEC3 instance can be created with:</p>
<ul>
<li><a href="##(POINT_VEC3).New">POINT_VEC3.New</a>(): a 3D point.</li>
<li><a href="##(POINT_VEC3).NewFromVec3">POINT_VEC3.NewFromVec3</a>(): a 3D point created from a <a href="Dcs.DCSTypes.html##(Vec3)">Dcs.DCSTypes#Vec3</a>.</li>
<li><a href="Point.html##(POINT_VEC3).New">Point#POINT_VEC3.New</a>(): a 3D point.</li>
<li><a href="Point.html##(POINT_VEC3).NewFromVec3">Point#POINT_VEC3.NewFromVec3</a>(): a 3D point created from a <a href="DCSTypes.html##(Vec3)">DCSTypes#Vec3</a>.</li>
</ul>
<h1>2) <a href="Core.Point.html##(POINT_VEC2)">Core.Point#POINT_VEC2</a> class, extends <a href="Core.Point.html##(POINT_VEC3)">Core.Point#POINT_VEC3</a></h1>
<p>The <a href="Core.Point.html##(POINT_VEC2)">Core.Point#POINT_VEC2</a> class defines a 2D point in the simulator. The height coordinate (if needed) will be the land height + an optional added height specified.</p>
<h1>2) <a href="Point.html##(POINT_VEC2)">Point#POINT_VEC2</a> class, extends <a href="Point.html##(POINT_VEC3)">Point#POINT_VEC3</a></h1>
<p>The <a href="Point.html##(POINT_VEC2)">Point#POINT_VEC2</a> class defines a 2D point in the simulator. The height coordinate (if needed) will be the land height + an optional added height specified.</p>
<h2>2.1) POINT_VEC2 constructor</h2>
<p>A new POINT_VEC2 instance can be created with:</p>
<ul>
<li><a href="##(POINT_VEC2).New">POINT_VEC2.New</a>(): a 2D point, taking an additional height parameter.</li>
<li><a href="##(POINT_VEC2).NewFromVec2">POINT_VEC2.NewFromVec2</a>(): a 2D point created from a <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a>.</li>
<li><a href="Point.html##(POINT_VEC2).New">Point#POINT_VEC2.New</a>(): a 2D point, taking an additional height parameter.</li>
<li><a href="Point.html##(POINT_VEC2).NewFromVec2">Point#POINT_VEC2.NewFromVec2</a>(): a 2D point created from a <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>.</li>
</ul>
<hr/>
@@ -165,7 +166,7 @@ In order to keep the credibility of the the author, I want to emphasize that the
<tr>
<td class="name" nowrap="nowrap"><a href="##(POINT_VEC2).DistanceFromVec2">POINT_VEC2:DistanceFromVec2(Vec2Reference)</a></td>
<td class="summary">
<p>Calculate the distance from a reference <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a>.</p>
<p>Calculate the distance from a reference <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>.</p>
</td>
</tr>
<tr>
@@ -668,21 +669,21 @@ The distance from the reference <a href="##(POINT_VEC2)">#POINT_VEC2</a> in mete
</dt>
<dd>
<p>Calculate the distance from a reference <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a>.</p>
<p>Calculate the distance from a reference <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a> Vec2Reference </em></code>:
The reference <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a>.</p>
The reference <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="Dcs.DCSTypes.html##(Distance)">Dcs.DCSTypes#Distance</a>:</em>
The distance from the reference <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a> in meters.</p>
The distance from the reference <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> in meters.</p>
</dd>
</dl>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -74,8 +75,8 @@
<h1>1) <a href="Wrapper.Positionable.html##(POSITIONABLE)">Wrapper.Positionable#POSITIONABLE</a> class, extends <a href="Wrapper.Identifiable.html##(IDENTIFIABLE)">Wrapper.Identifiable#IDENTIFIABLE</a></h1>
<p>The <a href="Wrapper.Positionable.html##(POSITIONABLE)">Wrapper.Positionable#POSITIONABLE</a> class is a wrapper class to handle the POSITIONABLE objects:</p>
<h1>1) <a href="Positionable.html##(POSITIONABLE)">Positionable#POSITIONABLE</a> class, extends <a href="Identifiable.html##(IDENTIFIABLE)">Identifiable#IDENTIFIABLE</a></h1>
<p>The <a href="Positionable.html##(POSITIONABLE)">Positionable#POSITIONABLE</a> class is a wrapper class to handle the POSITIONABLE objects:</p>
<ul>
<li>Support all DCS APIs.</li>
@@ -87,15 +88,15 @@
<p>The POSITIONABLE class provides the following functions to construct a POSITIONABLE instance:</p>
<ul>
<li><a href="Wrapper.Positionable.html##(POSITIONABLE).New">Wrapper.Positionable#POSITIONABLE.New</a>(): Create a POSITIONABLE instance.</li>
<li><a href="Positionable.html##(POSITIONABLE).New">Positionable#POSITIONABLE.New</a>(): Create a POSITIONABLE instance.</li>
</ul>
<h2>1.2) POSITIONABLE methods:</h2>
<p>The following methods can be used to identify an measurable object:</p>
<ul>
<li><a href="Wrapper.Positionable.html##(POSITIONABLE).GetID">Wrapper.Positionable#POSITIONABLE.GetID</a>(): Returns the ID of the measurable object.</li>
<li><a href="Wrapper.Positionable.html##(POSITIONABLE).GetName">Wrapper.Positionable#POSITIONABLE.GetName</a>(): Returns the name of the measurable object.</li>
<li><a href="Positionable.html##(POSITIONABLE).GetID">Positionable#POSITIONABLE.GetID</a>(): Returns the ID of the measurable object.</li>
<li><a href="Positionable.html##(POSITIONABLE).GetName">Positionable#POSITIONABLE.GetName</a>(): Returns the name of the measurable object.</li>
</ul>
<hr/>
@@ -161,25 +162,25 @@
<tr>
<td class="name" nowrap="nowrap"><a href="##(POSITIONABLE).GetPositionVec3">POSITIONABLE:GetPositionVec3()</a></td>
<td class="summary">
<p>Returns the <a href="Dcs.DCSTypes.html##(Position3)">Dcs.DCSTypes#Position3</a> position vectors indicating the point and direction vectors in 3D of the POSITIONABLE within the mission.</p>
<p>Returns the <a href="DCSTypes.html##(Position3)">DCSTypes#Position3</a> position vectors indicating the point and direction vectors in 3D of the POSITIONABLE within the mission.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(POSITIONABLE).GetRandomVec3">POSITIONABLE:GetRandomVec3(Radius)</a></td>
<td class="summary">
<p>Returns a random <a href="Dcs.DCSTypes.html##(Vec3)">Dcs.DCSTypes#Vec3</a> vector within a range, indicating the point in 3D of the POSITIONABLE within the mission.</p>
<p>Returns a random <a href="DCSTypes.html##(Vec3)">DCSTypes#Vec3</a> vector within a range, indicating the point in 3D of the POSITIONABLE within the mission.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(POSITIONABLE).GetVec2">POSITIONABLE:GetVec2()</a></td>
<td class="summary">
<p>Returns the <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a> vector indicating the point in 2D of the POSITIONABLE within the mission.</p>
<p>Returns the <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> vector indicating the point in 2D of the POSITIONABLE within the mission.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(POSITIONABLE).GetVec3">POSITIONABLE:GetVec3()</a></td>
<td class="summary">
<p>Returns the <a href="Dcs.DCSTypes.html##(Vec3)">Dcs.DCSTypes#Vec3</a> vector indicating the 3D vector of the POSITIONABLE within the mission.</p>
<p>Returns the <a href="DCSTypes.html##(Vec3)">DCSTypes#Vec3</a> vector indicating the 3D vector of the POSITIONABLE within the mission.</p>
</td>
</tr>
<tr>
@@ -467,7 +468,7 @@ The POSITIONABLE is not existing or alive. </p>
</dt>
<dd>
<p>Returns the <a href="Dcs.DCSTypes.html##(Position3)">Dcs.DCSTypes#Position3</a> position vectors indicating the point and direction vectors in 3D of the POSITIONABLE within the mission.</p>
<p>Returns the <a href="DCSTypes.html##(Position3)">DCSTypes#Position3</a> position vectors indicating the point and direction vectors in 3D of the POSITIONABLE within the mission.</p>
<h3>Return values</h3>
<ol>
@@ -495,7 +496,7 @@ The POSITIONABLE is not existing or alive. </p>
</dt>
<dd>
<p>Returns a random <a href="Dcs.DCSTypes.html##(Vec3)">Dcs.DCSTypes#Vec3</a> vector within a range, indicating the point in 3D of the POSITIONABLE within the mission.</p>
<p>Returns a random <a href="DCSTypes.html##(Vec3)">DCSTypes#Vec3</a> vector within a range, indicating the point in 3D of the POSITIONABLE within the mission.</p>
<h3>Parameter</h3>
<ul>
@@ -531,7 +532,7 @@ The POSITIONABLE is not existing or alive. </p>
</dt>
<dd>
<p>Returns the <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a> vector indicating the point in 2D of the POSITIONABLE within the mission.</p>
<p>Returns the <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> vector indicating the point in 2D of the POSITIONABLE within the mission.</p>
<h3>Return values</h3>
<ol>
@@ -559,7 +560,7 @@ The POSITIONABLE is not existing or alive. </p>
</dt>
<dd>
<p>Returns the <a href="Dcs.DCSTypes.html##(Vec3)">Dcs.DCSTypes#Vec3</a> vector indicating the 3D vector of the POSITIONABLE within the mission.</p>
<p>Returns the <a href="DCSTypes.html##(Vec3)">DCSTypes#Vec3</a> vector indicating the 3D vector of the POSITIONABLE within the mission.</p>
<h3>Return values</h3>
<ol>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -76,7 +77,7 @@
<hr/>
<h1><a href="##(ACT_ROUTE)">#ACT_ROUTE</a> FSM class, extends <a href="Core.Fsm.html##(FSM_PROCESS)">Core.Fsm#FSM_PROCESS</a></h1>
<h1><a href="##(ACT_ROUTE)">#ACT_ROUTE</a> FSM class, extends <a href="Fsm.html##(FSM_PROCESS)">Fsm#FSM_PROCESS</a></h1>
<h2>ACT_ROUTE state machine:</h2>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -99,7 +100,7 @@ these will not be executed anymore when the SCHEDULER object has been destroyed.
<p>The SCHEDULEDISPATCHER allows multiple scheduled functions to be planned and executed for one SCHEDULER object.
The SCHEDULER object therefore keeps a table of "CallID's", which are returned after each planning of a new scheduled function by the SCHEDULEDISPATCHER.
The SCHEDULER object plans new scheduled functions through the <a href="Core.Scheduler.html##(SCHEDULER).Schedule">Core.Scheduler#SCHEDULER.Schedule</a>() method.
The SCHEDULER object plans new scheduled functions through the <a href="Scheduler.html##(SCHEDULER).Schedule">Scheduler#SCHEDULER.Schedule</a>() method.
The Schedule() method returns the CallID that is the reference ID for each planned schedule.</p>
<hr/>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -74,19 +75,19 @@
<h1>1) <a href="Core.Scheduler.html##(SCHEDULER)">Core.Scheduler#SCHEDULER</a> class, extends <a href="Core.Base.html##(BASE)">Core.Base#BASE</a></h1>
<h1>1) <a href="Scheduler.html##(SCHEDULER)">Scheduler#SCHEDULER</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p>The <a href="Core.Scheduler.html##(SCHEDULER)">Core.Scheduler#SCHEDULER</a> class creates schedule.</p>
<p>The <a href="Scheduler.html##(SCHEDULER)">Scheduler#SCHEDULER</a> class creates schedule.</p>
<h2>1.1) SCHEDULER constructor</h2>
<p>The SCHEDULER class is quite easy to use, but note that the New constructor has variable parameters:</p>
<ul>
<li><a href="Core.Scheduler.html##(SCHEDULER).New">Core.Scheduler#SCHEDULER.New</a>( nil ): Setup a new SCHEDULER object, which is persistently executed after garbage collection.</li>
<li><a href="Core.Scheduler.html##(SCHEDULER).New">Core.Scheduler#SCHEDULER.New</a>( Object ): Setup a new SCHEDULER object, which is linked to the Object. When the Object is nillified or destroyed, the SCHEDULER object will also be destroyed and stopped after garbage collection.</li>
<li><a href="Core.Scheduler.html##(SCHEDULER).New">Core.Scheduler#SCHEDULER.New</a>( nil, Function, FunctionArguments, Start, ... ): Setup a new persistent SCHEDULER object, and start a new schedule for the Function with the defined FunctionArguments according the Start and sequent parameters.</li>
<li><a href="Core.Scheduler.html##(SCHEDULER).New">Core.Scheduler#SCHEDULER.New</a>( Object, Function, FunctionArguments, Start, ... ): Setup a new SCHEDULER object, linked to Object, and start a new schedule for the Function with the defined FunctionArguments according the Start and sequent parameters.</li>
<li><a href="Scheduler.html##(SCHEDULER).New">Scheduler#SCHEDULER.New</a>( nil ): Setup a new SCHEDULER object, which is persistently executed after garbage collection.</li>
<li><a href="Scheduler.html##(SCHEDULER).New">Scheduler#SCHEDULER.New</a>( Object ): Setup a new SCHEDULER object, which is linked to the Object. When the Object is nillified or destroyed, the SCHEDULER object will also be destroyed and stopped after garbage collection.</li>
<li><a href="Scheduler.html##(SCHEDULER).New">Scheduler#SCHEDULER.New</a>( nil, Function, FunctionArguments, Start, ... ): Setup a new persistent SCHEDULER object, and start a new schedule for the Function with the defined FunctionArguments according the Start and sequent parameters.</li>
<li><a href="Scheduler.html##(SCHEDULER).New">Scheduler#SCHEDULER.New</a>( Object, Function, FunctionArguments, Start, ... ): Setup a new SCHEDULER object, linked to Object, and start a new schedule for the Function with the defined FunctionArguments according the Start and sequent parameters.</li>
</ul>
<h2>1.2) SCHEDULER timer stopping and (re-)starting.</h2>
@@ -94,13 +95,13 @@
<p>The SCHEDULER can be stopped and restarted with the following methods:</p>
<ul>
<li><a href="Core.Scheduler.html##(SCHEDULER).Start">Core.Scheduler#SCHEDULER.Start</a>(): (Re-)Start the schedules within the SCHEDULER object. If a CallID is provided to :Start(), only the schedule referenced by CallID will be (re-)started.</li>
<li><a href="Core.Scheduler.html##(SCHEDULER).Stop">Core.Scheduler#SCHEDULER.Stop</a>(): Stop the schedules within the SCHEDULER object. If a CallID is provided to :Stop(), then only the schedule referenced by CallID will be stopped.</li>
<li><a href="Scheduler.html##(SCHEDULER).Start">Scheduler#SCHEDULER.Start</a>(): (Re-)Start the schedules within the SCHEDULER object. If a CallID is provided to :Start(), only the schedule referenced by CallID will be (re-)started.</li>
<li><a href="Scheduler.html##(SCHEDULER).Stop">Scheduler#SCHEDULER.Stop</a>(): Stop the schedules within the SCHEDULER object. If a CallID is provided to :Stop(), then only the schedule referenced by CallID will be stopped.</li>
</ul>
<h2>1.3) Create a new schedule</h2>
<p>With <a href="Core.Scheduler.html##(SCHEDULER).Schedule">Core.Scheduler#SCHEDULER.Schedule</a>() a new time event can be scheduled. This function is used by the :New() constructor when a new schedule is planned.</p>
<p>With <a href="Scheduler.html##(SCHEDULER).Schedule">Scheduler#SCHEDULER.Schedule</a>() a new time event can be scheduled. This function is used by the :New() constructor when a new schedule is planned.</p>
<hr/>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -76,24 +77,24 @@
<hr/>
<h1>1) <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a> class, extends <a href="Core.Base.html##(BASE)">Core.Base#BASE</a></h1>
<p>The <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a> class defines the core functions that define a collection of objects.
<h1>1) <a href="Set.html##(SET_BASE)">Set#SET_BASE</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p>The <a href="Set.html##(SET_BASE)">Set#SET_BASE</a> class defines the core functions that define a collection of objects.
A SET provides iterators to iterate the SET, but will <strong>temporarily</strong> yield the ForEach interator loop at defined <strong>"intervals"</strong> to the mail simulator loop.
In this way, large loops can be done while not blocking the simulator main processing loop.
The default <strong>"yield interval"</strong> is after 10 objects processed.
The default <strong>"time interval"</strong> is after 0.001 seconds.</p>
<h2>1.1) Add or remove objects from the SET</h2>
<p>Some key core functions are <a href="Core.Set.html##(SET_BASE).Add">Core.Set#SET_BASE.Add</a> and <a href="Core.Set.html##(SET_BASE).Remove">Core.Set#SET_BASE.Remove</a> to add or remove objects from the SET in your logic.</p>
<p>Some key core functions are <a href="Set.html##(SET_BASE).Add">Set#SET_BASE.Add</a> and <a href="Set.html##(SET_BASE).Remove">Set#SET_BASE.Remove</a> to add or remove objects from the SET in your logic.</p>
<h2>1.2) Define the SET iterator <strong>"yield interval"</strong> and the <strong>"time interval"</strong></h2>
<p>Modify the iterator intervals with the <a href="Core.Set.html##(SET_BASE).SetInteratorIntervals">Core.Set#SET_BASE.SetInteratorIntervals</a> method.
<p>Modify the iterator intervals with the <a href="Set.html##(SET_BASE).SetInteratorIntervals">Set#SET_BASE.SetInteratorIntervals</a> method.
You can set the <strong>"yield interval"</strong>, and the <strong>"time interval"</strong>. (See above).</p>
<hr/>
<h1>2) <a href="Core.Set.html##(SET_GROUP)">Core.Set#SET_GROUP</a> class, extends <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a></h1>
<p>Mission designers can use the <a href="Core.Set.html##(SET_GROUP)">Core.Set#SET_GROUP</a> class to build sets of groups belonging to certain:</p>
<h1>2) <a href="Set.html##(SET_GROUP)">Set#SET_GROUP</a> class, extends <a href="Set.html##(SET_BASE)">Set#SET_BASE</a></h1>
<p>Mission designers can use the <a href="Set.html##(SET_GROUP)">Set#SET_GROUP</a> class to build sets of groups belonging to certain:</p>
<ul>
<li>Coalitions</li>
@@ -110,7 +111,7 @@ You can set the <strong>"yield interval"</strong>, and the <strong>"time interva
</ul>
<h2>2.2) Add or Remove GROUP(s) from SET_GROUP: </h2>
<p>GROUPS can be added and removed using the <a href="Core.Set.html##(SET_GROUP).AddGroupsByName">Core.Set#SET_GROUP.AddGroupsByName</a> and <a href="Core.Set.html##(SET_GROUP).RemoveGroupsByName">Core.Set#SET_GROUP.RemoveGroupsByName</a> respectively.
<p>GROUPS can be added and removed using the <a href="Set.html##(SET_GROUP).AddGroupsByName">Set#SET_GROUP.AddGroupsByName</a> and <a href="Set.html##(SET_GROUP).RemoveGroupsByName">Set#SET_GROUP.RemoveGroupsByName</a> respectively.
These methods take a single GROUP name or an array of GROUP names to be added or removed from SET_GROUP.</p>
<h2>2.3) SET_GROUP filter criteria: </h2>
@@ -133,7 +134,7 @@ Filter criteria are defined by:</p>
<p>Planned filter criteria within development are (so these are not yet available):</p>
<ul>
<li><a href="##(SET_GROUP).FilterZones">SET_GROUP.FilterZones</a>: Builds the SET_GROUP with the groups within a <a href="Core.Zone.html##(ZONE)">Core.Zone#ZONE</a>.</li>
<li><a href="##(SET_GROUP).FilterZones">SET_GROUP.FilterZones</a>: Builds the SET_GROUP with the groups within a <a href="Zone.html##(ZONE)">Zone#ZONE</a>.</li>
</ul>
<h2>2.4) SET_GROUP iterators:</h2>
@@ -150,8 +151,8 @@ The following iterator methods are currently available within the SET</em>GROUP:
<hr/>
<h1>3) <a href="Core.Set.html##(SET_UNIT)">Core.Set#SET_UNIT</a> class, extends <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a></h1>
<p>Mission designers can use the <a href="Core.Set.html##(SET_UNIT)">Core.Set#SET_UNIT</a> class to build sets of units belonging to certain:</p>
<h1>3) <a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a> class, extends <a href="Set.html##(SET_BASE)">Set#SET_BASE</a></h1>
<p>Mission designers can use the <a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a> class to build sets of units belonging to certain:</p>
<ul>
<li>Coalitions</li>
@@ -169,7 +170,7 @@ The following iterator methods are currently available within the SET</em>GROUP:
</ul>
<h2>3.2) Add or Remove UNIT(s) from SET_UNIT: </h2>
<p>UNITs can be added and removed using the <a href="Core.Set.html##(SET_UNIT).AddUnitsByName">Core.Set#SET_UNIT.AddUnitsByName</a> and <a href="Core.Set.html##(SET_UNIT).RemoveUnitsByName">Core.Set#SET_UNIT.RemoveUnitsByName</a> respectively.
<p>UNITs can be added and removed using the <a href="Set.html##(SET_UNIT).AddUnitsByName">Set#SET_UNIT.AddUnitsByName</a> and <a href="Set.html##(SET_UNIT).RemoveUnitsByName">Set#SET_UNIT.RemoveUnitsByName</a> respectively.
These methods take a single UNIT name or an array of UNIT names to be added or removed from SET_UNIT.</p>
<h2>3.3) SET_UNIT filter criteria: </h2>
@@ -193,7 +194,7 @@ Filter criteria are defined by:</p>
<p>Planned filter criteria within development are (so these are not yet available):</p>
<ul>
<li><a href="##(SET_UNIT).FilterZones">SET_UNIT.FilterZones</a>: Builds the SET_UNIT with the units within a <a href="Core.Zone.html##(ZONE)">Core.Zone#ZONE</a>.</li>
<li><a href="##(SET_UNIT).FilterZones">SET_UNIT.FilterZones</a>: Builds the SET_UNIT with the units within a <a href="Zone.html##(ZONE)">Zone#ZONE</a>.</li>
</ul>
<h2>3.4) SET_UNIT iterators:</h2>
@@ -217,8 +218,8 @@ The following iterator methods are currently available within the SET</em>UNIT:<
<hr/>
<h1>4) <a href="Core.Set.html##(SET_CLIENT)">Core.Set#SET_CLIENT</a> class, extends <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a></h1>
<p>Mission designers can use the <a href="Core.Set.html##(SET_CLIENT)">Core.Set#SET_CLIENT</a> class to build sets of units belonging to certain:</p>
<h1>4) <a href="Set.html##(SET_CLIENT)">Set#SET_CLIENT</a> class, extends <a href="Set.html##(SET_BASE)">Set#SET_BASE</a></h1>
<p>Mission designers can use the <a href="Set.html##(SET_CLIENT)">Set#SET_CLIENT</a> class to build sets of units belonging to certain:</p>
<ul>
<li>Coalitions</li>
@@ -236,7 +237,7 @@ The following iterator methods are currently available within the SET</em>UNIT:<
</ul>
<h2>4.2) Add or Remove CLIENT(s) from SET_CLIENT: </h2>
<p>CLIENTs can be added and removed using the <a href="Core.Set.html##(SET_CLIENT).AddClientsByName">Core.Set#SET_CLIENT.AddClientsByName</a> and <a href="Core.Set.html##(SET_CLIENT).RemoveClientsByName">Core.Set#SET_CLIENT.RemoveClientsByName</a> respectively.
<p>CLIENTs can be added and removed using the <a href="Set.html##(SET_CLIENT).AddClientsByName">Set#SET_CLIENT.AddClientsByName</a> and <a href="Set.html##(SET_CLIENT).RemoveClientsByName">Set#SET_CLIENT.RemoveClientsByName</a> respectively.
These methods take a single CLIENT name or an array of CLIENT names to be added or removed from SET_CLIENT.</p>
<h2>4.3) SET_CLIENT filter criteria: </h2>
@@ -260,7 +261,7 @@ Filter criteria are defined by:</p>
<p>Planned filter criteria within development are (so these are not yet available):</p>
<ul>
<li><a href="##(SET_CLIENT).FilterZones">SET_CLIENT.FilterZones</a>: Builds the SET_CLIENT with the clients within a <a href="Core.Zone.html##(ZONE)">Core.Zone#ZONE</a>.</li>
<li><a href="##(SET_CLIENT).FilterZones">SET_CLIENT.FilterZones</a>: Builds the SET_CLIENT with the clients within a <a href="Zone.html##(ZONE)">Zone#ZONE</a>.</li>
</ul>
<h2>4.4) SET_CLIENT iterators:</h2>
@@ -274,8 +275,8 @@ The following iterator methods are currently available within the SET</em>CLIENT
<hr/>
<h1>5) <a href="Core.Set.html##(SET_AIRBASE)">Core.Set#SET_AIRBASE</a> class, extends <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a></h1>
<p>Mission designers can use the <a href="Core.Set.html##(SET_AIRBASE)">Core.Set#SET_AIRBASE</a> class to build sets of airbases optionally belonging to certain:</p>
<h1>5) <a href="Set.html##(SET_AIRBASE)">Set#SET_AIRBASE</a> class, extends <a href="Set.html##(SET_BASE)">Set#SET_BASE</a></h1>
<p>Mission designers can use the <a href="Set.html##(SET_AIRBASE)">Set#SET_AIRBASE</a> class to build sets of airbases optionally belonging to certain:</p>
<ul>
<li>Coalitions</li>
@@ -289,7 +290,7 @@ The following iterator methods are currently available within the SET</em>CLIENT
</ul>
<h2>5.2) Add or Remove AIRBASEs from SET_AIRBASE </h2>
<p>AIRBASEs can be added and removed using the <a href="Core.Set.html##(SET_AIRBASE).AddAirbasesByName">Core.Set#SET_AIRBASE.AddAirbasesByName</a> and <a href="Core.Set.html##(SET_AIRBASE).RemoveAirbasesByName">Core.Set#SET_AIRBASE.RemoveAirbasesByName</a> respectively.
<p>AIRBASEs can be added and removed using the <a href="Set.html##(SET_AIRBASE).AddAirbasesByName">Set#SET_AIRBASE.AddAirbasesByName</a> and <a href="Set.html##(SET_AIRBASE).RemoveAirbasesByName">Set#SET_AIRBASE.RemoveAirbasesByName</a> respectively.
These methods take a single AIRBASE name or an array of AIRBASE names to be added or removed from SET_AIRBASE.</p>
<h2>5.3) SET_AIRBASE filter criteria </h2>
@@ -431,7 +432,7 @@ The following iterator methods are currently available within the SET</em>AIRBAS
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_AIRBASE).FindNearestAirbaseFromPointVec2">SET_AIRBASE:FindNearestAirbaseFromPointVec2(PointVec2)</a></td>
<td class="summary">
<p>Iterate the SET_AIRBASE while identifying the nearest <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a> from a <a href="Core.Point.html##(POINT_VEC2)">Core.Point#POINT_VEC2</a>.</p>
<p>Iterate the SET_AIRBASE while identifying the nearest <a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a> from a <a href="Point.html##(POINT_VEC2)">Point#POINT_VEC2</a>.</p>
</td>
</tr>
<tr>
@@ -465,13 +466,13 @@ The following iterator methods are currently available within the SET</em>AIRBAS
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_BASE).Add">SET_BASE:Add(ObjectName, Object)</a></td>
<td class="summary">
<p>Adds a <a href="Core.Base.html##(BASE)">Core.Base#BASE</a> object in the <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a>, using a given ObjectName as the index.</p>
<p>Adds a <a href="Base.html##(BASE)">Base#BASE</a> object in the <a href="Set.html##(SET_BASE)">Set#SET_BASE</a>, using a given ObjectName as the index.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_BASE).AddObject">SET_BASE:AddObject(Object)</a></td>
<td class="summary">
<p>Adds a <a href="Core.Base.html##(BASE)">Core.Base#BASE</a> object in the <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a>, using the Object Name as the index.</p>
<p>Adds a <a href="Base.html##(BASE)">Base#BASE</a> object in the <a href="Set.html##(SET_BASE)">Set#SET_BASE</a>, using the Object Name as the index.</p>
</td>
</tr>
<tr>
@@ -489,7 +490,7 @@ The following iterator methods are currently available within the SET</em>AIRBAS
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_BASE).Count">SET_BASE:Count()</a></td>
<td class="summary">
<p>Retrieves the amount of objects in the <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a> and derived classes.</p>
<p>Retrieves the amount of objects in the <a href="Set.html##(SET_BASE)">Set#SET_BASE</a> and derived classes.</p>
</td>
</tr>
<tr>
@@ -519,7 +520,7 @@ The following iterator methods are currently available within the SET</em>AIRBAS
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_BASE).FindNearestObjectFromPointVec2">SET_BASE:FindNearestObjectFromPointVec2(PointVec2)</a></td>
<td class="summary">
<p>Iterate the SET_BASE while identifying the nearest object from a <a href="Core.Point.html##(POINT_VEC2)">Core.Point#POINT_VEC2</a>.</p>
<p>Iterate the SET_BASE while identifying the nearest object from a <a href="Point.html##(POINT_VEC2)">Point#POINT_VEC2</a>.</p>
</td>
</tr>
<tr>
@@ -537,7 +538,7 @@ The following iterator methods are currently available within the SET</em>AIRBAS
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_BASE).Get">SET_BASE:Get(ObjectName)</a></td>
<td class="summary">
<p>Gets a <a href="Core.Base.html##(BASE)">Core.Base#BASE</a> object from the <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a> and derived classes, based on the Object Name.</p>
<p>Gets a <a href="Base.html##(BASE)">Base#BASE</a> object from the <a href="Set.html##(SET_BASE)">Set#SET_BASE</a> and derived classes, based on the Object Name.</p>
</td>
</tr>
<tr>
@@ -567,7 +568,7 @@ The following iterator methods are currently available within the SET</em>AIRBAS
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_BASE).Remove">SET_BASE:Remove(ObjectName)</a></td>
<td class="summary">
<p>Removes a <a href="Core.Base.html##(BASE)">Core.Base#BASE</a> object from the <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a> and derived classes, based on the Object Name.</p>
<p>Removes a <a href="Base.html##(BASE)">Base#BASE</a> object from the <a href="Set.html##(SET_BASE)">Set#SET_BASE</a> and derived classes, based on the Object Name.</p>
</td>
</tr>
<tr>
@@ -633,7 +634,7 @@ The following iterator methods are currently available within the SET</em>AIRBAS
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_BASE)._Find">SET_BASE:_Find(ObjectName)</a></td>
<td class="summary">
<p>Finds an <a href="Core.Base.html##(BASE)">Core.Base#BASE</a> object based on the object Name.</p>
<p>Finds an <a href="Base.html##(BASE)">Base#BASE</a> object based on the object Name.</p>
</td>
</tr>
</table>
@@ -1422,21 +1423,21 @@ The AIRBASE</p>
</dt>
<dd>
<p>Iterate the SET_AIRBASE while identifying the nearest <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a> from a <a href="Core.Point.html##(POINT_VEC2)">Core.Point#POINT_VEC2</a>.</p>
<p>Iterate the SET_AIRBASE while identifying the nearest <a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a> from a <a href="Point.html##(POINT_VEC2)">Point#POINT_VEC2</a>.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Core.Point.html##(POINT_VEC2)">Core.Point#POINT_VEC2</a> PointVec2 </em></code>:
A <a href="Core.Point.html##(POINT_VEC2)">Core.Point#POINT_VEC2</a> object from where to evaluate the closest <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>.</p>
A <a href="Point.html##(POINT_VEC2)">Point#POINT_VEC2</a> object from where to evaluate the closest <a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a>.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>:</em>
The closest <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>.</p>
The closest <a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a>.</p>
</dd>
</dl>
@@ -1562,7 +1563,7 @@ A single name or an array of AIRBASE names.</p>
</dt>
<dd>
<p>Adds a <a href="Core.Base.html##(BASE)">Core.Base#BASE</a> object in the <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a>, using a given ObjectName as the index.</p>
<p>Adds a <a href="Base.html##(BASE)">Base#BASE</a> object in the <a href="Set.html##(SET_BASE)">Set#SET_BASE</a>, using a given ObjectName as the index.</p>
<h3>Parameters</h3>
<ul>
@@ -1593,7 +1594,7 @@ The added BASE Object.</p>
</dt>
<dd>
<p>Adds a <a href="Core.Base.html##(BASE)">Core.Base#BASE</a> object in the <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a>, using the Object Name as the index.</p>
<p>Adds a <a href="Base.html##(BASE)">Base#BASE</a> object in the <a href="Set.html##(SET_BASE)">Set#SET_BASE</a>, using the Object Name as the index.</p>
<h3>Parameter</h3>
<ul>
@@ -1647,7 +1648,7 @@ The added BASE Object.</p>
</dt>
<dd>
<p>Retrieves the amount of objects in the <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a> and derived classes.</p>
<p>Retrieves the amount of objects in the <a href="Set.html##(SET_BASE)">Set#SET_BASE</a> and derived classes.</p>
<h3>Return value</h3>
@@ -1732,14 +1733,14 @@ self</p>
</dt>
<dd>
<p>Iterate the SET_BASE while identifying the nearest object from a <a href="Core.Point.html##(POINT_VEC2)">Core.Point#POINT_VEC2</a>.</p>
<p>Iterate the SET_BASE while identifying the nearest object from a <a href="Point.html##(POINT_VEC2)">Point#POINT_VEC2</a>.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Core.Point.html##(POINT_VEC2)">Core.Point#POINT_VEC2</a> PointVec2 </em></code>:
A <a href="Core.Point.html##(POINT_VEC2)">Core.Point#POINT_VEC2</a> object from where to evaluate the closest object in the set.</p>
A <a href="Point.html##(POINT_VEC2)">Point#POINT_VEC2</a> object from where to evaluate the closest object in the set.</p>
</li>
</ul>
@@ -1827,7 +1828,7 @@ self</p>
</dt>
<dd>
<p>Gets a <a href="Core.Base.html##(BASE)">Core.Base#BASE</a> object from the <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a> and derived classes, based on the Object Name.</p>
<p>Gets a <a href="Base.html##(BASE)">Base#BASE</a> object from the <a href="Set.html##(SET_BASE)">Set#SET_BASE</a> and derived classes, based on the Object Name.</p>
<h3>Parameter</h3>
<ul>
@@ -1941,7 +1942,7 @@ DBObject = SET_BASE:New()</code></pre>
</dt>
<dd>
<p>Removes a <a href="Core.Base.html##(BASE)">Core.Base#BASE</a> object from the <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a> and derived classes, based on the Object Name.</p>
<p>Removes a <a href="Base.html##(BASE)">Base#BASE</a> object from the <a href="Set.html##(SET_BASE)">Set#SET_BASE</a> and derived classes, based on the Object Name.</p>
<h3>Parameter</h3>
<ul>
@@ -2165,7 +2166,7 @@ self</p>
</dt>
<dd>
<p>Finds an <a href="Core.Base.html##(BASE)">Core.Base#BASE</a> object based on the object Name.</p>
<p>Finds an <a href="Base.html##(BASE)">Base#BASE</a> object based on the object Name.</p>
<h3>Parameter</h3>
<ul>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -76,7 +77,7 @@
<hr/>
<h1><a href="##(ACT_ASSIST)">#ACT_ASSIST</a> FSM class, extends <a href="Core.Fsm.html##(FSM_PROCESS)">Core.Fsm#FSM_PROCESS</a></h1>
<h1><a href="##(ACT_ASSIST)">#ACT_ASSIST</a> FSM class, extends <a href="Fsm.html##(FSM_PROCESS)">Fsm#FSM_PROCESS</a></h1>
<h2>ACT_ASSIST state machine:</h2>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -70,14 +71,19 @@
<div id="content">
<h1>Module <code>Spawn</code></h1>
<p>This module contains the SPAWN class.</p>
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>All</strong> -- <br/>
<strong>Spawn groups of units dynamically in your missions.</strong></p>
<p><img src="..\Presentations\SPAWN\SPAWN.JPG" alt="Banner Image"/></p>
<hr/>
<h1>1) <a href="##(SPAWN)">#SPAWN</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p>The <a href="##(SPAWN)">#SPAWN</a> class allows to spawn dynamically new groups, based on pre-defined initialization settings, modifying the behaviour when groups are spawned.</p>
<h1>1) <a href="Functional.Spawn.html##(SPAWN)">Functional.Spawn#SPAWN</a> class, extends <a href="Core.Base.html##(BASE)">Core.Base#BASE</a></h1>
<p>The <a href="##(SPAWN)">#SPAWN</a> class allows to spawn dynamically new groups, based on pre-defined initialization settings, modifying the behaviour when groups are spawned.
For each group to be spawned, within the mission editor, a group has to be created with the "late activation flag" set. We call this group the <em>"Spawn Template"</em> of the SPAWN object.
<p>For each group to be spawned, within the mission editor, a group has to be created with the "late activation flag" set. We call this group the <em>"Spawn Template"</em> of the SPAWN object.
A reference to this Spawn Template needs to be provided when constructing the SPAWN object, by indicating the name of the group within the mission editor in the constructor methods.</p>
<p>Within the SPAWN object, there is an internal index that keeps track of which group from the internal group list was spawned.
@@ -123,7 +129,7 @@ So in principle, the group list will contain all parameters and configurations a
<li><a href="##(SPAWN).InitLimit">SPAWN.InitLimit</a>(): Limits the amount of groups that can be alive at the same time and that can be dynamically spawned.</li>
<li><a href="##(SPAWN).InitRandomizeRoute">SPAWN.InitRandomizeRoute</a>(): Randomize the routes of spawned groups, and for air groups also optionally the height.</li>
<li><a href="##(SPAWN).InitRandomizeTemplate">SPAWN.InitRandomizeTemplate</a>(): Randomize the group templates so that when a new group is spawned, a random group template is selected from one of the templates defined. </li>
<li><a href="##(SPAWN).InitUncontrolled">SPAWN.InitUncontrolled</a>(): Spawn plane groups uncontrolled.</li>
<li><a href="##(SPAWN).InitUnControlled">SPAWN.InitUnControlled</a>(): Spawn plane groups uncontrolled.</li>
<li><a href="##(SPAWN).InitArray">SPAWN.InitArray</a>(): Make groups visible before they are actually activated, and order these groups like a batallion in an array.</li>
<li><a href="##(SPAWN).InitRepeat">SPAWN.InitRepeat</a>(): Re-spawn groups when they land at the home base. Similar methods are <a href="##(SPAWN).InitRepeatOnLanding">SPAWN.InitRepeatOnLanding</a> and <a href="##(SPAWN).InitRepeatOnEngineShutDown">SPAWN.InitRepeatOnEngineShutDown</a>.</li>
<li><a href="##(SPAWN).InitRandomizeUnits">SPAWN.InitRandomizeUnits</a>(): Randomizes the <a href="Unit.html">Unit</a>s in the <a href="Group.html">Group</a> that is spawned within a <strong>radius band</strong>, given an Outer and Inner radius.</li>
@@ -200,6 +206,8 @@ A coding example is provided at the description of the <a href="##(SPAWN).OnSpaw
<p>Hereby the change log:</p>
<p>2017-02-04: SPAWN:InitUnControlled( <strong>UnControlled</strong> ) replaces SPAWN:InitUnControlled().</p>
<p>2017-01-24: SPAWN:<strong>InitAIOnOff( AIOnOff )</strong> added.</p>
<p>2017-01-24: SPAWN:<strong>InitAIOn()</strong> added.</p>
@@ -396,9 +404,9 @@ A coding example is provided at the description of the <a href="##(SPAWN).OnSpaw
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).InitUnControlled">SPAWN:InitUnControlled()</a></td>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).InitUnControlled">SPAWN:InitUnControlled(UnControlled)</a></td>
<td class="summary">
<p>(AIR) Will spawn a plane group in uncontrolled mode...</p>
<p>(<strong>AIR</strong>) Will spawn a plane group in UnControlled or Controlled mode...</p>
</td>
</tr>
<tr>
@@ -1524,16 +1532,27 @@ self</p>
<dt>
<a id="#(SPAWN).InitUnControlled" >
<strong>SPAWN:InitUnControlled()</strong>
<strong>SPAWN:InitUnControlled(UnControlled)</strong>
</a>
</dt>
<dd>
<p>(AIR) Will spawn a plane group in uncontrolled mode...</p>
<p>(<strong>AIR</strong>) Will spawn a plane group in UnControlled or Controlled mode...</p>
<p>This will be similar to the uncontrolled flag setting in the ME.</p>
<p>This will be similar to the uncontrolled flag setting in the ME.
You can use UnControlled mode to simulate planes startup and ready for take-off but aren't moving (yet).
ReSpawn the plane in Controlled mode, and the plane will move...</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#boolean UnControlled </em></code>:
true if UnControlled, false if Controlled.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(SPAWN)">#SPAWN</a>:</em>
@@ -1656,7 +1675,7 @@ Spawn_BE_KA50 = SPAWN:NewWithAlias( 'BE KA-50@RAMP-Ground Defense', 'Helicopter
<p>The provided method will be called when a new group is spawned, including its given parameters.
The first parameter of the SpawnFunction is the <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> that was spawned.</p>
The first parameter of the SpawnFunction is the <a href="Group.html##(GROUP)">Group#GROUP</a> that was spawned.</p>
<h3>Parameters</h3>
<ul>
@@ -1739,9 +1758,6 @@ The group that was spawned. You can use this group for further actions.</p>
<p> Don't repeat the group from Take-Off till Landing and back Take-Off by ReSpawning.</p>
</dd>
</dl>
<dl class="function">
@@ -2127,7 +2143,7 @@ SpawnGroupName</p>
<p>Will spawn a Group within a given <a href="Zone.html">Zone</a>.</p>
<p>The <a href="Zone.html">Zone</a> can be of any type derived from <a href="Core.Zone.html##(ZONE_BASE)">Core.Zone#ZONE_BASE</a>.
<p>The <a href="Zone.html">Zone</a> can be of any type derived from <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a>.
Once the <a href="Group.html">Group</a> is spawned within the zone, the <a href="Group.html">Group</a> will continue on its route.
The <strong>first waypoint</strong> (where the group is spawned) is replaced with the zone location coordinates.</p>
@@ -2512,7 +2528,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
<dl class="function">
<dt>
<em>#boolean</em>
<em></em>
<a id="#(SPAWN).SpawnUnControlled" >
<strong>SPAWN.SpawnUnControlled</strong>
</a>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -74,10 +75,10 @@
<h1>1) <a href="Wrapper.Static.html##(STATIC)">Wrapper.Static#STATIC</a> class, extends <a href="Wrapper.Positionable.html##(POSITIONABLE)">Wrapper.Positionable#POSITIONABLE</a></h1>
<h1>1) <a href="Static.html##(STATIC)">Static#STATIC</a> class, extends <a href="Positionable.html##(POSITIONABLE)">Positionable#POSITIONABLE</a></h1>
<p>Statics are <strong>Static Units</strong> defined within the Mission Editor.
Note that Statics are almost the same as Units, but they don't have a controller.
The <a href="Wrapper.Static.html##(STATIC)">Wrapper.Static#STATIC</a> class is a wrapper class to handle the DCS Static objects:</p>
The <a href="Static.html##(STATIC)">Static#STATIC</a> class is a wrapper class to handle the DCS Static objects:</p>
<ul>
<li>Wraps the DCS Static objects.</li>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -74,7 +75,7 @@
<h1>1) <a href="##(TASK)">#TASK</a> class, extends <a href="Core.Base.html##(BASE)">Core.Base#BASE</a></h1>
<h1>1) <a href="##(TASK)">#TASK</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<h2>1.1) The <a href="##(TASK)">#TASK</a> class implements the methods for task orchestration within MOOSE. </h2>
<p>The class provides a couple of methods to:</p>
@@ -327,7 +328,7 @@ Use the method <a href="##(TASK).AddScore">TASK.AddScore</a>() to add scores whe
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK).JoinUnit">TASK:JoinUnit(PlayerUnit)</a></td>
<td class="name" nowrap="nowrap"><a href="##(TASK).JoinUnit">TASK:JoinUnit(PlayerUnit, PlayerGroup)</a></td>
<td class="summary">
<p>Add a PlayerUnit to join the Task.</p>
</td>
@@ -1310,7 +1311,7 @@ self</p>
<dt>
<a id="#(TASK).JoinUnit" >
<strong>TASK:JoinUnit(PlayerUnit)</strong>
<strong>TASK:JoinUnit(PlayerUnit, PlayerGroup)</strong>
</a>
</dt>
<dd>
@@ -1322,13 +1323,19 @@ self</p>
If the Unit was not part of the Task, false is returned.
If the Unit is part of the Task, true is returned.</p>
<h3>Parameter</h3>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a> PlayerUnit </em></code>:
The CLIENT or UNIT of the Player joining the Mission.</p>
</li>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> PlayerGroup </em></code>:
The GROUP of the player joining the Mission.</p>
</li>
</ul>
<h3>Return value</h3>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -74,15 +75,15 @@
<h1>1) <a href="##(TASK_A2G)">#TASK_A2G</a> class, extends <a href="Tasking.Task.html##(TASK)">Tasking.Task#TASK</a></h1>
<h1>1) <a href="##(TASK_A2G)">#TASK_A2G</a> class, extends <a href="Task.html##(TASK)">Task#TASK</a></h1>
<p>The <a href="##(TASK_A2G)">#TASK_A2G</a> class defines a CAS or BAI task of a <a href="Set.html">Set</a> of Target Units,
located at a Target Zone, based on the tasking capabilities defined in <a href="Tasking.Task.html##(TASK)">Tasking.Task#TASK</a>.
located at a Target Zone, based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TASK</a>.
The TASK_A2G is implemented using a <a href="Statemachine.html##(FSM_TASK)">Statemachine#FSM_TASK</a>, and has the following statuses:</p>
<ul>
<li><strong>None</strong>: Start of the process</li>
<li><strong>Planned</strong>: The SEAD task is planned. Upon Planned, the sub-process <a href="Process_Fsm.Assign.html##(ACT_ASSIGN_ACCEPT)">Process<em>Fsm.Assign#ACT</em>ASSIGN_ACCEPT</a> is started to accept the task.</li>
<li><strong>Assigned</strong>: The SEAD task is assigned to a <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a>. Upon Assigned, the sub-process <a href="Process_Fsm.Route.html##(ACT_ROUTE)">Process<em>Fsm.Route#ACT</em>ROUTE</a> is started to route the active Units in the Group to the attack zone.</li>
<li><strong>Assigned</strong>: The SEAD task is assigned to a <a href="Group.html##(GROUP)">Group#GROUP</a>. Upon Assigned, the sub-process <a href="Process_Fsm.Route.html##(ACT_ROUTE)">Process<em>Fsm.Route#ACT</em>ROUTE</a> is started to route the active Units in the Group to the attack zone.</li>
<li><strong>Success</strong>: The SEAD task is successfully completed. Upon Success, the sub-process <a href="Process_SEAD.html##(PROCESS_SEAD)">Process<em>SEAD#PROCESS</em>SEAD</a> is started to follow-up successful SEADing of the targets assigned in the task.</li>
<li><strong>Failed</strong>: The SEAD task has failed. This will happen if the player exists the task early, without communicating a possible cancellation to HQ.</li>
</ul>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -74,15 +75,15 @@
<h1>1) <a href="##(TASK_PICKUP)">#TASK_PICKUP</a> class, extends <a href="Tasking.Task.html##(TASK)">Tasking.Task#TASK</a></h1>
<h1>1) <a href="##(TASK_PICKUP)">#TASK_PICKUP</a> class, extends <a href="Task.html##(TASK)">Task#TASK</a></h1>
<p>The <a href="##(TASK_PICKUP)">#TASK_PICKUP</a> class defines a pickup task of a <a href="Set.html">Set</a> of <a href="CARGO.html">CARGO</a> objects defined within the mission.
based on the tasking capabilities defined in <a href="Tasking.Task.html##(TASK)">Tasking.Task#TASK</a>.
based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TASK</a>.
The TASK_PICKUP is implemented using a <a href="Statemachine.html##(FSM_TASK)">Statemachine#FSM_TASK</a>, and has the following statuses:</p>
<ul>
<li><strong>None</strong>: Start of the process</li>
<li><strong>Planned</strong>: The SEAD task is planned. Upon Planned, the sub-process <a href="Process_Fsm.Assign.html##(ACT_ASSIGN_ACCEPT)">Process<em>Fsm.Assign#ACT</em>ASSIGN_ACCEPT</a> is started to accept the task.</li>
<li><strong>Assigned</strong>: The SEAD task is assigned to a <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a>. Upon Assigned, the sub-process <a href="Process_Fsm.Route.html##(ACT_ROUTE)">Process<em>Fsm.Route#ACT</em>ROUTE</a> is started to route the active Units in the Group to the attack zone.</li>
<li><strong>Assigned</strong>: The SEAD task is assigned to a <a href="Group.html##(GROUP)">Group#GROUP</a>. Upon Assigned, the sub-process <a href="Process_Fsm.Route.html##(ACT_ROUTE)">Process<em>Fsm.Route#ACT</em>ROUTE</a> is started to route the active Units in the Group to the attack zone.</li>
<li><strong>Success</strong>: The SEAD task is successfully completed. Upon Success, the sub-process <a href="Process_SEAD.html##(PROCESS_SEAD)">Process<em>SEAD#PROCESS</em>SEAD</a> is started to follow-up successful SEADing of the targets assigned in the task.</li>
<li><strong>Failed</strong>: The SEAD task has failed. This will happen if the player exists the task early, without communicating a possible cancellation to HQ.</li>
</ul>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -74,15 +75,15 @@
<h1>1) <a href="##(TASK_SEAD)">#TASK_SEAD</a> class, extends <a href="Tasking.Task.html##(TASK)">Tasking.Task#TASK</a></h1>
<h1>1) <a href="##(TASK_SEAD)">#TASK_SEAD</a> class, extends <a href="Task.html##(TASK)">Task#TASK</a></h1>
<p>The <a href="##(TASK_SEAD)">#TASK_SEAD</a> class defines a SEAD task for a <a href="Set.html">Set</a> of Target Units, located at a Target Zone,
based on the tasking capabilities defined in <a href="Tasking.Task.html##(TASK)">Tasking.Task#TASK</a>.
based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TASK</a>.
The TASK_SEAD is implemented using a <a href="Statemachine.html##(FSM_TASK)">Statemachine#FSM_TASK</a>, and has the following statuses:</p>
<ul>
<li><strong>None</strong>: Start of the process</li>
<li><strong>Planned</strong>: The SEAD task is planned. Upon Planned, the sub-process <a href="Process_Fsm.Assign.html##(ACT_ASSIGN_ACCEPT)">Process<em>Fsm.Assign#ACT</em>ASSIGN_ACCEPT</a> is started to accept the task.</li>
<li><strong>Assigned</strong>: The SEAD task is assigned to a <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a>. Upon Assigned, the sub-process <a href="Process_Fsm.Route.html##(ACT_ROUTE)">Process<em>Fsm.Route#ACT</em>ROUTE</a> is started to route the active Units in the Group to the attack zone.</li>
<li><strong>Assigned</strong>: The SEAD task is assigned to a <a href="Group.html##(GROUP)">Group#GROUP</a>. Upon Assigned, the sub-process <a href="Process_Fsm.Route.html##(ACT_ROUTE)">Process<em>Fsm.Route#ACT</em>ROUTE</a> is started to route the active Units in the Group to the attack zone.</li>
<li><strong>Success</strong>: The SEAD task is successfully completed. Upon Success, the sub-process <a href="Process_SEAD.html##(PROCESS_SEAD)">Process<em>SEAD#PROCESS</em>SEAD</a> is started to follow-up successful SEADing of the targets assigned in the task.</li>
<li><strong>Failed</strong>: The SEAD task has failed. This will happen if the player exists the task early, without communicating a possible cancellation to HQ.</li>
</ul>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -74,7 +75,7 @@
<h1>1) <a href="##(UNIT)">#UNIT</a> class, extends <a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a></h1>
<h1>1) <a href="##(UNIT)">#UNIT</a> class, extends <a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a></h1>
<p>The <a href="##(UNIT)">#UNIT</a> class is a wrapper class to handle the DCS Unit objects:</p>
<ul>
@@ -108,7 +109,7 @@ If the DCS Unit object does not exist or is nil, the UNIT methods will return ni
<h2>1.2) DCS UNIT APIs</h2>
<p>The DCS Unit APIs are used extensively within MOOSE. The UNIT class has for each DCS Unit API a corresponding method.
To be able to distinguish easily in your code the difference between a UNIT API call and a DCS Unit API call,
the first letter of the method is also capitalized. So, by example, the DCS Unit method <a href="Dcs.DCSWrapper.Unit.html##(Unit).getName">Dcs.DCSWrapper.Unit#Unit.getName</a>()
the first letter of the method is also capitalized. So, by example, the DCS Unit method <a href="DCSWrapper.Unit.html##(Unit).getName">DCSWrapper.Unit#Unit.getName</a>()
is implemented in the UNIT class as <a href="##(UNIT).GetName">UNIT.GetName</a>().</p>
<h2>1.3) Smoke, Flare Units</h2>
@@ -131,7 +132,7 @@ If you want to obtain the complete <strong>3D position</strong> including ori<72>
<p>The UNIT class contains methods to test the location or proximity against zones or other objects.</p>
<h3>1.6.1) Zones</h3>
<p>To test whether the Unit is within a <strong>zone</strong>, use the <a href="##(UNIT).IsInZone">UNIT.IsInZone</a>() or the <a href="##(UNIT).IsNotInZone">UNIT.IsNotInZone</a>() methods. Any zone can be tested on, but the zone must be derived from <a href="Core.Zone.html##(ZONE_BASE)">Core.Zone#ZONE_BASE</a>. </p>
<p>To test whether the Unit is within a <strong>zone</strong>, use the <a href="##(UNIT).IsInZone">UNIT.IsInZone</a>() or the <a href="##(UNIT).IsNotInZone">UNIT.IsNotInZone</a>() methods. Any zone can be tested on, but the zone must be derived from <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a>. </p>
<h3>1.6.2) Units</h3>
<p>Test if another DCS Unit is within a given radius of the current DCS Unit, use the <a href="##(UNIT).OtherUnitInRadius">UNIT.OtherUnitInRadius</a>() method.</p>
@@ -1236,7 +1237,7 @@ The zone to test.</p>
<h3>Return value</h3>
<p><em>#boolean:</em>
Returns true if the unit is within the <a href="Core.Zone.html##(ZONE_BASE)">Core.Zone#ZONE_BASE</a></p>
Returns true if the unit is within the <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></p>
</dd>
</dl>
@@ -1263,7 +1264,7 @@ The zone to test.</p>
<h3>Return value</h3>
<p><em>#boolean:</em>
Returns true if the unit is not within the <a href="Core.Zone.html##(ZONE_BASE)">Core.Zone#ZONE_BASE</a></p>
Returns true if the unit is not within the <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></p>
</dd>
</dl>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -70,7 +71,7 @@
<div id="content">
<h1>Module <code>Zone</code></h1>
<p>This module contains the ZONE classes, inherited from <a href="Core.Zone.html##(ZONE_BASE)">Core.Zone#ZONE_BASE</a>.</p>
<p>This module contains the ZONE classes, inherited from <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a>.</p>
<p>There are essentially two core functions that zones accomodate:</p>
@@ -84,7 +85,7 @@
<ul>
<li>Test if completely within the zone.</li>
<li>Test if partly within the zone (for <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> objects).</li>
<li>Test if partly within the zone (for <a href="Group.html##(GROUP)">Group#GROUP</a> objects).</li>
<li>Test if not in the zone.</li>
<li>Distance to the nearest intersecting point of the zone.</li>
<li>Distance to the center of the zone.</li>
@@ -94,17 +95,17 @@
<p>Each of these ZONE classes have a zone name, and specific parameters defining the zone type:</p>
<ul>
<li><a href="Core.Zone.html##(ZONE_BASE)">Core.Zone#ZONE_BASE</a>: The ZONE_BASE class defining the base for all other zone classes.</li>
<li><a href="Core.Zone.html##(ZONE_RADIUS)">Core.Zone#ZONE_RADIUS</a>: The ZONE_RADIUS class defined by a zone name, a location and a radius.</li>
<li><a href="Core.Zone.html##(ZONE)">Core.Zone#ZONE</a>: The ZONE class, defined by the zone name as defined within the Mission Editor.</li>
<li><a href="Core.Zone.html##(ZONE_UNIT)">Core.Zone#ZONE_UNIT</a>: The ZONE_UNIT class defines by a zone around a <a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a> with a radius.</li>
<li><a href="Core.Zone.html##(ZONE_GROUP)">Core.Zone#ZONE_GROUP</a>: The ZONE_GROUP class defines by a zone around a <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> with a radius.</li>
<li><a href="Core.Zone.html##(ZONE_POLYGON)">Core.Zone#ZONE_POLYGON</a>: The ZONE_POLYGON class defines by a sequence of <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> waypoints within the Mission Editor, forming a polygon.</li>
<li><a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a>: The ZONE_BASE class defining the base for all other zone classes.</li>
<li><a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a>: The ZONE_RADIUS class defined by a zone name, a location and a radius.</li>
<li><a href="Zone.html##(ZONE)">Zone#ZONE</a>: The ZONE class, defined by the zone name as defined within the Mission Editor.</li>
<li><a href="Zone.html##(ZONE_UNIT)">Zone#ZONE_UNIT</a>: The ZONE_UNIT class defines by a zone around a <a href="Unit.html##(UNIT)">Unit#UNIT</a> with a radius.</li>
<li><a href="Zone.html##(ZONE_GROUP)">Zone#ZONE_GROUP</a>: The ZONE_GROUP class defines by a zone around a <a href="Group.html##(GROUP)">Group#GROUP</a> with a radius.</li>
<li><a href="Zone.html##(ZONE_POLYGON)">Zone#ZONE_POLYGON</a>: The ZONE_POLYGON class defines by a sequence of <a href="Group.html##(GROUP)">Group#GROUP</a> waypoints within the Mission Editor, forming a polygon.</li>
</ul>
<hr/>
<h1>1) <a href="Core.Zone.html##(ZONE_BASE)">Core.Zone#ZONE_BASE</a> class, extends <a href="Core.Base.html##(BASE)">Core.Base#BASE</a></h1>
<h1>1) <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p>This class is an abstract BASE class for derived classes, and is not meant to be instantiated.</p>
<h3>1.1) Each zone has a name:</h3>
@@ -113,11 +114,11 @@
<li><a href="##(ZONE_BASE).GetName">ZONE_BASE.GetName</a>(): Returns the name of the zone.</li>
</ul>
<h3>1.2) Each zone implements two polymorphic functions defined in <a href="Core.Zone.html##(ZONE_BASE)">Core.Zone#ZONE_BASE</a>:</h3>
<h3>1.2) Each zone implements two polymorphic functions defined in <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a>:</h3>
<ul>
<li><a href="##(ZONE_BASE).IsPointVec2InZone">ZONE_BASE.IsPointVec2InZone</a>(): Returns if a <a href="Core.Point.html##(POINT_VEC2)">Core.Point#POINT_VEC2</a> is within the zone.</li>
<li><a href="##(ZONE_BASE).IsPointVec3InZone">ZONE_BASE.IsPointVec3InZone</a>(): Returns if a <a href="Core.Point.html##(POINT_VEC3)">Core.Point#POINT_VEC3</a> is within the zone.</li>
<li><a href="##(ZONE_BASE).IsPointVec2InZone">ZONE_BASE.IsPointVec2InZone</a>(): Returns if a <a href="Point.html##(POINT_VEC2)">Point#POINT_VEC2</a> is within the zone.</li>
<li><a href="##(ZONE_BASE).IsPointVec3InZone">ZONE_BASE.IsPointVec3InZone</a>(): Returns if a <a href="Point.html##(POINT_VEC3)">Point#POINT_VEC3</a> is within the zone.</li>
</ul>
<h3>1.3) A zone has a probability factor that can be set to randomize a selection between zones:</h3>
@@ -131,8 +132,8 @@
<h3>1.4) A zone manages Vectors:</h3>
<ul>
<li><a href="##(ZONE_BASE).GetVec2">ZONE_BASE.GetVec2</a>(): Returns the <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a> coordinate of the zone.</li>
<li><a href="##(ZONE_BASE).GetRandomVec2">ZONE_BASE.GetRandomVec2</a>(): Define a random <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a> within the zone.</li>
<li><a href="##(ZONE_BASE).GetVec2">ZONE_BASE.GetVec2</a>(): Returns the <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> coordinate of the zone.</li>
<li><a href="##(ZONE_BASE).GetRandomVec2">ZONE_BASE.GetRandomVec2</a>(): Define a random <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> within the zone.</li>
</ul>
<h3>1.5) A zone has a bounding square:</h3>
@@ -150,11 +151,11 @@
<hr/>
<h1>2) <a href="Core.Zone.html##(ZONE_RADIUS)">Core.Zone#ZONE_RADIUS</a> class, extends <a href="Core.Zone.html##(ZONE_BASE)">Core.Zone#ZONE_BASE</a></h1>
<h1>2) <a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a> class, extends <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></h1>
<p>The ZONE<em>RADIUS class defined by a zone name, a location and a radius.
This class implements the inherited functions from Core.Zone#ZONE</em>BASE taking into account the own zone format and properties.</p>
<h3>2.1) <a href="Core.Zone.html##(ZONE_RADIUS)">Core.Zone#ZONE_RADIUS</a> constructor:</h3>
<h3>2.1) <a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a> constructor:</h3>
<ul>
<li><a href="##(ZONE_BASE).New">ZONE_BASE.New</a>(): Constructor.</li>
@@ -170,41 +171,41 @@ This class implements the inherited functions from Core.Zone#ZONE</em>BASE takin
<h3>2.3) Manage the location of the zone:</h3>
<ul>
<li><a href="##(ZONE_BASE).SetVec2">ZONE_BASE.SetVec2</a>(): Sets the <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a> of the zone.</li>
<li><a href="##(ZONE_BASE).GetVec2">ZONE_BASE.GetVec2</a>(): Returns the <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a> of the zone.</li>
<li><a href="##(ZONE_BASE).GetVec3">ZONE_BASE.GetVec3</a>(): Returns the <a href="Dcs.DCSTypes.html##(Vec3)">Dcs.DCSTypes#Vec3</a> of the zone, taking an additional height parameter.</li>
<li><a href="##(ZONE_BASE).SetVec2">ZONE_BASE.SetVec2</a>(): Sets the <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> of the zone.</li>
<li><a href="##(ZONE_BASE).GetVec2">ZONE_BASE.GetVec2</a>(): Returns the <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> of the zone.</li>
<li><a href="##(ZONE_BASE).GetVec3">ZONE_BASE.GetVec3</a>(): Returns the <a href="DCSTypes.html##(Vec3)">DCSTypes#Vec3</a> of the zone, taking an additional height parameter.</li>
</ul>
<hr/>
<h1>3) <a href="Core.Zone.html##(ZONE)">Core.Zone#ZONE</a> class, extends <a href="Core.Zone.html##(ZONE_RADIUS)">Core.Zone#ZONE_RADIUS</a></h1>
<h1>3) <a href="Zone.html##(ZONE)">Zone#ZONE</a> class, extends <a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a></h1>
<p>The ZONE class, defined by the zone name as defined within the Mission Editor.
This class implements the inherited functions from {Core.Zone#ZONE_RADIUS} taking into account the own zone format and properties.</p>
<hr/>
<h1>4) <a href="Core.Zone.html##(ZONE_UNIT)">Core.Zone#ZONE_UNIT</a> class, extends <a href="Core.Zone.html##(ZONE_RADIUS)">Core.Zone#ZONE_RADIUS</a></h1>
<p>The ZONE_UNIT class defined by a zone around a <a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a> with a radius.
This class implements the inherited functions from <a href="Core.Zone.html##(ZONE_RADIUS)">Core.Zone#ZONE_RADIUS</a> taking into account the own zone format and properties.</p>
<h1>4) <a href="Zone.html##(ZONE_UNIT)">Zone#ZONE_UNIT</a> class, extends <a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a></h1>
<p>The ZONE_UNIT class defined by a zone around a <a href="Unit.html##(UNIT)">Unit#UNIT</a> with a radius.
This class implements the inherited functions from <a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a> taking into account the own zone format and properties.</p>
<hr/>
<h1>5) <a href="Core.Zone.html##(ZONE_GROUP)">Core.Zone#ZONE_GROUP</a> class, extends <a href="Core.Zone.html##(ZONE_RADIUS)">Core.Zone#ZONE_RADIUS</a></h1>
<p>The ZONE_GROUP class defines by a zone around a <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> with a radius. The current leader of the group defines the center of the zone.
This class implements the inherited functions from <a href="Core.Zone.html##(ZONE_RADIUS)">Core.Zone#ZONE_RADIUS</a> taking into account the own zone format and properties.</p>
<h1>5) <a href="Zone.html##(ZONE_GROUP)">Zone#ZONE_GROUP</a> class, extends <a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a></h1>
<p>The ZONE_GROUP class defines by a zone around a <a href="Group.html##(GROUP)">Group#GROUP</a> with a radius. The current leader of the group defines the center of the zone.
This class implements the inherited functions from <a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a> taking into account the own zone format and properties.</p>
<hr/>
<h1>6) <a href="Core.Zone.html##(ZONE_POLYGON_BASE)">Core.Zone#ZONE<em>POLYGON</em>BASE</a> class, extends <a href="Core.Zone.html##(ZONE_BASE)">Core.Zone#ZONE_BASE</a></h1>
<p>The ZONE<em>POLYGON</em>BASE class defined by a sequence of <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> waypoints within the Mission Editor, forming a polygon.
This class implements the inherited functions from <a href="Core.Zone.html##(ZONE_RADIUS)">Core.Zone#ZONE_RADIUS</a> taking into account the own zone format and properties.
<h1>6) <a href="Zone.html##(ZONE_POLYGON_BASE)">Zone#ZONE<em>POLYGON</em>BASE</a> class, extends <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></h1>
<p>The ZONE<em>POLYGON</em>BASE class defined by a sequence of <a href="Group.html##(GROUP)">Group#GROUP</a> waypoints within the Mission Editor, forming a polygon.
This class implements the inherited functions from <a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a> taking into account the own zone format and properties.
This class is an abstract BASE class for derived classes, and is not meant to be instantiated.</p>
<hr/>
<h1>7) <a href="Core.Zone.html##(ZONE_POLYGON)">Core.Zone#ZONE_POLYGON</a> class, extends <a href="Core.Zone.html##(ZONE_POLYGON_BASE)">Core.Zone#ZONE<em>POLYGON</em>BASE</a></h1>
<p>The ZONE_POLYGON class defined by a sequence of <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> waypoints within the Mission Editor, forming a polygon.
This class implements the inherited functions from <a href="Core.Zone.html##(ZONE_RADIUS)">Core.Zone#ZONE_RADIUS</a> taking into account the own zone format and properties.</p>
<h1>7) <a href="Zone.html##(ZONE_POLYGON)">Zone#ZONE_POLYGON</a> class, extends <a href="Zone.html##(ZONE_POLYGON_BASE)">Zone#ZONE<em>POLYGON</em>BASE</a></h1>
<p>The ZONE_POLYGON class defined by a sequence of <a href="Group.html##(GROUP)">Group#GROUP</a> waypoints within the Mission Editor, forming a polygon.
This class implements the inherited functions from <a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a> taking into account the own zone format and properties.</p>
<hr/>
@@ -314,13 +315,13 @@ This class implements the inherited functions from <a href="Core.Zone.html##(ZON
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_BASE).GetRandomVec2">ZONE_BASE:GetRandomVec2()</a></td>
<td class="summary">
<p>Define a random <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a> within the zone.</p>
<p>Define a random <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> within the zone.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_BASE).GetVec2">ZONE_BASE:GetVec2()</a></td>
<td class="summary">
<p>Returns the <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a> coordinate of the zone.</p>
<p>Returns the <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> coordinate of the zone.</p>
</td>
</tr>
<tr>
@@ -430,7 +431,7 @@ This class implements the inherited functions from <a href="Core.Zone.html##(ZON
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_GROUP).New">ZONE_GROUP:New(ZoneName, ZoneGROUP, Radius)</a></td>
<td class="summary">
<p>Constructor to create a ZONE_GROUP instance, taking the zone name, a zone <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> and a radius.</p>
<p>Constructor to create a ZONE_GROUP instance, taking the zone name, a zone <a href="Group.html##(GROUP)">Group#GROUP</a> and a radius.</p>
</td>
</tr>
<tr>
@@ -452,7 +453,7 @@ This class implements the inherited functions from <a href="Core.Zone.html##(ZON
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_POLYGON).New">ZONE_POLYGON:New(ZoneName, ZoneGroup)</a></td>
<td class="summary">
<p>Constructor to create a ZONE_POLYGON instance, taking the zone name and the name of the <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> defined within the Mission Editor.</p>
<p>Constructor to create a ZONE_POLYGON instance, taking the zone name and the name of the <a href="Group.html##(GROUP)">Group#GROUP</a> defined within the Mission Editor.</p>
</td>
</tr>
</table>
@@ -480,7 +481,7 @@ This class implements the inherited functions from <a href="Core.Zone.html##(ZON
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_POLYGON_BASE).GetRandomVec2">ZONE_POLYGON_BASE:GetRandomVec2()</a></td>
<td class="summary">
<p>Define a random <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a> within the zone.</p>
<p>Define a random <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> within the zone.</p>
</td>
</tr>
<tr>
@@ -492,13 +493,13 @@ This class implements the inherited functions from <a href="Core.Zone.html##(ZON
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_POLYGON_BASE).New">ZONE_POLYGON_BASE:New(ZoneName, PointsArray)</a></td>
<td class="summary">
<p>Constructor to create a ZONE<em>POLYGON</em>BASE instance, taking the zone name and an array of <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a>, forming a polygon.</p>
<p>Constructor to create a ZONE<em>POLYGON</em>BASE instance, taking the zone name and an array of <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>, forming a polygon.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_POLYGON_BASE).Polygon">ZONE_POLYGON_BASE.Polygon</a></td>
<td class="summary">
<p>The polygon defined by an array of <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a>.</p>
<p>The polygon defined by an array of <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>.</p>
</td>
</tr>
<tr>
@@ -530,7 +531,7 @@ This class implements the inherited functions from <a href="Core.Zone.html##(ZON
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).GetRandomVec2">ZONE_RADIUS:GetRandomVec2()</a></td>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).GetRandomVec2">ZONE_RADIUS:GetRandomVec2(inner, outer)</a></td>
<td class="summary">
<p>Returns a random location within the zone.</p>
</td>
@@ -538,13 +539,13 @@ This class implements the inherited functions from <a href="Core.Zone.html##(ZON
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).GetVec2">ZONE_RADIUS:GetVec2()</a></td>
<td class="summary">
<p>Returns the <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a> of the zone.</p>
<p>Returns the <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> of the zone.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).GetVec3">ZONE_RADIUS:GetVec3(Height)</a></td>
<td class="summary">
<p>Returns the <a href="Dcs.DCSTypes.html##(Vec3)">Dcs.DCSTypes#Vec3</a> of the ZONE_RADIUS.</p>
<p>Returns the <a href="DCSTypes.html##(Vec3)">DCSTypes#Vec3</a> of the ZONE_RADIUS.</p>
</td>
</tr>
<tr>
@@ -580,7 +581,7 @@ This class implements the inherited functions from <a href="Core.Zone.html##(ZON
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).SetVec2">ZONE_RADIUS:SetVec2(Vec2)</a></td>
<td class="summary">
<p>Sets the <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a> of the zone.</p>
<p>Sets the <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> of the zone.</p>
</td>
</tr>
<tr>
@@ -614,13 +615,13 @@ This class implements the inherited functions from <a href="Core.Zone.html##(ZON
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_UNIT).GetVec2">ZONE_UNIT:GetVec2()</a></td>
<td class="summary">
<p>Returns the current location of the <a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a>.</p>
<p>Returns the current location of the <a href="Unit.html##(UNIT)">Unit#UNIT</a>.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_UNIT).GetVec3">ZONE_UNIT:GetVec3(Height)</a></td>
<td class="summary">
<p>Returns the <a href="Dcs.DCSTypes.html##(Vec3)">Dcs.DCSTypes#Vec3</a> of the ZONE_UNIT.</p>
<p>Returns the <a href="DCSTypes.html##(Vec3)">DCSTypes#Vec3</a> of the ZONE_UNIT.</p>
</td>
</tr>
<tr>
@@ -858,7 +859,7 @@ The name of the zone.</p>
</dt>
<dd>
<p>Define a random <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a> within the zone.</p>
<p>Define a random <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> within the zone.</p>
<h3>Return value</h3>
@@ -876,7 +877,7 @@ The Vec2 coordinates.</p>
</dt>
<dd>
<p>Returns the <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a> coordinate of the zone.</p>
<p>Returns the <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> coordinate of the zone.</p>
<h3>Return value</h3>
@@ -1211,7 +1212,7 @@ The location of the zone based on the <a href="Group.html">Group</a> location.</
</dt>
<dd>
<p>Constructor to create a ZONE_GROUP instance, taking the zone name, a zone <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> and a radius.</p>
<p>Constructor to create a ZONE_GROUP instance, taking the zone name, a zone <a href="Group.html##(GROUP)">Group#GROUP</a> and a radius.</p>
<h3>Parameters</h3>
<ul>
@@ -1258,7 +1259,7 @@ self</p>
<h2><a id="#(ZONE_POLYGON)" >Type <code>ZONE_POLYGON</code></a></h2>
<p>The ZONE_POLYGON class defined by a sequence of <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> waypoints within the Mission Editor, forming a polygon.</p>
<p>The ZONE_POLYGON class defined by a sequence of <a href="Group.html##(GROUP)">Group#GROUP</a> waypoints within the Mission Editor, forming a polygon.</p>
<h3>Field(s)</h3>
<dl class="function">
@@ -1284,10 +1285,10 @@ self</p>
</dt>
<dd>
<p>Constructor to create a ZONE_POLYGON instance, taking the zone name and the name of the <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> defined within the Mission Editor.</p>
<p>Constructor to create a ZONE_POLYGON instance, taking the zone name and the name of the <a href="Group.html##(GROUP)">Group#GROUP</a> defined within the Mission Editor.</p>
<p>The <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> waypoints define the polygon corners. The first and the last point are automatically connected by ZONE_POLYGON.</p>
<p>The <a href="Group.html##(GROUP)">Group#GROUP</a> waypoints define the polygon corners. The first and the last point are automatically connected by ZONE_POLYGON.</p>
<h3>Parameters</h3>
<ul>
@@ -1314,7 +1315,7 @@ self</p>
<h2><a id="#(ZONE_POLYGON_BASE)" >Type <code>ZONE_POLYGON_BASE</code></a></h2>
<p>The ZONE<em>POLYGON</em>BASE class defined by an array of <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a>, forming a polygon.</p>
<p>The ZONE<em>POLYGON</em>BASE class defined by an array of <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>, forming a polygon.</p>
<h3>Field(s)</h3>
<dl class="function">
@@ -1376,7 +1377,7 @@ The bounding square.</p>
</dt>
<dd>
<p>Define a random <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a> within the zone.</p>
<p>Define a random <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> within the zone.</p>
<h3>Return value</h3>
@@ -1424,10 +1425,10 @@ true if the location is within the zone.</p>
</dt>
<dd>
<p>Constructor to create a ZONE<em>POLYGON</em>BASE instance, taking the zone name and an array of <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a>, forming a polygon.</p>
<p>Constructor to create a ZONE<em>POLYGON</em>BASE instance, taking the zone name and an array of <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>, forming a polygon.</p>
<p>The <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> waypoints define the polygon corners. The first and the last point are automatically connected.</p>
<p>The <a href="Group.html##(GROUP)">Group#GROUP</a> waypoints define the polygon corners. The first and the last point are automatically connected.</p>
<h3>Parameters</h3>
<ul>
@@ -1440,7 +1441,7 @@ Name of the zone.</p>
<li>
<p><code><em><a href="##(ZONE_POLYGON_BASE.ListVec2)">#ZONE<em>POLYGON</em>BASE.ListVec2</a> PointsArray </em></code>:
An array of <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a>, forming a polygon..</p>
An array of <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>, forming a polygon..</p>
</li>
</ul>
@@ -1461,7 +1462,7 @@ self</p>
</dt>
<dd>
<p>The polygon defined by an array of <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a>.</p>
<p>The polygon defined by an array of <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>.</p>
</dd>
</dl>
@@ -1580,13 +1581,28 @@ The radius of the zone.</p>
<dt>
<a id="#(ZONE_RADIUS).GetRandomVec2" >
<strong>ZONE_RADIUS:GetRandomVec2()</strong>
<strong>ZONE_RADIUS:GetRandomVec2(inner, outer)</strong>
</a>
</dt>
<dd>
<p>Returns a random location within the zone.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#number inner </em></code>:
minimal distance from the center of the zone</p>
</li>
<li>
<p><code><em>#number outer </em></code>:
minimal distance from the outer edge of the zone</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a>:</em>
@@ -1603,7 +1619,7 @@ The random location within the zone.</p>
</dt>
<dd>
<p>Returns the <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a> of the zone.</p>
<p>Returns the <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> of the zone.</p>
<h3>Return value</h3>
@@ -1621,7 +1637,7 @@ The location of the zone.</p>
</dt>
<dd>
<p>Returns the <a href="Dcs.DCSTypes.html##(Vec3)">Dcs.DCSTypes#Vec3</a> of the ZONE_RADIUS.</p>
<p>Returns the <a href="DCSTypes.html##(Vec3)">DCSTypes#Vec3</a> of the ZONE_RADIUS.</p>
<h3>Parameter</h3>
<ul>
@@ -1782,7 +1798,7 @@ The radius of the zone.</p>
</dt>
<dd>
<p>Sets the <a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a> of the zone.</p>
<p>Sets the <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> of the zone.</p>
<h3>Parameter</h3>
<ul>
@@ -1850,7 +1866,7 @@ self</p>
<h2><a id="#(ZONE_UNIT)" >Type <code>ZONE_UNIT</code></a></h2>
<p>The ZONE_UNIT class defined by a zone around a <a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a> with a radius.</p>
<p>The ZONE_UNIT class defined by a zone around a <a href="Unit.html##(UNIT)">Unit#UNIT</a> with a radius.</p>
<h3>Field(s)</h3>
<dl class="function">
@@ -1894,12 +1910,12 @@ The random location within the zone.</p>
</dt>
<dd>
<p>Returns the current location of the <a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a>.</p>
<p>Returns the current location of the <a href="Unit.html##(UNIT)">Unit#UNIT</a>.</p>
<h3>Return value</h3>
<p><em><a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a>:</em>
The location of the zone based on the <a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a>location.</p>
The location of the zone based on the <a href="Unit.html##(UNIT)">Unit#UNIT</a>location.</p>
</dd>
</dl>
@@ -1912,7 +1928,7 @@ The location of the zone based on the <a href="Wrapper.Unit.html##(UNIT)">Wrappe
</dt>
<dd>
<p>Returns the <a href="Dcs.DCSTypes.html##(Vec3)">Dcs.DCSTypes#Vec3</a> of the ZONE_UNIT.</p>
<p>Returns the <a href="DCSTypes.html##(Vec3)">DCSTypes#Vec3</a> of the ZONE_UNIT.</p>
<h3>Parameter</h3>
<ul>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>
@@ -79,12 +80,11 @@ even when there are hardly any players in the mission.</strong></p>
<p><img src="..\Presentations\AI_Balancer\Dia1.JPG" alt="Banner Image"/></p>
<hr/>
<h1>1) <a href="AI.AI_Balancer.html##(AI_BALANCER)">AI.AI<em>Balancer#AI</em>BALANCER</a> class, extends <a href="Core.Fsm.html##(FSM_SET)">Core.Fsm#FSM_SET</a></h1>
<h1>1) <a href="AI_Balancer.html##(AI_BALANCER)">AI<em>Balancer#AI</em>BALANCER</a> class, extends <a href="Fsm.html##(FSM_SET)">Fsm#FSM_SET</a></h1>
<p>The <a href="AI.AI_Balancer.html##(AI_BALANCER)">AI.AI<em>Balancer#AI</em>BALANCER</a> class monitors and manages as many replacement AI groups as there are
<p>The <a href="AI_Balancer.html##(AI_BALANCER)">AI<em>Balancer#AI</em>BALANCER</a> class monitors and manages as many replacement AI groups as there are
CLIENTS in a SET_CLIENT collection, which are not occupied by human players.</p>
</td>
</tr>
@@ -95,10 +95,9 @@ CLIENTS in a SET_CLIENT collection, which are not occupied by human players.</p>
<p><img src="..\Presentations\AI_CAP\Dia1.JPG" alt="Banner Image"/></p>
<hr/>
<h1>1) <a href="##(AI_CAP_ZONE)">#AI<em>CAP</em>ZONE</a> class, extends <a href="AI.AI_CAP.html##(AI_PATROL_ZONE)">AI.AI<em>CAP#AI</em>PATROL_ZONE</a></h1>
<h1>1) <a href="##(AI_CAP_ZONE)">#AI<em>CAP</em>ZONE</a> class, extends <a href="AI_CAP.html##(AI_PATROL_ZONE)">AI<em>CAP#AI</em>PATROL_ZONE</a></h1>
<p>The <a href="##(AI_CAP_ZONE)">#AI<em>CAP</em>ZONE</a> class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Controllable.html">Controllable</a> or <a href="Group.html">Group</a>
and automatically engage any airborne enemies that are within a certain range or within a certain zone.</p>
@@ -107,29 +106,29 @@ and automatically engage any airborne enemies that are within a certain range or
<tr>
<td class="name" nowrap="nowrap"><a href="AI_Cas.html">AI_Cas</a></td>
<td class="summary">
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> -- <strong>Provide Close Air Support to friendly ground troops.</strong></p>
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> --
<strong>Provide Close Air Support to friendly ground troops.</strong></p>
<p><img src="..\Presentations\AI_CAS\Dia1.JPG" alt="Banner Image"/></p>
<hr/>
<h1>1) <a href="##(AI_CAS_ZONE)">#AI<em>CAS</em>ZONE</a> class, extends <a href="AI.AI_Patrol.html##(AI_PATROL_ZONE)">AI.AI<em>Patrol#AI</em>PATROL_ZONE</a></h1>
<h1>1) <a href="##(AI_CAS_ZONE)">#AI<em>CAS</em>ZONE</a> class, extends <a href="AI_Patrol.html##(AI_PATROL_ZONE)">AI<em>Patrol#AI</em>PATROL_ZONE</a></h1>
<p><a href="##(AI_CAS_ZONE)">#AI<em>CAS</em>ZONE</a> derives from the <a href="AI.AI_Patrol.html##(AI_PATROL_ZONE)">AI.AI<em>Patrol#AI</em>PATROL_ZONE</a>, inheriting its methods and behaviour.</p>
<p><a href="##(AI_CAS_ZONE)">#AI<em>CAS</em>ZONE</a> derives from the <a href="AI_Patrol.html##(AI_PATROL_ZONE)">AI<em>Patrol#AI</em>PATROL_ZONE</a>, inheriting its methods and behaviour.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="AI_Patrol.html">AI_Patrol</a></td>
<td class="summary">
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> -- <strong>Air Patrolling or Staging.</strong></p>
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> --
<strong>Air Patrolling or Staging.</strong></p>
<p><img src="..\Presentations\AI_PATROL\Dia1.JPG" alt="Banner Image"/></p>
<hr/>
<h1>1) <a href="##(AI_PATROL_ZONE)">#AI<em>PATROL</em>ZONE</a> class, extends <a href="Core.Fsm.html##(FSM_CONTROLLABLE)">Core.Fsm#FSM_CONTROLLABLE</a></h1>
<h1>1) <a href="##(AI_PATROL_ZONE)">#AI<em>PATROL</em>ZONE</a> class, extends <a href="Fsm.html##(FSM_CONTROLLABLE)">Fsm#FSM_CONTROLLABLE</a></h1>
<p>The <a href="##(AI_PATROL_ZONE)">#AI<em>PATROL</em>ZONE</a> class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Controllable.html">Controllable</a> or <a href="Group.html">Group</a>.</p>
</td>
@@ -167,7 +166,18 @@ and automatically engage any airborne enemies that are within a certain range or
<tr>
<td class="name" nowrap="nowrap"><a href="Cargo.html">Cargo</a></td>
<td class="summary">
<p>Single-Player:Yes / Mulit-Player:Yes / AI:Yes / Human:No / Types:Ground -- Management of logical cargo objects, that can be transported from and to transportation carriers.</p>
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Ground</strong> -- <br/>
<strong>Management of logical cargo objects, that can be transported from and to transportation carriers.</strong></p>
<p><img src="..\Presentations\AI_CARGO\CARGO.JPG" alt="Banner Image"/></p>
<hr/>
<p>Cargo can be of various forms, always are composed out of ONE object ( one unit or one static or one slingload crate ):</p>
<ul>
<li>AI<em>CARGO</em>UNIT, represented by a <a href="Unit.html">Unit</a> in a <a href="Group.html">Group</a>: Cargo can be represented by a Unit in a Group.</li>
</ul>
</td>
</tr>
<tr>
@@ -204,6 +214,12 @@ and automatically engage any airborne enemies that are within a certain range or
<td class="name" nowrap="nowrap"><a href="Detection.html">Detection</a></td>
<td class="summary">
<p> This module contains the DETECTION classes.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="DetectionManager.html">DetectionManager</a></td>
<td class="summary">
<p>This module contains the DETECTION_MANAGER class and derived classes.</p>
</td>
</tr>
<tr>
@@ -341,7 +357,16 @@ and automatically engage any airborne enemies that are within a certain range or
<tr>
<td class="name" nowrap="nowrap"><a href="Spawn.html">Spawn</a></td>
<td class="summary">
<p>This module contains the SPAWN class.</p>
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>All</strong> -- <br/>
<strong>Spawn groups of units dynamically in your missions.</strong></p>
<p><img src="..\Presentations\SPAWN\SPAWN.JPG" alt="Banner Image"/></p>
<hr/>
<h1>1) <a href="##(SPAWN)">#SPAWN</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p>The <a href="##(SPAWN)">#SPAWN</a> class allows to spawn dynamically new groups, based on pre-defined initialization settings, modifying the behaviour when groups are spawned.</p>
</td>
</tr>
<tr>
@@ -390,7 +415,7 @@ which are excellent tools to be reused in an OO environment!.</p>
<tr>
<td class="name" nowrap="nowrap"><a href="Zone.html">Zone</a></td>
<td class="summary">
<p>This module contains the ZONE classes, inherited from <a href="Core.Zone.html##(ZONE_BASE)">Core.Zone#ZONE_BASE</a>.</p>
<p>This module contains the ZONE classes, inherited from <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a>.</p>
</td>
</tr>
<tr>

View File

@@ -33,6 +33,7 @@
<li><a href="Controllable.html">Controllable</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="Fsm.html">Fsm</a></li>

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB