Documentation

This commit is contained in:
FlightControl
2017-05-29 18:02:57 +02:00
parent 4e29565382
commit 9984055f7d
101 changed files with 1131 additions and 1993 deletions

View File

@@ -134,22 +134,7 @@
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
<p>The underlying change log documents the API changes. Please read this carefully. The following notation is used:</p>
<ul>
<li><strong>Added</strong> parts are expressed in bold type face.</li>
<li><em>Removed</em> parts are expressed in italic type face.</li>
</ul>
<p>Hereby the change log:</p>
<p>2017-01-15: Initial class and API.</p>
<hr/>
<h1><strong>AUTHORS and CONTRIBUTIONS</strong></h1>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
@@ -157,11 +142,7 @@
<li><strong><a href="http://forums.eagle.ru:8080/member.php?u=75036">Gunterlund</a></strong>: Test case revision.</li>
</ul>
<h3>Authors:</h3>
<ul>
<li><strong>FlightControl</strong>: Concept, Design &amp; Programming.</li>
</ul>
<hr/>
<h2>Global(s)</h2>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>AI_Balancer</code></h1>
<p>Single-Player:<strong>No</strong> / Multi-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>All</strong> -- <strong>AI Balancing will replace in multi player missions
<p><strong>AI</strong> -- <strong>AI Balancing will replace in multi player missions
non-occupied human slots with AI groups, in order to provide an engaging simulation environment,
even when there are hardly any players in the mission.</strong></p>
@@ -124,40 +124,17 @@ even when there are hardly any players in the mission.</strong></p>
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
<p>The underlying change log documents the API changes.</p>
<p>Please read this carefully. The following notation is used:</p>
<ul>
<li><strong>Added</strong> parts are expressed in bold type face.</li>
<li><em>Removed</em> parts are expressed in italic type face.</li>
</ul>
<p>Hereby the change log:</p>
<p>2017-01-17: There is still a problem with AI being destroyed, but not respawned. Need to check further upon that.</p>
<p>2017-01-08: AI_BALANCER:<strong>InitSpawnInterval( Earliest, Latest )</strong> added.</p>
<hr/>
<h1><strong>AUTHORS and CONTRIBUTIONS</strong></h1>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<ul>
<li><strong><a href="https://forums.eagle.ru/member.php?u=112075">Dutch_Baron</a></strong>: Working together with James has resulted in the creation of the AI_BALANCER class. James has shared his ideas on balancing AI with air units, and together we made a first design which you can use now :-)</li>
<li><strong>SNAFU</strong>: Had a couple of mails with the guys to validate, if the same concept in the GCI/CAP script could be reworked within MOOSE. None of the script code has been used however within the new AI_BALANCER moose class.</li>
<li><strong><a href="https://forums.eagle.ru/member.php?u=112075">Dutch_Baron</a></strong>: Working together with James has resulted in the creation of the AI_BALANCER class.</li>
</ul>
<h3>Authors:</h3>
<p>James has shared his ideas on balancing AI with air units, and together we made a first design which you can use now :-)</p>
<ul>
<li>FlightControl: Framework Design &amp; Programming and Documentation.</li>
</ul>
<hr/>
<h2>Global(s)</h2>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>AI_Cap</code></h1>
<p><strong>AI</strong> - <strong>Execute Combat Air Patrol (CAP).</strong></p>
<p><strong>AI</strong> -- <strong>Execute Combat Air Patrol (CAP).</strong></p>
<p><img src="..\Presentations\AI_CAP\Dia1.JPG" alt="Banner Image"/></p>
@@ -134,22 +134,7 @@
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
<p>The underlying change log documents the API changes. Please read this carefully. The following notation is used:</p>
<ul>
<li><strong>Added</strong> parts are expressed in bold type face.</li>
<li><em>Removed</em> parts are expressed in italic type face.</li>
</ul>
<p>Hereby the change log:</p>
<p>2017-01-15: Initial class and API.</p>
<hr/>
<h1><strong>AUTHORS and CONTRIBUTIONS</strong></h1>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
@@ -161,11 +146,7 @@
<li>**<a href="https://forums.eagle.ru/member.php?u=125166">Delta99</a>: Testing. </li>
</ul>
<h3>Authors:</h3>
<ul>
<li><strong>FlightControl</strong>: Concept, Design &amp; Programming.</li>
</ul>
<hr/>
<h2>Global(s)</h2>

View File

@@ -134,7 +134,8 @@
<hr/>
<h1><strong>AUTHORS and CONTRIBUTIONS</strong></h1>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
@@ -144,11 +145,7 @@
<li><strong><a href="http://forums.eagle.ru:8080/member.php?u=75036">Gunterlund</a></strong>: Test case revision.</li>
</ul>
<h3>Authors:</h3>
<ul>
<li><strong>FlightControl</strong>: Concept, Design &amp; Programming.</li>
</ul>
<hr/>
<h2>Global(s)</h2>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>AI_Formation</code></h1>
<p><strong>AI</strong> -- (R2.1) Build large <strong>formations</strong> of AI <a href="Group.html">Group</a>s flying together.</p>
<p><strong>AI</strong> -- Build large <strong>formations</strong> of AI <a href="Group.html">Group</a>s flying together.</p>
@@ -160,16 +160,12 @@ The purpose of the class is to:</p>
<hr/>
<h1><strong>AUTHORS and CONTRIBUTIONS</strong></h1>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<h3>Authors:</h3>
<ul>
<li><strong>FlightControl</strong>: Concept, Design &amp; Programming.
</li>
</ul>
<hr/>
<p> </p>
<h2>Global(s)</h2>
<table class="function_list">

View File

@@ -134,38 +134,7 @@
<hr/>
<h1><strong>OPEN ISSUES</strong></h1>
<p>2017-01-17: When Spawned AI is located at an airbase, it will be routed first back to the airbase after take-off.</p>
<p>2016-01-17:
-- Fixed problem with AI returning to base too early and unexpected.
-- ReSpawning of AI will reset the AI_PATROL and derived classes.
-- Checked the correct workings of SCHEDULER, and it DOES work correctly.</p>
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
<p>The underlying change log documents the API changes. Please read this carefully. The following notation is used:</p>
<ul>
<li><strong>Added</strong> parts are expressed in bold type face.</li>
<li><em>Removed</em> parts are expressed in italic type face.</li>
</ul>
<p>Hereby the change log:</p>
<p>2017-01-17: Rename of class: <strong>AI_PATROL_ZONE</strong> is the new name for the old <em>AI_PATROLZONE</em>.</p>
<p>2017-01-15: Complete revision. AI<em>PATROL</em>ZONE is the base class for other AI_PATROL like classes.</p>
<p>2016-09-01: Initial class and API.</p>
<hr/>
<h1><strong>AUTHORS and CONTRIBUTIONS</strong></h1>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<ul>
@@ -173,11 +142,7 @@
<li><strong><a href="https://forums.eagle.ru/member.php?u=62835">Pikey</a></strong>: Testing and API concept review.</li>
</ul>
<h3>Authors:</h3>
<ul>
<li><strong>FlightControl</strong>: Design &amp; Programming.</li>
</ul>
<hr/>
<h2>Global(s)</h2>
@@ -956,6 +921,9 @@ Use the method <a href="##(AI_PATROL_ZONE).ManageDamage">AI<em>PATROL</em>ZONE.M
<p> This table contains the targets detected during patrol.</p>
</dd>
</dl>
<dl class="function">

View File

@@ -100,49 +100,17 @@
<div id="content">
<h1>Module <code>Airbase</code></h1>
<p>This module contains the AIRBASE classes.</p>
<p><strong>Wrapper</strong> -- AIRBASE is a wrapper class to handle the DCS Airbase objects.</p>
<hr/>
<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>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<ul>
<li>Support all DCS Airbase APIs.</li>
<li>Enhance with Airbase specific APIs not in the DCS Airbase API set.</li>
</ul>
<h3>Contributions:</h3>
<h2>1.1) AIRBASE reference methods</h2>
<p>For each DCS Airbase object alive within a running mission, a AIRBASE wrapper object (instance) will be created within the _<a href="DATABASE.html">DATABASE</a> object.
This is done at the beginning of the mission (when the mission starts).</p>
<p>The AIRBASE class <strong>does not contain a :New()</strong> method, rather it provides <strong>:Find()</strong> methods to retrieve the object reference
using the DCS Airbase or the DCS AirbaseName.</p>
<p>Another thing to know is that AIRBASE objects do not "contain" the DCS Airbase object.
The AIRBASE methods will reference the DCS Airbase object by name when it is needed during API execution.
If the DCS Airbase object does not exist or is nil, the AIRBASE methods will return nil and log an exception in the DCS.log file.</p>
<p>The AIRBASE class provides the following functions to retrieve quickly the relevant AIRBASE instance:</p>
<ul>
<li><a href="##(AIRBASE).Find">AIRBASE.Find</a>(): Find a AIRBASE instance from the _DATABASE object using a DCS Airbase object.</li>
<li><a href="##(AIRBASE).FindByName">AIRBASE.FindByName</a>(): Find a AIRBASE instance from the _DATABASE object using a DCS Airbase name.</li>
</ul>
<p>IMPORTANT: ONE SHOULD NEVER SANATIZE these AIRBASE OBJECT REFERENCES! (make the AIRBASE object references nil).</p>
<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="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>
<p>During the MOOSE development, more functions will be added. </p>
<hr/>
<h2>Global(s)</h2>
@@ -150,25 +118,19 @@ is implemented in the AIRBASE class as <a href="##(AIRBASE).GetName">AIRBASE.Get
<tr>
<td class="name" nowrap="nowrap"><a href="#AIRBASE">AIRBASE</a></td>
<td class="summary">
<h1>AIRBASE class, extends <a href="Positionable.html##(POSITIONABLE)">Positionable#POSITIONABLE</a></h1>
<p>AIRBASE is a wrapper class to handle the DCS Airbase objects:</p>
<ul>
<li>Support all DCS Airbase APIs.</li>
</ul>
</td>
</tr>
</table>
<h2><a id="#(AIRBASE)">Type <code>AIRBASE</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIRBASE).CategoryName">AIRBASE.CategoryName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIRBASE).ClassName">AIRBASE.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIRBASE).Find">AIRBASE:Find(DCSAirbase)</a></td>
<td class="summary">
<p>Finds a AIRBASE from the _DATABASE using a DCSAirbase object.</p>
@@ -205,6 +167,46 @@ is implemented in the AIRBASE class as <a href="##(AIRBASE).GetName">AIRBASE.Get
</dt>
<dd>
<h1>AIRBASE class, extends <a href="Positionable.html##(POSITIONABLE)">Positionable#POSITIONABLE</a></h1>
<p>AIRBASE is a wrapper class to handle the DCS Airbase objects:</p>
<ul>
<li>Support all DCS Airbase APIs.</li>
</ul>
<ul>
<li>Enhance with Airbase specific APIs not in the DCS Airbase API set.</li>
</ul>
<h2>AIRBASE reference methods</h2>
<p>For each DCS Airbase object alive within a running mission, a AIRBASE wrapper object (instance) will be created within the _<a href="DATABASE.html">DATABASE</a> object.
This is done at the beginning of the mission (when the mission starts).</p>
<p>The AIRBASE class <strong>does not contain a :New()</strong> method, rather it provides <strong>:Find()</strong> methods to retrieve the object reference
using the DCS Airbase or the DCS AirbaseName.</p>
<p>Another thing to know is that AIRBASE objects do not "contain" the DCS Airbase object.
The AIRBASE methods will reference the DCS Airbase object by name when it is needed during API execution.
If the DCS Airbase object does not exist or is nil, the AIRBASE methods will return nil and log an exception in the DCS.log file.</p>
<p>The AIRBASE class provides the following functions to retrieve quickly the relevant AIRBASE instance:</p>
<ul>
<li><a href="##(AIRBASE).Find">AIRBASE.Find</a>(): Find a AIRBASE instance from the _DATABASE object using a DCS Airbase object.</li>
<li><a href="##(AIRBASE).FindByName">AIRBASE.FindByName</a>(): Find a AIRBASE instance from the _DATABASE object using a DCS Airbase name.</li>
</ul>
<p>IMPORTANT: ONE SHOULD NEVER SANATIZE these AIRBASE OBJECT REFERENCES! (make the AIRBASE object references nil).</p>
<h2>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="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>
</dd>
@@ -212,38 +214,7 @@ is implemented in the AIRBASE class as <a href="##(AIRBASE).GetName">AIRBASE.Get
<h2><a id="#(Airbase)" >Type <code>Airbase</code></a></h2>
<h2><a id="#(AIRBASE)" >Type <code>AIRBASE</code></a></h2>
<p>The AIRBASE class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em></em>
<a id="#(AIRBASE).CategoryName" >
<strong>AIRBASE.CategoryName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(AIRBASE).ClassName" >
<strong>AIRBASE.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h3>Field(s)</h3>
<dl class="function">
<dt>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>AirbasePolice</code></h1>
<p>This module contains the AIRBASEPOLICE classes.</p>
<p><strong>Functional</strong> -- This module monitors airbases traffic.</p>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>Base</code></h1>
<p><strong>Core</strong> - BASE forms <strong>the basis of the MOOSE framework</strong>.</p>
<p><strong>Core</strong> -- BASE forms <strong>the basis of the MOOSE framework</strong>.</p>
<p>Each class within the MOOSE framework derives from BASE.</p>
@@ -113,35 +113,10 @@
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
<p>The underlying change log documents the API changes. Please read this carefully. The following notation is used:</p>
<ul>
<li><strong>Added</strong> parts are expressed in bold type face.</li>
<li><em>Removed</em> parts are expressed in italic type face.</li>
</ul>
<p>YYYY-MM-DD: CLASS:<strong>NewFunction</strong>( Params ) replaces CLASS:<em>OldFunction</em>( Params )
YYYY-MM-DD: CLASS:<strong>NewFunction( Params )</strong> added</p>
<p>Hereby the change log:</p>
<hr/>
<h1><strong>AUTHORS and CONTRIBUTIONS</strong></h1>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<ul>
<li>None.</li>
</ul>
<h3>Authors:</h3>
<ul>
<li><strong>FlightControl</strong>: Design &amp; Programming</li>
</ul>
<hr/>
<h2>Global(s)</h2>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>Cargo</code></h1>
<p><strong>(R2.1) Core</strong> -- Management of CARGO logistics, that can be transported from and to transportation carriers.</p>
<p><strong>Core</strong> -- Management of CARGO logistics, that can be transported from and to transportation carriers.</p>
@@ -115,6 +115,8 @@
<li>CARGO_GROUP, represented by a <a href="Group.html">Group</a>. A CARGO_GROUP is reportable...</li>
</ul>
<p>This module is still under construction, but is described above works already, and will keep working ...</p>
<hr/>
<h1>Demo Missions</h1>
@@ -133,7 +135,10 @@
<hr/>
<p>This module is still under construction, but is described above works already, and will keep working ...</p>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<hr/>
<h2>Global(s)</h2>
@@ -3049,7 +3054,6 @@ The range till cargo will board.</p>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(CARGO_UNIT).RunCount" >
<strong>CARGO_UNIT.RunCount</strong>
</a>

View File

@@ -100,11 +100,13 @@
<div id="content">
<h1>Module <code>CleanUp</code></h1>
<p>The CLEANUP class keeps an area clean of crashing or colliding airplanes.</p>
<p><strong>Functional</strong> -- The CLEANUP class keeps an area clean of crashing or colliding airplanes.</p>
<p>It also prevents airplanes from firing within this area.</p>
<hr/>
<h2>Global(s)</h2>
<table class="function_list">
<tr>

View File

@@ -100,45 +100,17 @@
<div id="content">
<h1>Module <code>Client</code></h1>
<p>This module contains the CLIENT class.</p>
<p><strong>Wrapper</strong> -- CLIENT wraps DCS Unit objects acting as a <strong>Client</strong> or <strong>Player</strong> within a mission.</p>
<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="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>
<hr/>
<ul>
<li>Wraps the DCS Unit objects with skill level set to Player or Client.</li>
<li>Support all DCS Unit APIs.</li>
<li>Enhance with Unit specific APIs not in the DCS Group API set.</li>
<li>When player joins Unit, execute alive init logic.</li>
<li>Handles messages to players.</li>
<li>Manage the "state" of the DCS Unit.</li>
</ul>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<p>Clients are being used by the <a href="MISSION.html">MISSION</a> class to follow players and register their successes.</p>
<h3>Contributions:</h3>
<h2>1.1) CLIENT reference methods</h2>
<p>For each DCS Unit having skill level Player or Client, a CLIENT wrapper object (instance) will be created within the _<a href="DATABASE.html">DATABASE</a> object.
This is done at the beginning of the mission (when the mission starts).</p>
<p>The CLIENT class does not contain a :New() method, rather it provides :Find() methods to retrieve the object reference
using the DCS Unit or the DCS UnitName.</p>
<p>Another thing to know is that CLIENT objects do not "contain" the DCS Unit object.
The CLIENT methods will reference the DCS Unit object by name when it is needed during API execution.
If the DCS Unit object does not exist or is nil, the CLIENT methods will return nil and log an exception in the DCS.log file.</p>
<p>The CLIENT class provides the following functions to retrieve quickly the relevant CLIENT instance:</p>
<ul>
<li><a href="##(CLIENT).Find">CLIENT.Find</a>(): Find a CLIENT instance from the _DATABASE object using a DCS Unit object.</li>
<li><a href="##(CLIENT).FindByName">CLIENT.FindByName</a>(): Find a CLIENT instance from the _DATABASE object using a DCS Unit name.</li>
</ul>
<p>IMPORTANT: ONE SHOULD NEVER SANATIZE these CLIENT OBJECT REFERENCES! (make the CLIENT object references nil).</p>
<hr/>
<h2>Global(s)</h2>
@@ -146,7 +118,9 @@ 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">CLIENT</a></td>
<td class="summary">
<h1>CLIENT 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>.</p>
</td>
</tr>
</table>
@@ -162,18 +136,6 @@ If the DCS Unit object does not exist or is nil, the CLIENT methods will return
<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>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).ClassName">CLIENT.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).ClientAlive">CLIENT.ClientAlive</a></td>
<td class="summary">
</td>
</tr>
<tr>
@@ -216,12 +178,6 @@ If the DCS Unit object does not exist or is nil, the CLIENT methods will return
<td class="name" nowrap="nowrap"><a href="##(CLIENT).ClientGroupUnit">CLIENT.ClientGroupUnit</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).ClientName">CLIENT.ClientName</a></td>
<td class="summary">
</td>
</tr>
<tr>
@@ -294,18 +250,6 @@ If the DCS Unit object does not exist or is nil, the CLIENT methods will return
<td class="name" nowrap="nowrap"><a href="##(CLIENT).Message">CLIENT:Message(Message, MessageDuration, MessageCategory, MessageInterval, MessageID)</a></td>
<td class="summary">
<p>The main message driver for the CLIENT.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).Messages">CLIENT.Messages</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).ONBOARDSIDE">CLIENT.ONBOARDSIDE</a></td>
<td class="summary">
</td>
</tr>
<tr>
@@ -360,12 +304,6 @@ If the DCS Unit object does not exist or is nil, the CLIENT methods will return
<td class="name" nowrap="nowrap"><a href="##(CLIENT)._Menus">CLIENT._Menus</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CLIENT)._Tasks">CLIENT._Tasks</a></td>
<td class="summary">
</td>
</tr>
</table>
@@ -381,6 +319,45 @@ If the DCS Unit object does not exist or is nil, the CLIENT methods will return
</dt>
<dd>
<h1>CLIENT 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>.</p>
<p>Note that clients are NOT the same as Units, they are NOT necessarily alive.
The CLIENT 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>
<li>Support all DCS Unit APIs.</li>
<li>Enhance with Unit specific APIs not in the DCS Group API set.</li>
<li>When player joins Unit, execute alive init logic.</li>
<li>Handles messages to players.</li>
<li>Manage the "state" of the DCS Unit.</li>
</ul>
<p>Clients are being used by the <a href="MISSION.html">MISSION</a> class to follow players and register their successes.</p>
<h2>CLIENT reference methods</h2>
<p>For each DCS Unit having skill level Player or Client, a CLIENT wrapper object (instance) will be created within the _<a href="DATABASE.html">DATABASE</a> object.
This is done at the beginning of the mission (when the mission starts).</p>
<p>The CLIENT class does not contain a :New() method, rather it provides :Find() methods to retrieve the object reference
using the DCS Unit or the DCS UnitName.</p>
<p>Another thing to know is that CLIENT objects do not "contain" the DCS Unit object.
The CLIENT methods will reference the DCS Unit object by name when it is needed during API execution.
If the DCS Unit object does not exist or is nil, the CLIENT methods will return nil and log an exception in the DCS.log file.</p>
<p>The CLIENT class provides the following functions to retrieve quickly the relevant CLIENT instance:</p>
<ul>
<li><a href="##(CLIENT).Find">CLIENT.Find</a>(): Find a CLIENT instance from the _DATABASE object using a DCS Unit object.</li>
<li><a href="##(CLIENT).FindByName">CLIENT.FindByName</a>(): Find a CLIENT instance from the _DATABASE object using a DCS Unit name.</li>
</ul>
<p><strong>IMPORTANT: ONE SHOULD NEVER SANATIZE these CLIENT OBJECT REFERENCES! (make the CLIENT object references nil).</strong></p>
</dd>
@@ -449,34 +426,6 @@ Create a function that will be called when a player joins the slot.</p>
<p><em><a href="##(CLIENT)">#CLIENT</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(CLIENT).ClassName" >
<strong>CLIENT.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#boolean</em>
<a id="#(CLIENT).ClientAlive" >
<strong>CLIENT.ClientAlive</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@@ -574,19 +523,6 @@ Create a function that will be called when a player joins the slot.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(CLIENT).ClientName" >
<strong>CLIENT.ClientName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@@ -899,34 +835,6 @@ is the identifier of the message when displayed with intervals.</p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(CLIENT).Messages" >
<strong>CLIENT.Messages</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(CLIENT).ONBOARDSIDE" >
<strong>CLIENT.ONBOARDSIDE</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@@ -1111,20 +1019,6 @@ self</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(CLIENT)._Tasks" >
<strong>CLIENT._Tasks</strong>
</a>
</dt>
<dd>
</dd>
</dl>

View File

@@ -100,11 +100,20 @@
<div id="content">
<h1>Module <code>CommandCenter</code></h1>
<p>A COMMANDCENTER is the owner of multiple missions within MOOSE.</p>
<p><strong>Tasking</strong> -- A COMMANDCENTER is the owner of multiple missions within MOOSE.</p>
<p>A COMMANDCENTER governs multiple missions, the tasking and the reporting.</p>
<hr/>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<hr/>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
@@ -387,7 +396,6 @@ A few examples:</p>
This is done by using the method <a href="##(COMMANDCENTER).SetReferenceZones">COMMANDCENTER.SetReferenceZones</a>().
For the moment, only one Reference Zone class can be specified, but in the future, more classes will become possible.</p>
<p> </p>
</dd>
</dl>

View File

@@ -100,146 +100,15 @@
<div id="content">
<h1>Module <code>Controllable</code></h1>
<p>This module contains the CONTROLLABLE class.</p>
<p><strong>Wrapper</strong> -- CONTROLLABLE is an intermediate class wrapping Group and Unit classes "controllers".</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>
<hr/>
<ul>
<li>Support all DCS Controllable APIs.</li>
<li>Enhance with Controllable specific APIs not in the DCS Controllable API set.</li>
<li>Handle local Controllable Controller.</li>
<li>Manage the "state" of the DCS Controllable.</li>
</ul>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h2>1.1) CONTROLLABLE constructor</h2>
<p>The CONTROLLABLE class provides the following functions to construct a CONTROLLABLE instance:</p>
<ul>
<li><a href="##(CONTROLLABLE).New">CONTROLLABLE.New</a>(): Create a CONTROLLABLE instance.</li>
</ul>
<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="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>
<h3>1.2.1) Assigned task methods</h3>
<p>Assigned task methods make the controllable execute the task where the location of the (possible) targets of the task are known before being detected.
This is different from the EnRoute tasks, where the targets of the task need to be detected before the task can be executed.</p>
<p>Find below a list of the <strong>assigned task</strong> methods:</p>
<ul>
<li><a href="##(CONTROLLABLE).TaskAttackGroup">CONTROLLABLE.TaskAttackGroup</a>: (AIR) Attack a Controllable.</li>
<li><a href="##(CONTROLLABLE).TaskAttackMapObject">CONTROLLABLE.TaskAttackMapObject</a>: (AIR) Attacking the map object (building, structure, e.t.c).</li>
<li><a href="##(CONTROLLABLE).TaskAttackUnit">CONTROLLABLE.TaskAttackUnit</a>: (AIR) Attack the Unit.</li>
<li><a href="##(CONTROLLABLE).TaskBombing">CONTROLLABLE.TaskBombing</a>: (AIR) Delivering weapon at the point on the ground.</li>
<li><a href="##(CONTROLLABLE).TaskBombingRunway">CONTROLLABLE.TaskBombingRunway</a>: (AIR) Delivering weapon on the runway.</li>
<li><a href="##(CONTROLLABLE).TaskEmbarking">CONTROLLABLE.TaskEmbarking</a>: (AIR) Move the controllable to a Vec2 Point, wait for a defined duration and embark a controllable.</li>
<li><a href="##(CONTROLLABLE).TaskEmbarkToTransport">CONTROLLABLE.TaskEmbarkToTransport</a>: (GROUND) Embark to a Transport landed at a location.</li>
<li><a href="##(CONTROLLABLE).TaskEscort">CONTROLLABLE.TaskEscort</a>: (AIR) Escort another airborne controllable. </li>
<li><a href="##(CONTROLLABLE).TaskFAC_AttackGroup">CONTROLLABLE.TaskFAC_AttackGroup</a>: (AIR + GROUND) The task makes the controllable/unit a FAC and orders the FAC to control the target (enemy ground controllable) destruction.</li>
<li><a href="##(CONTROLLABLE).TaskFireAtPoint">CONTROLLABLE.TaskFireAtPoint</a>: (GROUND) Fire some or all ammunition at a VEC2 point.</li>
<li><a href="##(CONTROLLABLE).TaskFollow">CONTROLLABLE.TaskFollow</a>: (AIR) Following another airborne controllable.</li>
<li><a href="##(CONTROLLABLE).TaskHold">CONTROLLABLE.TaskHold</a>: (GROUND) Hold ground controllable from moving.</li>
<li><a href="##(CONTROLLABLE).TaskHoldPosition">CONTROLLABLE.TaskHoldPosition</a>: (AIR) Hold position at the current position of the first unit of the controllable.</li>
<li><a href="##(CONTROLLABLE).TaskLand">CONTROLLABLE.TaskLand</a>: (AIR HELICOPTER) Landing at the ground. For helicopters only.</li>
<li><a href="##(CONTROLLABLE).TaskLandAtZone">CONTROLLABLE.TaskLandAtZone</a>: (AIR) Land the controllable at a <a href="##(CONTROLLABLE).TaskOrbitCircle">CONTROLLABLE.TaskOrbitCircle</a>: (AIR) Orbit at the current position of the first unit of the controllable at a specified alititude.</li>
<li><a href="##(CONTROLLABLE).TaskOrbitCircleAtVec2">CONTROLLABLE.TaskOrbitCircleAtVec2</a>: (AIR) Orbit at a specified position at a specified alititude during a specified duration with a specified speed.</li>
<li><a href="##(CONTROLLABLE).TaskRefueling">CONTROLLABLE.TaskRefueling</a>: (AIR) Refueling from the nearest tanker. No parameters.</li>
<li><a href="##(CONTROLLABLE).TaskRoute">CONTROLLABLE.TaskRoute</a>: (AIR + GROUND) Return a Misson task to follow a given route defined by Points.</li>
<li><a href="##(CONTROLLABLE).TaskRouteToVec2">CONTROLLABLE.TaskRouteToVec2</a>: (AIR + GROUND) Make the Controllable move to a given point.</li>
<li><a href="##(CONTROLLABLE).TaskRouteToVec3">CONTROLLABLE.TaskRouteToVec3</a>: (AIR + GROUND) Make the Controllable move to a given point.</li>
<li><a href="##(CONTROLLABLE).TaskRouteToZone">CONTROLLABLE.TaskRouteToZone</a>: (AIR + GROUND) Route the controllable to a given zone.</li>
<li><a href="##(CONTROLLABLE).TaskReturnToBase">CONTROLLABLE.TaskReturnToBase</a>: (AIR) Route the controllable to an airbase.</li>
</ul>
<h3>1.2.2) EnRoute task methods</h3>
<p>EnRoute tasks require the targets of the task need to be detected by the controllable (using its sensors) before the task can be executed:</p>
<ul>
<li><a href="##(CONTROLLABLE).EnRouteTaskAWACS">CONTROLLABLE.EnRouteTaskAWACS</a>: (AIR) Aircraft will act as an AWACS for friendly units (will provide them with information about contacts). No parameters.</li>
<li><a href="##(CONTROLLABLE).EnRouteTaskEngageControllable">CONTROLLABLE.EnRouteTaskEngageControllable</a>: (AIR) Engaging a controllable. The task does not assign the target controllable to the unit/controllable to attack now; it just allows the unit/controllable to engage the target controllable as well as other assigned targets.</li>
<li><a href="##(CONTROLLABLE).EnRouteTaskEngageTargets">CONTROLLABLE.EnRouteTaskEngageTargets</a>: (AIR) Engaging targets of defined types.</li>
<li><a href="##(CONTROLLABLE).EnRouteTaskEngageTargetsInZone">CONTROLLABLE.EnRouteTaskEngageTargetsInZone</a>: (AIR) Engaging a targets of defined types at circle-shaped zone.</li>
<li><a href="##(CONTROLLABLE).EnRouteTaskEWR">CONTROLLABLE.EnRouteTaskEWR</a>: (AIR) Attack the Unit.</li>
<li><a href="##(CONTROLLABLE).EnRouteTaskFAC">CONTROLLABLE.EnRouteTaskFAC</a>: (AIR + GROUND) The task makes the controllable/unit a FAC and lets the FAC to choose a targets (enemy ground controllable) around as well as other assigned targets.</li>
<li><a href="##(CONTROLLABLE).EnRouteTaskFAC_EngageControllable">CONTROLLABLE.EnRouteTaskFAC_EngageControllable</a>: (AIR + GROUND) The task makes the controllable/unit a FAC and lets the FAC to choose the target (enemy ground controllable) as well as other assigned targets.</li>
<li><a href="##(CONTROLLABLE).EnRouteTaskTanker">CONTROLLABLE.EnRouteTaskTanker</a>: (AIR) Aircraft will act as a tanker for friendly units. No parameters.</li>
</ul>
<h3>1.2.3) Preparation task methods</h3>
<p>There are certain task methods that allow to tailor the task behaviour:</p>
<ul>
<li><a href="##(CONTROLLABLE).TaskWrappedAction">CONTROLLABLE.TaskWrappedAction</a>: Return a WrappedAction Task taking a Command.</li>
<li><a href="##(CONTROLLABLE).TaskCombo">CONTROLLABLE.TaskCombo</a>: Return a Combo Task taking an array of Tasks.</li>
<li><a href="##(CONTROLLABLE).TaskCondition">CONTROLLABLE.TaskCondition</a>: Return a condition section for a controlled task.</li>
<li><a href="##(CONTROLLABLE).TaskControlled">CONTROLLABLE.TaskControlled</a>: Return a Controlled Task taking a Task and a TaskCondition.</li>
</ul>
<h3>1.2.4) Obtain the mission from controllable templates</h3>
<p>Controllable templates contain complete mission descriptions. Sometimes you want to copy a complete mission from a controllable and assign it to another:</p>
<ul>
<li><a href="##(CONTROLLABLE).TaskMission">CONTROLLABLE.TaskMission</a>: (AIR + GROUND) Return a mission task from a mission template.</li>
</ul>
<h2>1.3) CONTROLLABLE Command methods</h2>
<p>Controllable <strong>command methods</strong> prepare the execution of commands using the <a href="##(CONTROLLABLE).SetCommand">CONTROLLABLE.SetCommand</a> method:</p>
<ul>
<li><a href="##(CONTROLLABLE).CommandDoScript">CONTROLLABLE.CommandDoScript</a>: Do Script command.</li>
<li><a href="##(CONTROLLABLE).CommandSwitchWayPoint">CONTROLLABLE.CommandSwitchWayPoint</a>: Perform a switch waypoint command.</li>
</ul>
<h2>1.4) CONTROLLABLE Option methods</h2>
<p>Controllable <strong>Option methods</strong> change the behaviour of the Controllable while being alive.</p>
<h3>1.4.1) Rule of Engagement:</h3>
<ul>
<li><a href="##(CONTROLLABLE).OptionROEWeaponFree">CONTROLLABLE.OptionROEWeaponFree</a> </li>
<li><a href="##(CONTROLLABLE).OptionROEOpenFire">CONTROLLABLE.OptionROEOpenFire</a></li>
<li><a href="##(CONTROLLABLE).OptionROEReturnFire">CONTROLLABLE.OptionROEReturnFire</a></li>
<li><a href="##(CONTROLLABLE).OptionROEEvadeFire">CONTROLLABLE.OptionROEEvadeFire</a></li>
</ul>
<p>To check whether an ROE option is valid for a specific controllable, use:</p>
<ul>
<li><a href="##(CONTROLLABLE).OptionROEWeaponFreePossible">CONTROLLABLE.OptionROEWeaponFreePossible</a> </li>
<li><a href="##(CONTROLLABLE).OptionROEOpenFirePossible">CONTROLLABLE.OptionROEOpenFirePossible</a></li>
<li><a href="##(CONTROLLABLE).OptionROEReturnFirePossible">CONTROLLABLE.OptionROEReturnFirePossible</a></li>
<li><a href="##(CONTROLLABLE).OptionROEEvadeFirePossible">CONTROLLABLE.OptionROEEvadeFirePossible</a></li>
</ul>
<h3>1.4.2) Rule on thread:</h3>
<ul>
<li><a href="##(CONTROLLABLE).OptionROTNoReaction">CONTROLLABLE.OptionROTNoReaction</a></li>
<li><a href="##(CONTROLLABLE).OptionROTPassiveDefense">CONTROLLABLE.OptionROTPassiveDefense</a></li>
<li><a href="##(CONTROLLABLE).OptionROTEvadeFire">CONTROLLABLE.OptionROTEvadeFire</a></li>
<li><a href="##(CONTROLLABLE).OptionROTVertical">CONTROLLABLE.OptionROTVertical</a></li>
</ul>
<p>To test whether an ROT option is valid for a specific controllable, use:</p>
<ul>
<li><a href="##(CONTROLLABLE).OptionROTNoReactionPossible">CONTROLLABLE.OptionROTNoReactionPossible</a></li>
<li><a href="##(CONTROLLABLE).OptionROTPassiveDefensePossible">CONTROLLABLE.OptionROTPassiveDefensePossible</a></li>
<li><a href="##(CONTROLLABLE).OptionROTEvadeFirePossible">CONTROLLABLE.OptionROTEvadeFirePossible</a></li>
<li><a href="##(CONTROLLABLE).OptionROTVerticalPossible">CONTROLLABLE.OptionROTVerticalPossible</a></li>
</ul>
<h3>Contributions:</h3>
<hr/>
@@ -249,19 +118,19 @@ This is different from the EnRoute tasks, where the targets of the task need to
<tr>
<td class="name" nowrap="nowrap"><a href="#CONTROLLABLE">CONTROLLABLE</a></td>
<td class="summary">
<h1>CONTROLLABLE class, extends <a href="Positionable.html##(POSITIONABLE)">Positionable#POSITIONABLE</a></h1>
<p>CONTROLLABLE is a wrapper class to handle the "DCS Controllable objects", which are Groups and Units:</p>
<ul>
<li>Support all DCS Controllable APIs.</li>
</ul>
</td>
</tr>
</table>
<h2><a id="#(CONTROLLABLE)">Type <code>CONTROLLABLE</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).ClassName">CONTROLLABLE.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).ClearTasks">CONTROLLABLE:ClearTasks()</a></td>
<td class="summary">
<p>Clear all tasks from the controllable.</p>
@@ -715,12 +584,6 @@ This is different from the EnRoute tasks, where the targets of the task need to
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).WayPointFunction">CONTROLLABLE:WayPointFunction(WayPoint, WayPointIndex, WayPointFunction, ...)</a></td>
<td class="summary">
<p>Registers a waypoint function that will be executed when the controllable moves over the WayPoint.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).WayPointFunctions">CONTROLLABLE.WayPointFunctions</a></td>
<td class="summary">
</td>
</tr>
<tr>
@@ -754,6 +617,151 @@ This is different from the EnRoute tasks, where the targets of the task need to
</dt>
<dd>
<h1>CONTROLLABLE class, extends <a href="Positionable.html##(POSITIONABLE)">Positionable#POSITIONABLE</a></h1>
<p>CONTROLLABLE is a wrapper class to handle the "DCS Controllable objects", which are Groups and Units:</p>
<ul>
<li>Support all DCS Controllable APIs.</li>
</ul>
<ul>
<li>Enhance with Controllable specific APIs not in the DCS Controllable API set.</li>
<li>Handle local Controllable Controller.</li>
<li>Manage the "state" of the DCS Controllable.</li>
</ul>
<h2>CONTROLLABLE constructor</h2>
<p>The CONTROLLABLE class provides the following functions to construct a CONTROLLABLE instance:</p>
<ul>
<li><a href="##(CONTROLLABLE).New">CONTROLLABLE.New</a>(): Create a CONTROLLABLE instance.</li>
</ul>
<h2>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="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>
<h3>Task assignment</h3>
<p>Assigned task methods make the controllable execute the task where the location of the (possible) targets of the task are known before being detected.
This is different from the EnRoute tasks, where the targets of the task need to be detected before the task can be executed.</p>
<p>Find below a list of the <strong>assigned task</strong> methods:</p>
<ul>
<li><a href="##(CONTROLLABLE).TaskAttackGroup">CONTROLLABLE.TaskAttackGroup</a>: (AIR) Attack a Controllable.</li>
<li><a href="##(CONTROLLABLE).TaskAttackMapObject">CONTROLLABLE.TaskAttackMapObject</a>: (AIR) Attacking the map object (building, structure, e.t.c).</li>
<li><a href="##(CONTROLLABLE).TaskAttackUnit">CONTROLLABLE.TaskAttackUnit</a>: (AIR) Attack the Unit.</li>
<li><a href="##(CONTROLLABLE).TaskBombing">CONTROLLABLE.TaskBombing</a>: (AIR) Delivering weapon at the point on the ground.</li>
<li><a href="##(CONTROLLABLE).TaskBombingRunway">CONTROLLABLE.TaskBombingRunway</a>: (AIR) Delivering weapon on the runway.</li>
<li><a href="##(CONTROLLABLE).TaskEmbarking">CONTROLLABLE.TaskEmbarking</a>: (AIR) Move the controllable to a Vec2 Point, wait for a defined duration and embark a controllable.</li>
<li><a href="##(CONTROLLABLE).TaskEmbarkToTransport">CONTROLLABLE.TaskEmbarkToTransport</a>: (GROUND) Embark to a Transport landed at a location.</li>
<li><a href="##(CONTROLLABLE).TaskEscort">CONTROLLABLE.TaskEscort</a>: (AIR) Escort another airborne controllable. </li>
<li><a href="##(CONTROLLABLE).TaskFAC_AttackGroup">CONTROLLABLE.TaskFAC_AttackGroup</a>: (AIR + GROUND) The task makes the controllable/unit a FAC and orders the FAC to control the target (enemy ground controllable) destruction.</li>
<li><a href="##(CONTROLLABLE).TaskFireAtPoint">CONTROLLABLE.TaskFireAtPoint</a>: (GROUND) Fire some or all ammunition at a VEC2 point.</li>
<li><a href="##(CONTROLLABLE).TaskFollow">CONTROLLABLE.TaskFollow</a>: (AIR) Following another airborne controllable.</li>
<li><a href="##(CONTROLLABLE).TaskHold">CONTROLLABLE.TaskHold</a>: (GROUND) Hold ground controllable from moving.</li>
<li><a href="##(CONTROLLABLE).TaskHoldPosition">CONTROLLABLE.TaskHoldPosition</a>: (AIR) Hold position at the current position of the first unit of the controllable.</li>
<li><a href="##(CONTROLLABLE).TaskLand">CONTROLLABLE.TaskLand</a>: (AIR HELICOPTER) Landing at the ground. For helicopters only.</li>
<li><a href="##(CONTROLLABLE).TaskLandAtZone">CONTROLLABLE.TaskLandAtZone</a>: (AIR) Land the controllable at a <a href="##(CONTROLLABLE).TaskOrbitCircle">CONTROLLABLE.TaskOrbitCircle</a>: (AIR) Orbit at the current position of the first unit of the controllable at a specified alititude.</li>
<li><a href="##(CONTROLLABLE).TaskOrbitCircleAtVec2">CONTROLLABLE.TaskOrbitCircleAtVec2</a>: (AIR) Orbit at a specified position at a specified alititude during a specified duration with a specified speed.</li>
<li><a href="##(CONTROLLABLE).TaskRefueling">CONTROLLABLE.TaskRefueling</a>: (AIR) Refueling from the nearest tanker. No parameters.</li>
<li><a href="##(CONTROLLABLE).TaskRoute">CONTROLLABLE.TaskRoute</a>: (AIR + GROUND) Return a Misson task to follow a given route defined by Points.</li>
<li><a href="##(CONTROLLABLE).TaskRouteToVec2">CONTROLLABLE.TaskRouteToVec2</a>: (AIR + GROUND) Make the Controllable move to a given point.</li>
<li><a href="##(CONTROLLABLE).TaskRouteToVec3">CONTROLLABLE.TaskRouteToVec3</a>: (AIR + GROUND) Make the Controllable move to a given point.</li>
<li><a href="##(CONTROLLABLE).TaskRouteToZone">CONTROLLABLE.TaskRouteToZone</a>: (AIR + GROUND) Route the controllable to a given zone.</li>
<li><a href="##(CONTROLLABLE).TaskReturnToBase">CONTROLLABLE.TaskReturnToBase</a>: (AIR) Route the controllable to an airbase.</li>
</ul>
<h3>EnRoute assignment</h3>
<p>EnRoute tasks require the targets of the task need to be detected by the controllable (using its sensors) before the task can be executed:</p>
<ul>
<li><a href="##(CONTROLLABLE).EnRouteTaskAWACS">CONTROLLABLE.EnRouteTaskAWACS</a>: (AIR) Aircraft will act as an AWACS for friendly units (will provide them with information about contacts). No parameters.</li>
<li><a href="##(CONTROLLABLE).EnRouteTaskEngageControllable">CONTROLLABLE.EnRouteTaskEngageControllable</a>: (AIR) Engaging a controllable. The task does not assign the target controllable to the unit/controllable to attack now; it just allows the unit/controllable to engage the target controllable as well as other assigned targets.</li>
<li><a href="##(CONTROLLABLE).EnRouteTaskEngageTargets">CONTROLLABLE.EnRouteTaskEngageTargets</a>: (AIR) Engaging targets of defined types.</li>
<li><a href="##(CONTROLLABLE).EnRouteTaskEngageTargetsInZone">CONTROLLABLE.EnRouteTaskEngageTargetsInZone</a>: (AIR) Engaging a targets of defined types at circle-shaped zone.</li>
<li><a href="##(CONTROLLABLE).EnRouteTaskEWR">CONTROLLABLE.EnRouteTaskEWR</a>: (AIR) Attack the Unit.</li>
<li><a href="##(CONTROLLABLE).EnRouteTaskFAC">CONTROLLABLE.EnRouteTaskFAC</a>: (AIR + GROUND) The task makes the controllable/unit a FAC and lets the FAC to choose a targets (enemy ground controllable) around as well as other assigned targets.</li>
<li><a href="##(CONTROLLABLE).EnRouteTaskFAC_EngageControllable">CONTROLLABLE.EnRouteTaskFAC_EngageControllable</a>: (AIR + GROUND) The task makes the controllable/unit a FAC and lets the FAC to choose the target (enemy ground controllable) as well as other assigned targets.</li>
<li><a href="##(CONTROLLABLE).EnRouteTaskTanker">CONTROLLABLE.EnRouteTaskTanker</a>: (AIR) Aircraft will act as a tanker for friendly units. No parameters.</li>
</ul>
<h3>Task preparation</h3>
<p>There are certain task methods that allow to tailor the task behaviour:</p>
<ul>
<li><a href="##(CONTROLLABLE).TaskWrappedAction">CONTROLLABLE.TaskWrappedAction</a>: Return a WrappedAction Task taking a Command.</li>
<li><a href="##(CONTROLLABLE).TaskCombo">CONTROLLABLE.TaskCombo</a>: Return a Combo Task taking an array of Tasks.</li>
<li><a href="##(CONTROLLABLE).TaskCondition">CONTROLLABLE.TaskCondition</a>: Return a condition section for a controlled task.</li>
<li><a href="##(CONTROLLABLE).TaskControlled">CONTROLLABLE.TaskControlled</a>: Return a Controlled Task taking a Task and a TaskCondition.</li>
</ul>
<h3>Obtain the mission from controllable templates</h3>
<p>Controllable templates contain complete mission descriptions. Sometimes you want to copy a complete mission from a controllable and assign it to another:</p>
<ul>
<li><a href="##(CONTROLLABLE).TaskMission">CONTROLLABLE.TaskMission</a>: (AIR + GROUND) Return a mission task from a mission template.</li>
</ul>
<h2>CONTROLLABLE Command methods</h2>
<p>Controllable <strong>command methods</strong> prepare the execution of commands using the <a href="##(CONTROLLABLE).SetCommand">CONTROLLABLE.SetCommand</a> method:</p>
<ul>
<li><a href="##(CONTROLLABLE).CommandDoScript">CONTROLLABLE.CommandDoScript</a>: Do Script command.</li>
<li><a href="##(CONTROLLABLE).CommandSwitchWayPoint">CONTROLLABLE.CommandSwitchWayPoint</a>: Perform a switch waypoint command.</li>
</ul>
<h2>CONTROLLABLE Option methods</h2>
<p>Controllable <strong>Option methods</strong> change the behaviour of the Controllable while being alive.</p>
<h3>Rule of Engagement:</h3>
<ul>
<li><a href="##(CONTROLLABLE).OptionROEWeaponFree">CONTROLLABLE.OptionROEWeaponFree</a> </li>
<li><a href="##(CONTROLLABLE).OptionROEOpenFire">CONTROLLABLE.OptionROEOpenFire</a></li>
<li><a href="##(CONTROLLABLE).OptionROEReturnFire">CONTROLLABLE.OptionROEReturnFire</a></li>
<li><a href="##(CONTROLLABLE).OptionROEEvadeFire">CONTROLLABLE.OptionROEEvadeFire</a></li>
</ul>
<p>To check whether an ROE option is valid for a specific controllable, use:</p>
<ul>
<li><a href="##(CONTROLLABLE).OptionROEWeaponFreePossible">CONTROLLABLE.OptionROEWeaponFreePossible</a> </li>
<li><a href="##(CONTROLLABLE).OptionROEOpenFirePossible">CONTROLLABLE.OptionROEOpenFirePossible</a></li>
<li><a href="##(CONTROLLABLE).OptionROEReturnFirePossible">CONTROLLABLE.OptionROEReturnFirePossible</a></li>
<li><a href="##(CONTROLLABLE).OptionROEEvadeFirePossible">CONTROLLABLE.OptionROEEvadeFirePossible</a></li>
</ul>
<h3>Rule on thread:</h3>
<ul>
<li><a href="##(CONTROLLABLE).OptionROTNoReaction">CONTROLLABLE.OptionROTNoReaction</a></li>
<li><a href="##(CONTROLLABLE).OptionROTPassiveDefense">CONTROLLABLE.OptionROTPassiveDefense</a></li>
<li><a href="##(CONTROLLABLE).OptionROTEvadeFire">CONTROLLABLE.OptionROTEvadeFire</a></li>
<li><a href="##(CONTROLLABLE).OptionROTVertical">CONTROLLABLE.OptionROTVertical</a></li>
</ul>
<p>To test whether an ROT option is valid for a specific controllable, use:</p>
<ul>
<li><a href="##(CONTROLLABLE).OptionROTNoReactionPossible">CONTROLLABLE.OptionROTNoReactionPossible</a></li>
<li><a href="##(CONTROLLABLE).OptionROTPassiveDefensePossible">CONTROLLABLE.OptionROTPassiveDefensePossible</a></li>
<li><a href="##(CONTROLLABLE).OptionROTEvadeFirePossible">CONTROLLABLE.OptionROTEvadeFirePossible</a></li>
<li><a href="##(CONTROLLABLE).OptionROTVerticalPossible">CONTROLLABLE.OptionROTVerticalPossible</a></li>
</ul>
</dd>
@@ -761,24 +769,7 @@ This is different from the EnRoute tasks, where the targets of the task need to
<h2><a id="#(Controllable)" >Type <code>Controllable</code></a></h2>
<h2><a id="#(CONTROLLABLE)" >Type <code>CONTROLLABLE</code></a></h2>
<p>The CONTROLLABLE class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(CONTROLLABLE).ClassName" >
<strong>CONTROLLABLE.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h3>Field(s)</h3>
<dl class="function">
<dt>
@@ -3253,20 +3244,6 @@ The waypoint function to be called when the controllable moves over the waypoint
<p><em><a href="##(CONTROLLABLE)">#CONTROLLABLE</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(CONTROLLABLE).WayPointFunctions" >
<strong>CONTROLLABLE.WayPointFunctions</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>Database</code></h1>
<p>This module contains the DATABASE class, managing the database of mission objects.</p>
<p><strong>Core</strong> -- DATABASE manages the database of mission objects.</p>
@@ -142,6 +142,11 @@ The following iterator methods are currently available within the DATABASE:</p>
<hr/>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<hr/>
<h2>Global(s)</h2>
<table class="function_list">
<tr>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>Designate</code></h1>
<p><strong>Funtional R2.1</strong> -- Management of target <strong>Designation</strong>.</p>
<p><strong>Functional</strong> -- Management of target <strong>Designation</strong>.</p>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>Detection</code></h1>
<p><strong>Functional</strong> - DETECTION_ classes model the detection of enemy units by FACs or RECCEs and group them according various methods.</p>
<p><strong>Functional</strong> -- DETECTION_ classes model the detection of enemy units by FACs or RECCEs and group them according various methods.</p>
@@ -2376,7 +2376,6 @@ The index of the DetectedItem.</p>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(DETECTION_BASE).DetectedItemCount" >
<strong>DETECTION_BASE.DetectedItemCount</strong>
</a>
@@ -2548,7 +2547,7 @@ The index of the DetectedItem.</p>
<dl class="function">
<dt>
<em>#number</em>
<em></em>
<a id="#(DETECTION_BASE).DetectionInterval" >
<strong>DETECTION_BASE.DetectionInterval</strong>
</a>

View File

@@ -100,10 +100,12 @@
<div id="content">
<h1>Module <code>Escort</code></h1>
<p>Taking the lead of AI escorting your flight.</p>
<p><strong>Functional</strong> -- Taking the lead of AI escorting your flight.</p>
<hr/>
<h1><a href="##(ESCORT)">#ESCORT</a> class</h1>
<p>The <a href="##(ESCORT)">#ESCORT</a> class allows you to interact with escorting AI on your flight and take the lead.
Each escorting group can be commanded with a whole set of radio commands (radio menu in your flight, and then F10).</p>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>Event</code></h1>
<p><strong>Core R2.1</strong> - EVENT models DCS <strong>event dispatching</strong> using a <strong>publish-subscribe</strong> model.</p>
<p><strong>Core</strong> -- EVENT models DCS <strong>event dispatching</strong> using a <strong>publish-subscribe</strong> model.</p>
@@ -271,36 +271,10 @@ Example code snippet:</p>
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
<p>The underlying change log documents the API changes. Please read this carefully. The following notation is used:</p>
<ul>
<li><strong>Added</strong> parts are expressed in bold type face.</li>
<li><em>Removed</em> parts are expressed in italic type face.</li>
</ul>
<p>YYYY-MM-DD: CLASS:<strong>NewFunction</strong>( Params ) replaces CLASS:<em>OldFunction</em>( Params )
YYYY-MM-DD: CLASS:<strong>NewFunction( Params )</strong> added</p>
<p>Hereby the change log:</p>
<ul>
<li><p>2017-03-07: Added the correct event dispatching in case the event is subscribed by a GROUP.</p></li>
<li><p>2017-02-07: Did a complete revision of the Event Handing API and underlying mechanisms.</p></li>
</ul>
<hr/>
<h1><strong>AUTHORS and CONTRIBUTIONS</strong></h1>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<h3>Authors:</h3>
<ul>
<li><a href="https://forums.eagle.ru/member.php?u=89536"><strong>FlightControl</strong></a>: Design &amp; Programming &amp; documentation.</li>
</ul>
<hr/>
<h2>Global(s)</h2>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>Fsm</code></h1>
<p><strong>Core</strong> - The <strong>FSM</strong> (<strong>F</strong>inite <strong>S</strong>tate <strong>M</strong>achine) class and derived <strong>FSM_</strong> classes
<p><strong>Core</strong> -- The <strong>FSM</strong> (<strong>F</strong>inite <strong>S</strong>tate <strong>M</strong>achine) class and derived <strong>FSM_</strong> classes
are design patterns allowing efficient (long-lasting) processes and workflows.</p>
@@ -168,39 +168,11 @@ Additionally, I've added extendability and created an API that allows seamless F
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
<p>The underlying change log documents the API changes. Please read this carefully. The following notation is used:</p>
<ul>
<li><strong>Added</strong> parts are expressed in bold type face.</li>
<li><em>Removed</em> parts are expressed in italic type face.</li>
</ul>
<p>YYYY-MM-DD: CLASS:<strong>NewFunction</strong>( Params ) replaces CLASS:<em>OldFunction</em>( Params )
YYYY-MM-DD: CLASS:<strong>NewFunction( Params )</strong> added</p>
<p>Hereby the change log:</p>
<ul>
<li>2016-12-18: Released.</li>
</ul>
<hr/>
<h1><strong>AUTHORS and CONTRIBUTIONS</strong></h1>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<ul>
<li><a href="https://forums.eagle.ru/member.php?u=62835"><strong>Pikey</strong></a>: Review of documentation &amp; advice for improvements.</li>
</ul>
<h3>Authors:</h3>
<ul>
<li><a href="https://forums.eagle.ru/member.php?u=89536"><strong>FlightControl</strong></a>: Design &amp; Programming &amp; documentation.</li>
</ul>
<hr/>
<h2>Global(s)</h2>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>Group</code></h1>
<p><strong>Wrapper</strong> -- GROUP is a wrapper class for the DCS Class Group.</p>
<p><strong>Wrapper</strong> -- GROUP wraps the DCS Class Group objects.</p>
@@ -121,31 +121,7 @@
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
<p>The underlying change log documents the API changes. Please read this carefully. The following notation is used:</p>
<ul>
<li><strong>Added</strong> parts are expressed in bold type face.</li>
<li><em>Removed</em> parts are expressed in italic type face.</li>
</ul>
<p>Hereby the change log:</p>
<p>2017-03-26: GROUP:<strong>RouteRTB( RTBAirbase, Speed )</strong> added. </p>
<p>2017-03-07: GROUP:<strong>HandleEvent( Event, EventFunction )</strong> added. <br/>
2017-03-07: GROUP:<strong>UnHandleEvent( Event )</strong> added.</p>
<p>2017-01-24: GROUP:<strong>SetAIOnOff( AIOnOff )</strong> added. </p>
<p>2017-01-24: GROUP:<strong>SetAIOn()</strong> added. </p>
<p>2017-01-24: GROUP:<strong>SetAIOff()</strong> added. </p>
<hr/>
<h1><strong>AUTHORS and CONTRIBUTIONS</strong></h1>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
@@ -153,11 +129,7 @@
<li><a href="https://forums.eagle.ru/member.php?u=111471"><strong>Entropy</strong></a>, <strong>Afinegan</strong>: Came up with the requirement for AIOnOff().</li>
</ul>
<h3>Authors:</h3>
<ul>
<li><strong>FlightControl</strong>: Design &amp; Programming</li>
</ul>
<hr/>
<h2>Global(s)</h2>

View File

@@ -100,38 +100,15 @@
<div id="content">
<h1>Module <code>Identifiable</code></h1>
<p>This module contains the IDENTIFIABLE class.</p>
<p><strong>Wrapper</strong> -- IDENTIFIABLE is an intermediate class wrapping DCS Object class derived Objects.</p>
<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>
<hr/>
<ul>
<li>Support all DCS Identifiable APIs.</li>
<li>Enhance with Identifiable specific APIs not in the DCS Identifiable API set.</li>
<li>Manage the "state" of the DCS Identifiable.</li>
</ul>
<h2>1.1) IDENTIFIABLE constructor:</h2>
<p>The IDENTIFIABLE class provides the following functions to construct a IDENTIFIABLE instance:</p>
<ul>
<li><a href="##(IDENTIFIABLE).New">IDENTIFIABLE.New</a>(): Create a IDENTIFIABLE instance.</li>
</ul>
<h2>1.2) IDENTIFIABLE methods:</h2>
<p>The following methods can be used to identify an identifiable object:</p>
<ul>
<li><a href="##(IDENTIFIABLE).GetName">IDENTIFIABLE.GetName</a>(): Returns the name of the Identifiable.</li>
<li><a href="##(IDENTIFIABLE).IsAlive">IDENTIFIABLE.IsAlive</a>(): Returns if the Identifiable is alive.</li>
<li><a href="##(IDENTIFIABLE).GetTypeName">IDENTIFIABLE.GetTypeName</a>(): Returns the type name of the Identifiable.</li>
<li><a href="##(IDENTIFIABLE).GetCoalition">IDENTIFIABLE.GetCoalition</a>(): Returns the coalition of the Identifiable.</li>
<li><a href="##(IDENTIFIABLE).GetCountry">IDENTIFIABLE.GetCountry</a>(): Returns the country of the Identifiable.</li>
<li><a href="##(IDENTIFIABLE).GetDesc">IDENTIFIABLE.GetDesc</a>(): Returns the descriptor structure of the Identifiable.</li>
</ul>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<hr/>
@@ -141,19 +118,19 @@
<tr>
<td class="name" nowrap="nowrap"><a href="#IDENTIFIABLE">IDENTIFIABLE</a></td>
<td class="summary">
<h1>IDENTIFIABLE class, extends <a href="Object.html##(OBJECT)">Object#OBJECT</a></h1>
<p>The IDENTIFIABLE class is a wrapper class to handle the DCS Identifiable objects:</p>
<ul>
<li>Support all DCS Identifiable APIs.</li>
</ul>
</td>
</tr>
</table>
<h2><a id="#(IDENTIFIABLE)">Type <code>IDENTIFIABLE</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(IDENTIFIABLE).ClassName">IDENTIFIABLE.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(IDENTIFIABLE).GetCallsign">IDENTIFIABLE:GetCallsign()</a></td>
<td class="summary">
<p>Gets the CallSign of the IDENTIFIABLE, which is a blank by default.</p>
@@ -238,6 +215,27 @@
</dt>
<dd>
<h1>IDENTIFIABLE class, extends <a href="Object.html##(OBJECT)">Object#OBJECT</a></h1>
<p>The IDENTIFIABLE class is a wrapper class to handle the DCS Identifiable objects:</p>
<ul>
<li>Support all DCS Identifiable APIs.</li>
</ul>
<ul>
<li>Enhance with Identifiable specific APIs not in the DCS Identifiable API set.</li>
<li>Manage the "state" of the DCS Identifiable.</li>
</ul>
<h2>IDENTIFIABLE constructor</h2>
<p>The IDENTIFIABLE class provides the following functions to construct a IDENTIFIABLE instance:</p>
<ul>
<li><a href="##(IDENTIFIABLE).New">IDENTIFIABLE.New</a>(): Create a IDENTIFIABLE instance.</li>
</ul>
</dd>
@@ -245,24 +243,7 @@
<h2><a id="#(Identifiable)" >Type <code>Identifiable</code></a></h2>
<h2><a id="#(IDENTIFIABLE)" >Type <code>IDENTIFIABLE</code></a></h2>
<p>The IDENTIFIABLE class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(IDENTIFIABLE).ClassName" >
<strong>IDENTIFIABLE.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h3>Field(s)</h3>
<dl class="function">
<dt>

View File

@@ -134,17 +134,12 @@ On top, MOOSE implements <strong>variable parameter</strong> passing for command
</ul>
<hr/>
<h1><strong>AUTHORS and CONTRIBUTIONS</strong></h1>
<p>- </p>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<h3>Authors:</h3>
<ul>
<li><strong>FlightControl</strong>: Design &amp; Programming
</li>
</ul>
<hr/>
<p> </p>
<h2>Global(s)</h2>
<table class="function_list">

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>Message</code></h1>
<p><strong>Core</strong> - MESSAGE class takes are of the <strong>real-time notifications</strong> and <strong>messages to players</strong> during a simulation.</p>
<p><strong>Core</strong> -- MESSAGE class takes are of the <strong>real-time notifications</strong> and <strong>messages to players</strong> during a simulation.</p>
@@ -224,6 +224,13 @@ To send messages, you need to use the To functions.</p>
<li>To a coalition using <a href="Message.html##(MESSAGE).ToCoalitionIf">Message#MESSAGE.ToCoalitionIf</a>().</li>
</ul>
<hr/>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<hr/>
</dd>
</dl>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>MissileTrainer</code></h1>
<p>This module contains the MISSILETRAINER class.</p>
<p><strong>Functional</strong> -- MISSILETRAINER helps you to train missile avoidance.</p>

View File

@@ -100,11 +100,18 @@
<div id="content">
<h1>Module <code>Mission</code></h1>
<p>A MISSION is the main owner of a Mission orchestration within MOOSE .</p>
<p><strong>Tasking</strong> -- A MISSION is the main owner of a Mission orchestration within MOOSE.</p>
<p>The Mission framework orchestrates <a href="CLIENT.html">CLIENT</a>s, <a href="TASK.html">TASK</a>s, <a href="STAGE.html">STAGE</a>s etc.
A <a href="CLIENT.html">CLIENT</a> needs to be registered within the <a href="MISSION.html">MISSION</a> through the function <a href="AddClient.html">AddClient</a>. A <a href="TASK.html">TASK</a> needs to be registered within the <a href="MISSION.html">MISSION</a> through the function <a href="AddTask.html">AddTask</a>.</p>
<hr/>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<hr/>
<h2>Global(s)</h2>
<table class="function_list">

View File

@@ -100,10 +100,14 @@
<div id="content">
<h1>Module <code>Movement</code></h1>
<p>Limit the simultaneous movement of Groups within a running Mission.</p>
<p><strong>Functional</strong> -- Limit the MOVEMENT of simulaneous moving ground vehicles.</p>
<p>This module is defined to improve the performance in missions, and to bring additional realism for GROUND vehicles.
<hr/>
<p>Limit the simultaneous movement of Groups within a running Mission.
This module is defined to improve the performance in missions, and to bring additional realism for GROUND vehicles.
Performance: If in a DCSRTE there are a lot of moving GROUND units, then in a multi player mission, this WILL create lag if
the main DCS execution core of your CPU is fully utilized. So, this class will limit the amount of simultaneous moving GROUND units
on defined intervals (currently every minute).</p>
@@ -218,7 +222,6 @@ on defined intervals (currently every minute).</p>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(MOVEMENT).AliveUnits" >
<strong>MOVEMENT.AliveUnits</strong>
</a>
@@ -227,9 +230,6 @@ on defined intervals (currently every minute).</p>
<p> Contains the counter how many units are currently alive</p>
</dd>
</dl>
<dl class="function">

View File

@@ -100,32 +100,15 @@
<div id="content">
<h1>Module <code>Object</code></h1>
<p>This module contains the OBJECT class.</p>
<p><strong>Wrapper</strong> -- OBJECT wraps the DCS Object derived 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>
<hr/>
<ul>
<li>Support all DCS Object APIs.</li>
<li>Enhance with Object specific APIs not in the DCS Object API set.</li>
<li>Manage the "state" of the DCS Object.</li>
</ul>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h2>1.1) OBJECT constructor:</h2>
<p>The OBJECT class provides the following functions to construct a OBJECT instance:</p>
<ul>
<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="Object.html##(OBJECT).GetID">Object#OBJECT.GetID</a>(): Returns the ID of the Object object.</li>
</ul>
<h3>Contributions:</h3>
<hr/>
@@ -135,7 +118,13 @@
<tr>
<td class="name" nowrap="nowrap"><a href="#OBJECT">OBJECT</a></td>
<td class="summary">
<h1>OBJECT class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p>OBJECT handles the DCS Object objects:</p>
<ul>
<li>Support all DCS Object APIs.</li>
</ul>
</td>
</tr>
</table>
@@ -152,12 +141,6 @@
<h2><a id="#(OBJECT)">Type <code>OBJECT</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(OBJECT).ClassName">OBJECT.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(OBJECT).Destroy">OBJECT:Destroy()</a></td>
<td class="summary">
<p>Destroys the OBJECT.</p>
@@ -194,6 +177,27 @@
</dt>
<dd>
<h1>OBJECT class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p>OBJECT handles the DCS Object objects:</p>
<ul>
<li>Support all DCS Object APIs.</li>
</ul>
<ul>
<li>Enhance with Object specific APIs not in the DCS Object API set.</li>
<li>Manage the "state" of the DCS Object.</li>
</ul>
<h2>OBJECT constructor:</h2>
<p>The OBJECT class provides the following functions to construct a OBJECT instance:</p>
<ul>
<li><a href="Object.html##(OBJECT).New">Object#OBJECT.New</a>(): Create a OBJECT instance.</li>
</ul>
</dd>
@@ -220,24 +224,7 @@
</dl>
<h2><a id="#(OBJECT)" >Type <code>OBJECT</code></a></h2>
<p>The OBJECT class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(OBJECT).ClassName" >
<strong>OBJECT.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h3>Field(s)</h3>
<dl class="function">
<dt>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>Point</code></h1>
<p><strong>Core</strong> - <strong>POINT_VEC</strong> classes define an <strong>extensive API</strong> to <strong>manage 3D points</strong> in the simulation space.</p>
<p><strong>Core</strong> -- <strong>POINT_VEC</strong> classes define an <strong>extensive API</strong> to <strong>manage 3D points</strong> in the simulation space.</p>
@@ -124,33 +124,6 @@
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
<p>The underlying change log documents the API changes. Please read this carefully. The following notation is used:</p>
<ul>
<li><strong>Added</strong> parts are expressed in bold type face.</li>
<li><em>Removed</em> parts are expressed in italic type face.</li>
</ul>
<p>Hereby the change log:</p>
<p>2017-03-03: POINT_VEC3:<strong>Explosion( ExplosionIntensity )</strong> added.
2017-03-03: POINT_VEC3:<strong>IlluminationBomb()</strong> added.</p>
<p>2017-02-18: POINT_VEC3:<strong>NewFromVec2( Vec2, LandHeightAdd )</strong> added.</p>
<p>2016-08-12: POINT_VEC3:<strong>Translate( Distance, Angle )</strong> added.</p>
<p>2016-08-06: Made PointVec3 and Vec3, PointVec2 and Vec2 terminology used in the code consistent.</p>
<ul>
<li>Replaced method <em>Point</em>Vec3() to <strong>Vec3</strong>() where the code manages a Vec3. Replaced all references to the method.</li>
<li>Replaced method <em>Point</em>Vec2() to <strong>Vec2</strong>() where the code manages a Vec2. Replaced all references to the method.</li>
<li>Replaced method Random<em>Point</em>Vec3() to <strong>RandomVec3</strong>() where the code manages a Vec3. Replaced all references to the method.
.</li>
</ul>
<h3>Authors:</h3>
<ul>

View File

@@ -100,10 +100,16 @@
<div id="content">
<h1>Module <code>Positionable</code></h1>
<p><strong>Wrapper</strong> -- This module contains the POSITIONABLE class.</p>
<p><strong>Wrapper</strong> -- POSITIONABLE wraps DCS classes that are "positionable".</p>
<hr/>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<hr/>
@@ -385,16 +391,6 @@
<li><a href="Positionable.html##(POSITIONABLE).New">Positionable#POSITIONABLE.New</a>(): Create a POSITIONABLE instance.</li>
</ul>
<h2>POSITIONABLE methods</h2>
<p>The following methods can be used to identify an measurable object:</p>
<ul>
<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>
</dd>
</dl>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>Radio</code></h1>
<p><strong>Core</strong> - The RADIO Module is responsible for everything that is related to radio transmission and you can hear in DCS, be it TACAN beacons, Radio transmissions...</p>
<p><strong>Core</strong> -- The RADIO Module is responsible for everything that is related to radio transmission and you can hear in DCS, be it TACAN beacons, Radio transmissions...</p>

View File

@@ -100,19 +100,17 @@
<div id="content">
<h1>Module <code>Scenery</code></h1>
<p>This module contains the SCENERY class.</p>
<p><strong>Wrapper</strong> -- SCENERY models scenery within the DCS simulator.</p>
<h1>1) <a href="Scenery.html##(SCENERY)">Scenery#SCENERY</a> class, extends <a href="Positionable.html##(POSITIONABLE)">Positionable#POSITIONABLE</a></h1>
<p>Scenery objects are defined on the map.
The <a href="Scenery.html##(SCENERY)">Scenery#SCENERY</a> class is a wrapper class to handle the DCS Scenery objects:</p>
<hr/>
<ul>
<li>Wraps the DCS Scenery objects.</li>
<li>Support all DCS Scenery APIs.</li>
<li>Enhance with Scenery specific APIs not in the DCS API set.</li>
</ul>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<hr/>
<h2>Global(s)</h2>
@@ -120,19 +118,15 @@ The <a href="Scenery.html##(SCENERY)">Scenery#SCENERY</a> class is a wrapper cla
<tr>
<td class="name" nowrap="nowrap"><a href="#SCENERY">SCENERY</a></td>
<td class="summary">
<h1>SCENERY class, extends <a href="Positionable.html##(POSITIONABLE)">Positionable#POSITIONABLE</a></h1>
<p>Scenery objects are defined on the map.</p>
</td>
</tr>
</table>
<h2><a id="#(SCENERY)">Type <code>SCENERY</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(SCENERY).ClassName">SCENERY.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SCENERY).GetDCSObject">SCENERY:GetDCSObject()</a></td>
<td class="summary">
@@ -163,6 +157,18 @@ The <a href="Scenery.html##(SCENERY)">Scenery#SCENERY</a> class is a wrapper cla
</dt>
<dd>
<h1>SCENERY class, extends <a href="Positionable.html##(POSITIONABLE)">Positionable#POSITIONABLE</a></h1>
<p>Scenery objects are defined on the map.</p>
<p>The <a href="Scenery.html##(SCENERY)">Scenery#SCENERY</a> class is a wrapper class to handle the DCS Scenery objects:</p>
<ul>
<li>Wraps the DCS Scenery objects.</li>
<li>Support all DCS Scenery APIs.</li>
<li>Enhance with Scenery specific APIs not in the DCS API set.</li>
</ul>
</dd>
@@ -170,24 +176,7 @@ The <a href="Scenery.html##(SCENERY)">Scenery#SCENERY</a> class is a wrapper cla
<h2><a id="#(Scenery)" >Type <code>Scenery</code></a></h2>
<h2><a id="#(SCENERY)" >Type <code>SCENERY</code></a></h2>
<p>The SCENERY class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(SCENERY).ClassName" >
<strong>SCENERY.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h3>Field(s)</h3>
<dl class="function">
<dt>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>ScheduleDispatcher</code></h1>
<p>This module defines the SCHEDULEDISPATCHER class, which is used by a central object called _SCHEDULEDISPATCHER.</p>
<p><strong>Core</strong> -- SCHEDULEDISPATCHER dispatches the different schedules.</p>
@@ -134,8 +134,6 @@ The Schedule() method returns the CallID that is the reference ID for each plann
<hr/>
<hr/>
<h3>Contributions: -</h3>
<h3>Authors: FlightControl : Design &amp; Programming</h3>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>Scheduler</code></h1>
<p><strong>Core</strong> - SCHEDULER prepares and handles the <strong>execution of functions over scheduled time (intervals)</strong>.</p>
<p><strong>Core</strong> -- SCHEDULER prepares and handles the <strong>execution of functions over scheduled time (intervals)</strong>.</p>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>Scoring</code></h1>
<p>Single-Player:<strong>Yes</strong> / Multi-Player:<strong>Yes</strong> / Core:<strong>Yes</strong> -- <strong>Administer the scoring of player achievements,
<p><strong>Functional</strong> -- <strong>Administer the SCORING of player achievements,
and create a CSV file logging the scoring events for use at team or squadron websites.</strong></p>
<p><img src="..\Presentations\SCORING\Dia1.JPG" alt="Banner Image"/></p>

View File

@@ -100,7 +100,12 @@
<div id="content">
<h1>Module <code>Sead</code></h1>
<p>Provides defensive behaviour to a set of SAM sites within a running Mission.</p>
<p><strong>Functional</strong> -- Provides defensive behaviour to a set of SAM sites within a running Mission.</p>
<hr/>
<h2>Global(s)</h2>
<table class="function_list">

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>Set</code></h1>
<p><strong>Core</strong> - SET_ classes define <strong>collections</strong> of objects to perform <strong>bulk actions</strong> and logically <strong>group</strong> objects.</p>
<p><strong>Core</strong> -- SET_ classes define <strong>collections</strong> of objects to perform <strong>bulk actions</strong> and logically <strong>group</strong> objects.</p>
@@ -133,14 +133,12 @@
<li>Trigger events when objects in the SET change a zone presence.</li>
</ul>
<h3>Authors:</h3>
<ul>
<li>FlightControl : Design &amp; Programming</li>
</ul>
<hr/>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<hr/>
<h2>Global(s)</h2>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>Settings</code></h1>
<p><strong>Core</strong> - <strong>SETTINGS</strong> classe defines the format settings management for measurement.</p>
<p><strong>Core</strong> -- <strong>SETTINGS</strong> classe defines the format settings management for measurement.</p>
@@ -124,14 +124,11 @@
<hr/>
<h3>Authors:</h3>
<ul>
<li>FlightControl : Design &amp; Programming</li>
</ul>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<hr/>
<h2>Global(s)</h2>
<table class="function_list">

View File

@@ -781,12 +781,6 @@ and any spaces before and after the resulting name are removed.</p>
<td class="name" nowrap="nowrap"><a href="##(SPAWN)._TranslateRotate">SPAWN:_TranslateRotate(SpawnIndex, SpawnRootX, SpawnRootY, SpawnX, SpawnY, SpawnAngle)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).uncontrolled">SPAWN.uncontrolled</a></td>
<td class="summary">
</td>
</tr>
</table>
@@ -2088,9 +2082,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">
@@ -2575,9 +2566,6 @@ when nothing was spawned.</p>
<p> By default, no InitLimit</p>
</dd>
</dl>
<dl class="function">
@@ -2613,7 +2601,7 @@ when nothing was spawned.</p>
<dl class="function">
<dt>
<em>#number</em>
<em></em>
<a id="#(SPAWN).SpawnMaxGroups" >
<strong>SPAWN.SpawnMaxGroups</strong>
</a>
@@ -2630,7 +2618,7 @@ when nothing was spawned.</p>
<dl class="function">
<dt>
<em>#number</em>
<em></em>
<a id="#(SPAWN).SpawnMaxUnitsAlive" >
<strong>SPAWN.SpawnMaxUnitsAlive</strong>
</a>
@@ -2958,7 +2946,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>
@@ -3548,20 +3536,6 @@ True = Continue Scheduler</p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(SPAWN).uncontrolled" >
<strong>SPAWN.uncontrolled</strong>
</a>
</dt>
<dd>
</dd>
</dl>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>SpawnStatic</code></h1>
<p>(R2.1) <strong>Core</strong> -- Spawn dynamically new STATICs in your missions.</p>
<p><strong>Core</strong> -- Spawn dynamically new STATICs in your missions.</p>
<p>
@@ -128,28 +128,10 @@
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
<p>The underlying change log documents the API changes. Please read this carefully. The following notation is used:</p>
<ul>
<li><strong>Added</strong> parts are expressed in bold type face.</li>
<li><em>Removed</em> parts are expressed in italic type face.</li>
</ul>
<p>Hereby the change log:</p>
<hr/>
<h1><strong>AUTHORS and CONTRIBUTIONS</strong></h1>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<h3>Authors:</h3>
<ul>
<li><strong>FlightControl</strong>: Design &amp; Programming</li>
</ul>
<hr/>
<h2>Global(s)</h2>
@@ -449,6 +431,7 @@ ptional) The name of the new static.</p>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(SPAWNSTATIC).SpawnIndex" >
<strong>SPAWNSTATIC.SpawnIndex</strong>
</a>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>Spot</code></h1>
<p><strong>Core 2.1</strong> -- Management of SPOT logistics, that can be transported from and to transportation carriers.</p>
<p><strong>Core</strong> -- Management of SPOT logistics, that can be transported from and to transportation carriers.</p>
@@ -135,8 +135,7 @@
<hr/>
<h1><strong>AUTHORS and CONTRIBUTIONS</strong></h1>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<ul>
@@ -145,12 +144,7 @@
<li><a href="https://forums.eagle.ru/member.php?u=123698"><strong>Wingthor</strong></a>: Beta Testing</li>
</ul>
<h3>Authors:</h3>
<ul>
<li><strong>FlightControl</strong>: Design &amp; Programming</li>
</ul>
<hr/>
<h2>Global(s)</h2>
@@ -766,6 +760,7 @@ true if it is lasing</p>
<dl class="function">
<dt>
<em></em>
<a id="#(SPOT).ScheduleID" >
<strong>SPOT.ScheduleID</strong>
</a>
@@ -779,6 +774,7 @@ true if it is lasing</p>
<dl class="function">
<dt>
<em></em>
<a id="#(SPOT).SpotIR" >
<strong>SPOT.SpotIR</strong>
</a>
@@ -792,6 +788,7 @@ true if it is lasing</p>
<dl class="function">
<dt>
<em></em>
<a id="#(SPOT).SpotLaser" >
<strong>SPOT.SpotLaser</strong>
</a>
@@ -805,6 +802,7 @@ true if it is lasing</p>
<dl class="function">
<dt>
<em></em>
<a id="#(SPOT).Target" >
<strong>SPOT.Target</strong>
</a>

View File

@@ -100,39 +100,17 @@
<div id="content">
<h1>Module <code>Static</code></h1>
<p>This module contains the STATIC class.</p>
<p><strong>Wrapper</strong> -- STATIC wraps the DCS StaticObject class.</p>
<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="Static.html##(STATIC)">Static#STATIC</a> class is a wrapper class to handle the DCS Static objects:</p>
<hr/>
<ul>
<li>Wraps the DCS Static objects.</li>
<li>Support all DCS Static APIs.</li>
<li>Enhance with Static specific APIs not in the DCS API set.</li>
</ul>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h2>1.1) STATIC reference methods</h2>
<p>For each DCS Static will have a STATIC wrapper object (instance) within the _<a href="DATABASE.html">DATABASE</a> object.
This is done at the beginning of the mission (when the mission starts).</p>
<h3>Contributions:</h3>
<p>The STATIC class does not contain a :New() method, rather it provides :Find() methods to retrieve the object reference
using the Static Name.</p>
<p>Another thing to know is that STATIC objects do not "contain" the DCS Static object.
The STATIc methods will reference the DCS Static object by name when it is needed during API execution.
If the DCS Static object does not exist or is nil, the STATIC methods will return nil and log an exception in the DCS.log file.</p>
<p>The STATIc class provides the following functions to retrieve quickly the relevant STATIC instance:</p>
<ul>
<li><a href="##(STATIC).FindByName">STATIC.FindByName</a>(): Find a STATIC instance from the _DATABASE object using a DCS Static name.</li>
</ul>
<p>IMPORTANT: ONE SHOULD NEVER SANATIZE these STATIC OBJECT REFERENCES! (make the STATIC object references nil).</p>
<hr/>
<h2>Global(s)</h2>
@@ -140,19 +118,15 @@ If the DCS Static object does not exist or is nil, the STATIC methods will retur
<tr>
<td class="name" nowrap="nowrap"><a href="#STATIC">STATIC</a></td>
<td class="summary">
<h1>STATIC class, extends <a href="Positionable.html##(POSITIONABLE)">Positionable#POSITIONABLE</a></h1>
<p>Statics are <strong>Static Units</strong> defined within the Mission Editor.</p>
</td>
</tr>
</table>
<h2><a id="#(STATIC)">Type <code>STATIC</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(STATIC).ClassName">STATIC.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(STATIC).FindByName">STATIC:FindByName(StaticName, RaiseError)</a></td>
<td class="summary">
<p>Finds a STATIC from the _DATABASE using the relevant Static Name.</p>
@@ -195,6 +169,39 @@ If the DCS Static object does not exist or is nil, the STATIC methods will retur
</dt>
<dd>
<h1>STATIC class, extends <a href="Positionable.html##(POSITIONABLE)">Positionable#POSITIONABLE</a></h1>
<p>Statics are <strong>Static Units</strong> defined within the Mission Editor.</p>
<p>Note that Statics are almost the same as Units, but they don't have a controller.
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>
<li>Support all DCS Static APIs.</li>
<li>Enhance with Static specific APIs not in the DCS API set.</li>
</ul>
<h2>STATIC reference methods</h2>
<p>For each DCS Static will have a STATIC wrapper object (instance) within the _<a href="DATABASE.html">DATABASE</a> object.
This is done at the beginning of the mission (when the mission starts).</p>
<p>The STATIC class does not contain a :New() method, rather it provides :Find() methods to retrieve the object reference
using the Static Name.</p>
<p>Another thing to know is that STATIC objects do not "contain" the DCS Static object.
The STATIc methods will reference the DCS Static object by name when it is needed during API execution.
If the DCS Static object does not exist or is nil, the STATIC methods will return nil and log an exception in the DCS.log file.</p>
<p>The STATIc class provides the following functions to retrieve quickly the relevant STATIC instance:</p>
<ul>
<li><a href="##(STATIC).FindByName">STATIC.FindByName</a>(): Find a STATIC instance from the _DATABASE object using a DCS Static name.</li>
</ul>
<p>IMPORTANT: ONE SHOULD NEVER SANATIZE these STATIC OBJECT REFERENCES! (make the STATIC object references nil).</p>
</dd>
@@ -202,24 +209,7 @@ If the DCS Static object does not exist or is nil, the STATIC methods will retur
<h2><a id="#(Static)" >Type <code>Static</code></a></h2>
<h2><a id="#(STATIC)" >Type <code>STATIC</code></a></h2>
<p>The STATIC class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(STATIC).ClassName" >
<strong>STATIC.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h3>Field(s)</h3>
<dl class="function">
<dt>

View File

@@ -100,17 +100,18 @@
<div id="content">
<h1>Module <code>Task</code></h1>
<p><strong>Tasking</strong> -- This module contains the TASK class.</p>
<p><strong>Tasking</strong> -- This module contains the TASK class, the main engine to run human taskings.</p>
<hr/>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<hr/>
<h3>Authors: FlightControl - Design and Programming</h3>
<h2>Global(s)</h2>
<table class="function_list">

View File

@@ -107,64 +107,24 @@
<p><img src="..\Presentations\TASK_A2A\Dia1.JPG" alt="Banner Image"/></p>
<h1>1) <a href="Task_A2A.html##(TASK_A2A)">Task<em>A2A#TASK</em>A2A</a> class, extends <a href="Task.html##(TASK)">Task#TASK</a></h1>
<p>The <a href="##(TASK_A2A)">#TASK_A2A</a> class defines Air To Air tasks for a <a href="Set.html">Set</a> of Target Units,
based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TASK</a>.
The TASK_A2A 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 A2A task is planned.</li>
<li><strong>Assigned</strong>: The A2A task is assigned to a <a href="Group.html##(GROUP)">Group#GROUP</a>.</li>
<li><strong>Success</strong>: The A2A task is successfully completed.</li>
<li><strong>Failed</strong>: The A2A task has failed. This will happen if the player exists the task early, without communicating a possible cancellation to HQ.</li>
</ul>
<h1>1.1) Set the scoring of achievements in an A2A attack.</h1>
<p>Scoring or penalties can be given in the following circumstances:</p>
<ul>
<li><a href="##(TASK_A2A).SetScoreOnDestroy">TASK_A2A.SetScoreOnDestroy</a>(): Set a score when a target in scope of the A2A attack, has been destroyed.</li>
<li><a href="##(TASK_A2A).SetScoreOnSuccess">TASK_A2A.SetScoreOnSuccess</a>(): Set a score when all the targets in scope of the A2A attack, have been destroyed.</li>
<li><a href="##(TASK_A2A).SetPenaltyOnFailed">TASK_A2A.SetPenaltyOnFailed</a>(): Set a penalty when the A2A attack has failed.</li>
</ul>
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
<p>The underlying change log documents the API changes. Please read this carefully. The following notation is used:</p>
<ul>
<li><strong>Added</strong> parts are expressed in bold type face.</li>
<li><em>Removed</em> parts are expressed in italic type face.</li>
</ul>
<p>Hereby the change log:</p>
<hr/>
<h1><strong>AUTHORS and CONTRIBUTIONS</strong></h1>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<h3>Authors:</h3>
<ul>
<li><strong>FlightControl</strong>: Concept, Design &amp; Programming.
</li>
</ul>
<hr/>
<p> </p>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#TASK_A2A">TASK_A2A</a></td>
<td class="summary">
<h1>TASK_A2A class, extends <a href="Task.html##(TASK)">Task#TASK</a></h1>
<p>The TASK_A2A class defines Air To Air tasks for a <a href="Set.html">Set</a> of Target Units,
based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TASK</a>.</p>
</td>
</tr>
<tr>
@@ -195,12 +155,6 @@ The TASK_A2A is implemented using a <a href="Statemachine.html##(FSM_TASK)">Stat
<h2><a id="#(TASK_A2A)">Type <code>TASK_A2A</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2A).ClassName">TASK_A2A.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2A).GetPlannedMenuText">TASK_A2A:GetPlannedMenuText()</a></td>
<td class="summary">
@@ -345,6 +299,31 @@ The TASK_A2A is implemented using a <a href="Statemachine.html##(FSM_TASK)">Stat
</dt>
<dd>
<h1>TASK_A2A class, extends <a href="Task.html##(TASK)">Task#TASK</a></h1>
<p>The TASK_A2A class defines Air To Air tasks for a <a href="Set.html">Set</a> of Target Units,
based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TASK</a>.</p>
<p>The TASK_A2A is implemented using a <a href="Fsm.html##(FSM_TASK)">Fsm#FSM_TASK</a>, and has the following statuses:</p>
<ul>
<li><strong>None</strong>: Start of the process</li>
<li><strong>Planned</strong>: The A2A task is planned.</li>
<li><strong>Assigned</strong>: The A2A task is assigned to a <a href="Group.html##(GROUP)">Group#GROUP</a>.</li>
<li><strong>Success</strong>: The A2A task is successfully completed.</li>
<li><strong>Failed</strong>: The A2A task has failed. This will happen if the player exists the task early, without communicating a possible cancellation to HQ.</li>
</ul>
<h1>1.1) Set the scoring of achievements in an A2A attack.</h1>
<p>Scoring or penalties can be given in the following circumstances:</p>
<ul>
<li><a href="##(TASK_A2A).SetScoreOnDestroy">TASK_A2A.SetScoreOnDestroy</a>(): Set a score when a target in scope of the A2A attack, has been destroyed.</li>
<li><a href="##(TASK_A2A).SetScoreOnSuccess">TASK_A2A.SetScoreOnSuccess</a>(): Set a score when all the targets in scope of the A2A attack, have been destroyed.</li>
<li><a href="##(TASK_A2A).SetPenaltyOnFailed">TASK_A2A.SetPenaltyOnFailed</a>(): Set a penalty when the A2A attack has failed.</li>
</ul>
</dd>
@@ -441,20 +420,6 @@ The task is given a name and a briefing, that is used in the menu structure and
<dl class="function">
<dt>
<em>#string</em>
<a id="#(TASK_A2A).ClassName" >
<strong>TASK_A2A.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(TASK_A2A).GetPlannedMenuText" >
<strong>TASK_A2A:GetPlannedMenuText()</strong>
</a>

View File

@@ -106,15 +106,11 @@
<hr/>
<h1><strong>AUTHORS and CONTRIBUTIONS</strong></h1>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<h3>Authors:</h3>
<ul>
<li><strong>FlightControl</strong>: Concept, Design &amp; Programming.</li>
</ul>
<hr/>
<h2>Global(s)</h2>

View File

@@ -106,69 +106,24 @@
<p><img src="..\Presentations\TASK_A2G\Dia1.JPG" alt="Banner Image"/></p>
<h1>1) <a href="Task_A2G.html##(TASK_A2G)">Task<em>A2G#TASK</em>A2G</a> class, extends <a href="Task.html##(TASK)">Task#TASK</a></h1>
<p>The <a href="##(TASK_A2G)">#TASK_A2G</a> class defines Air To Ground tasks for a <a href="Set.html">Set</a> of Target Units,
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 A2G task is planned.</li>
<li><strong>Assigned</strong>: The A2G task is assigned to a <a href="Group.html##(GROUP)">Group#GROUP</a>.</li>
<li><strong>Success</strong>: The A2G task is successfully completed.</li>
<li><strong>Failed</strong>: The A2G task has failed. This will happen if the player exists the task early, without communicating a possible cancellation to HQ.</li>
</ul>
<h1>1.1) Set the scoring of achievements in an A2G attack.</h1>
<p>Scoring or penalties can be given in the following circumstances:</p>
<ul>
<li><a href="##(TASK_A2G).SetScoreOnDestroy">TASK_A2G.SetScoreOnDestroy</a>(): Set a score when a target in scope of the A2G attack, has been destroyed.</li>
<li><a href="##(TASK_A2G).SetScoreOnSuccess">TASK_A2G.SetScoreOnSuccess</a>(): Set a score when all the targets in scope of the A2G attack, have been destroyed.</li>
<li><a href="##(TASK_A2G).SetPenaltyOnFailed">TASK_A2G.SetPenaltyOnFailed</a>(): Set a penalty when the A2G attack has failed.</li>
</ul>
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
<p>The underlying change log documents the API changes. Please read this carefully. The following notation is used:</p>
<ul>
<li><strong>Added</strong> parts are expressed in bold type face.</li>
<li><em>Removed</em> parts are expressed in italic type face.</li>
</ul>
<p>Hereby the change log:</p>
<p>2017-03-09: Revised version.</p>
<hr/>
<h1><strong>AUTHORS and CONTRIBUTIONS</strong></h1>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<ul>
<li><strong>[WingThor]</strong>: Concept, Advice &amp; Testing.</li>
</ul>
<h3>Authors:</h3>
<ul>
<li><strong>FlightControl</strong>: Concept, Design &amp; Programming.
</li>
</ul>
<hr/>
<p> </p>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#TASK_A2G">TASK_A2G</a></td>
<td class="summary">
<h1>TASK_A2G class, extends <a href="Task.html##(TASK)">Task#TASK</a></h1>
<p>The TASK_A2G class defines Air To Ground tasks for a <a href="Set.html">Set</a> of Target Units,
based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TASK</a>.</p>
</td>
</tr>
<tr>
@@ -199,12 +154,6 @@ The TASK_A2G is implemented using a <a href="Statemachine.html##(FSM_TASK)">Stat
<h2><a id="#(TASK_A2G)">Type <code>TASK_A2G</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2G).ClassName">TASK_A2G.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2G).GetPlannedMenuText">TASK_A2G:GetPlannedMenuText()</a></td>
<td class="summary">
@@ -349,6 +298,31 @@ The TASK_A2G is implemented using a <a href="Statemachine.html##(FSM_TASK)">Stat
</dt>
<dd>
<h1>TASK_A2G class, extends <a href="Task.html##(TASK)">Task#TASK</a></h1>
<p>The TASK_A2G class defines Air To Ground tasks for a <a href="Set.html">Set</a> of Target Units,
based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TASK</a>.</p>
<p>The TASK_A2G is implemented using a <a href="Fsm.html##(FSM_TASK)">Fsm#FSM_TASK</a>, and has the following statuses:</p>
<ul>
<li><strong>None</strong>: Start of the process</li>
<li><strong>Planned</strong>: The A2G task is planned.</li>
<li><strong>Assigned</strong>: The A2G task is assigned to a <a href="Group.html##(GROUP)">Group#GROUP</a>.</li>
<li><strong>Success</strong>: The A2G task is successfully completed.</li>
<li><strong>Failed</strong>: The A2G task has failed. This will happen if the player exists the task early, without communicating a possible cancellation to HQ.</li>
</ul>
<h2>Set the scoring of achievements in an A2G attack.</h2>
<p>Scoring or penalties can be given in the following circumstances:</p>
<ul>
<li><a href="##(TASK_A2G).SetScoreOnDestroy">TASK_A2G.SetScoreOnDestroy</a>(): Set a score when a target in scope of the A2G attack, has been destroyed.</li>
<li><a href="##(TASK_A2G).SetScoreOnSuccess">TASK_A2G.SetScoreOnSuccess</a>(): Set a score when all the targets in scope of the A2G attack, have been destroyed.</li>
<li><a href="##(TASK_A2G).SetPenaltyOnFailed">TASK_A2G.SetPenaltyOnFailed</a>(): Set a penalty when the A2G attack has failed.</li>
</ul>
</dd>
@@ -435,20 +409,6 @@ based on detected enemy ground targets.</p>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(TASK_A2G).ClassName" >
<strong>TASK_A2G.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(TASK_A2G).GetPlannedMenuText" >
<strong>TASK_A2G:GetPlannedMenuText()</strong>
</a>

View File

@@ -106,49 +106,11 @@
<hr/>
<h1>1) <a href="##(TASK_A2G_DISPATCHER)">#TASK<em>A2G</em>DISPATCHER</a> class, extends <a href="##(DETECTION_MANAGER)">#DETECTION_MANAGER</a></h1>
<p>The <a href="##(TASK_A2G_DISPATCHER)">#TASK<em>A2G</em>DISPATCHER</a> class implements the dynamic dispatching of tasks upon groups of detected units determined a <a href="Set.html">Set</a> of FAC (groups).
The FAC will detect units, will group them, and will dispatch <a href="Task.html">Task</a>s to groups. Depending on the type of target detected, different tasks will be dispatched.
Find a summary below describing for which situation a task type is created:</p>
<ul>
<li><strong>CAS Task</strong>: Is created when there are enemy ground units within range of the FAC, while there are friendly units in the FAC perimeter.</li>
<li><strong>BAI Task</strong>: Is created when there are enemy ground units within range of the FAC, while there are NO other friendly units within the FAC perimeter.</li>
<li><strong>SEAD Task</strong>: Is created when there are enemy ground units wihtin range of the FAC, with air search radars.</li>
</ul>
<p>Other task types will follow...</p>
<h2>3.1) TASK<em>A2G</em>DISPATCHER constructor:</h2>
<p>The <a href="##(TASK_A2G_DISPATCHER).New">TASK<em>A2G</em>DISPATCHER.New</a>() method creates a new TASK<em>A2G</em>DISPATCHER instance.</p>
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
<p>The underlying change log documents the API changes. Please read this carefully. The following notation is used:</p>
<ul>
<li><strong>Added</strong> parts are expressed in bold type face.</li>
<li><em>Removed</em> parts are expressed in italic type face.</li>
</ul>
<p>Hereby the change log:</p>
<p>2017-03-09: Initial class and API.</p>
<hr/>
<h1><strong>AUTHORS and CONTRIBUTIONS</strong></h1>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<h3>Authors:</h3>
<ul>
<li><strong>FlightControl</strong>: Concept, Design &amp; Programming.</li>
</ul>
<hr/>
<h2>Global(s)</h2>
@@ -156,19 +118,15 @@ Find a summary below describing for which situation a task type is created:</p>
<tr>
<td class="name" nowrap="nowrap"><a href="#TASK_A2G_DISPATCHER">TASK_A2G_DISPATCHER</a></td>
<td class="summary">
<h1>TASK<em>A2G</em>DISPATCHE} class, extends <a href="##(DETECTION_MANAGER)">#DETECTION_MANAGER</a></h1>
<p>The TASK<em>A2G</em>DISPATCHER class implements the dynamic dispatching of tasks upon groups of detected units determined a <a href="Set.html">Set</a> of FAC (groups).</p>
</td>
</tr>
</table>
<h2><a id="#(TASK_A2G_DISPATCHER)">Type <code>TASK_A2G_DISPATCHER</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2G_DISPATCHER).ClassName">TASK_A2G_DISPATCHER.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2G_DISPATCHER).Detection">TASK_A2G_DISPATCHER.Detection</a></td>
<td class="summary">
<p>The DETECTION_BASE object that is used to report the detected objects.</p>
@@ -226,12 +184,6 @@ Find a summary below describing for which situation a task type is created:</p>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2G_DISPATCHER).SetGroup">TASK_A2G_DISPATCHER.SetGroup</a></td>
<td class="summary">
<p>The groups to which the FAC will report to.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2G_DISPATCHER).Tasks">TASK_A2G_DISPATCHER.Tasks</a></td>
<td class="summary">
</td>
</tr>
</table>
@@ -247,6 +199,25 @@ Find a summary below describing for which situation a task type is created:</p>
</dt>
<dd>
<h1>TASK<em>A2G</em>DISPATCHE} class, extends <a href="##(DETECTION_MANAGER)">#DETECTION_MANAGER</a></h1>
<p>The TASK<em>A2G</em>DISPATCHER class implements the dynamic dispatching of tasks upon groups of detected units determined a <a href="Set.html">Set</a> of FAC (groups).</p>
<p>The FAC will detect units, will group them, and will dispatch <a href="Task.html">Task</a>s to groups. Depending on the type of target detected, different tasks will be dispatched.
Find a summary below describing for which situation a task type is created:</p>
<ul>
<li><strong>CAS Task</strong>: Is created when there are enemy ground units within range of the FAC, while there are friendly units in the FAC perimeter.</li>
<li><strong>BAI Task</strong>: Is created when there are enemy ground units within range of the FAC, while there are NO other friendly units within the FAC perimeter.</li>
<li><strong>SEAD Task</strong>: Is created when there are enemy ground units wihtin range of the FAC, with air search radars.</li>
</ul>
<p>Other task types will follow...</p>
<h2>TASK<em>A2G</em>DISPATCHER constructor</h2>
<p>The <a href="##(TASK_A2G_DISPATCHER).New">TASK<em>A2G</em>DISPATCHER.New</a>() method creates a new TASK<em>A2G</em>DISPATCHER instance.</p>
</dd>
@@ -261,20 +232,6 @@ Find a summary below describing for which situation a task type is created:</p>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(TASK_A2G_DISPATCHER).ClassName" >
<strong>TASK_A2G_DISPATCHER.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Functional.Detection.html##(DETECTION_BASE)">Functional.Detection#DETECTION_BASE</a></em>
<a id="#(TASK_A2G_DISPATCHER).Detection" >
<strong>TASK_A2G_DISPATCHER.Detection</strong>
@@ -574,20 +531,6 @@ Return true if you want the task assigning to continue... false will cancel the
<p>The groups to which the FAC will report to.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(TASK_A2G_DISPATCHER).Tasks" >
<strong>TASK_A2G_DISPATCHER.Tasks</strong>
</a>
</dt>
<dd>
</dd>
</dl>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>Task_Cargo</code></h1>
<p><strong>Tasking (Release 2.1)</strong> -- The TASK_CARGO models tasks for players to transport <a href="Cargo.html">Cargo</a>.</p>
<p><strong>Tasking</strong> -- The TASK_CARGO models tasks for players to transport <a href="Cargo.html">Cargo</a>.</p>
@@ -120,33 +120,14 @@ Cargo can be transported, picked-up, deployed and sling-loaded from and to other
<li><a href="##(TASK_CARGO_TRANSPORT)">#TASK<em>CARGO</em>TRANSPORT</a>: Defines a task for a human player to transport a set of cargo between various zones.</li>
</ul>
<p>==</p>
<h1><strong>API CHANGE HISTORY</strong></h1>
<p>The underlying change log documents the API changes. Please read this carefully. The following notation is used:</p>
<ul>
<li><strong>Added</strong> parts are expressed in bold type face.</li>
<li><em>Removed</em> parts are expressed in italic type face.</li>
</ul>
<p>Hereby the change log:</p>
<p>2017-03-09: Revised version.</p>
<hr/>
<h1><strong>AUTHORS and CONTRIBUTIONS</strong></h1>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<h3>Authors:</h3>
<ul>
<li><strong>FlightControl</strong>: Concept, Design &amp; Programming.
</li>
</ul>
<hr/>
<p> </p>
<h2>Global(s)</h2>
<table class="function_list">
@@ -524,7 +505,7 @@ based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TA
<dl class="function">
<dt>
<em><a href="Core.Cargo.html##(CARGO_GROUP)">Core.Cargo#CARGO_GROUP</a></em>
<em></em>
<a id="#(FSM_PROCESS).Cargo" >
<strong>FSM_PROCESS.Cargo</strong>
</a>

View File

@@ -112,10 +112,18 @@
<li>Support all DCS Unit APIs.</li>
<li>Enhance with Unit specific APIs not in the DCS Unit API set.</li>
<li>Handle local Unit Controller.</li>
<li>Manage the "state" of the DCS Unit.
</li>
<li>Manage the "state" of the DCS Unit.</li>
</ul>
<hr/>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<hr/>
<h2>Global(s)</h2>
<table class="function_list">
<tr>

View File

@@ -100,7 +100,7 @@
<div id="content">
<h1>Module <code>Zone</code></h1>
<p><strong>Core</strong> - ZONE classes define <strong>zones</strong> within your mission of <strong>various forms</strong>, with <strong>various capabilities</strong>.</p>
<p><strong>Core</strong> -- ZONE classes define <strong>zones</strong> within your mission of <strong>various forms</strong>, with <strong>various capabilities</strong>.</p>
@@ -139,39 +139,8 @@
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
<p>The underlying change log documents the API changes. Please read this carefully. The following notation is used:</p>
<ul>
<li><strong>Added</strong> parts are expressed in bold type face.</li>
<li><em>Removed</em> parts are expressed in italic type face.</li>
</ul>
<p>Hereby the change log:</p>
<p>2017-02-28: ZONE_BASE:<strong>IsVec2InZone()</strong> replaces ZONE_BASE:<em>IsPointVec2InZone()</em>. <br/>
2017-02-28: ZONE_BASE:<strong>IsVec3InZone()</strong> replaces ZONE_BASE:<em>IsPointVec3InZone()</em>. <br/>
2017-02-28: ZONE_RADIUS:<strong>IsVec2InZone()</strong> replaces ZONE_RADIUS:<em>IsPointVec2InZone()</em>. <br/>
2017-02-28: ZONE_RADIUS:<strong>IsVec3InZone()</strong> replaces ZONE_RADIUS:<em>IsPointVec3InZone()</em>. <br/>
2017-02-28: ZONE_POLYGON:<strong>IsVec2InZone()</strong> replaces ZONE_POLYGON:<em>IsPointVec2InZone()</em>. <br/>
2017-02-28: ZONE_POLYGON:<strong>IsVec3InZone()</strong> replaces ZONE_POLYGON:<em>IsPointVec3InZone()</em>. </p>
<p>2017-02-18: ZONE_POLYGON_BASE:<strong>GetRandomPointVec2()</strong> added.</p>
<p>2017-02-18: ZONE_POLYGON_BASE:<strong>GetRandomPointVec3()</strong> added.</p>
<p>2017-02-18: ZONE_RADIUS:<strong>GetRandomPointVec3( inner, outer )</strong> added.</p>
<p>2017-02-18: ZONE_RADIUS:<strong>GetRandomPointVec2( inner, outer )</strong> added.</p>
<p>2016-08-15: ZONE_BASE:<strong>GetName()</strong> added.</p>
<p>2016-08-15: ZONE_BASE:<strong>SetZoneProbability( ZoneProbability )</strong> added.</p>
<p>2016-08-15: ZONE_BASE:<strong>GetZoneProbability()</strong> added.</p>
<p>2016-08-15: ZONE_BASE:<strong>GetZoneMaybe()</strong> added.</p>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<hr/>

View File

@@ -115,7 +115,7 @@
<tr>
<td class="name" nowrap="nowrap"><a href="AI_Balancer.html">AI_Balancer</a></td>
<td class="summary">
<p>Single-Player:<strong>No</strong> / Multi-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>All</strong> -- <strong>AI Balancing will replace in multi player missions
<p><strong>AI</strong> -- <strong>AI Balancing will replace in multi player missions
non-occupied human slots with AI groups, in order to provide an engaging simulation environment,
even when there are hardly any players in the mission.</strong></p>
@@ -139,15 +139,18 @@ even when there are hardly any players in the mission.</strong></p>
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<p>The underlying change log documents the API changes.</p>
<ul>
<li><strong><a href="https://forums.eagle.ru/member.php?u=112075">Dutch_Baron</a></strong>: Working together with James has resulted in the creation of the AI_BALANCER class.</li>
</ul>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="AI_Cap.html">AI_Cap</a></td>
<td class="summary">
<p><strong>AI</strong> - <strong>Execute Combat Air Patrol (CAP).</strong></p>
<p><strong>AI</strong> -- <strong>Execute Combat Air Patrol (CAP).</strong></p>
<p><img src="..\Presentations\AI_CAP\Dia1.JPG" alt="Banner Image"/></p>
@@ -171,7 +174,7 @@ even when there are hardly any players in the mission.</strong></p>
<tr>
<td class="name" nowrap="nowrap"><a href="AI_Formation.html">AI_Formation</a></td>
<td class="summary">
<p><strong>AI</strong> -- (R2.1) Build large <strong>formations</strong> of AI <a href="Group.html">Group</a>s flying together.</p>
<p><strong>AI</strong> -- Build large <strong>formations</strong> of AI <a href="Group.html">Group</a>s flying together.</p>
</td>
</tr>
<tr>
@@ -195,13 +198,13 @@ even when there are hardly any players in the mission.</strong></p>
<tr>
<td class="name" nowrap="nowrap"><a href="Airbase.html">Airbase</a></td>
<td class="summary">
<p>This module contains the AIRBASE classes.</p>
<p><strong>Wrapper</strong> -- AIRBASE is a wrapper class to handle the DCS Airbase objects.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="AirbasePolice.html">AirbasePolice</a></td>
<td class="summary">
<p>This module contains the AIRBASEPOLICE classes.</p>
<p><strong>Functional</strong> -- This module monitors airbases traffic.</p>
</td>
</tr>
<tr>
@@ -213,37 +216,37 @@ even when there are hardly any players in the mission.</strong></p>
<tr>
<td class="name" nowrap="nowrap"><a href="Base.html">Base</a></td>
<td class="summary">
<p><strong>Core</strong> - BASE forms <strong>the basis of the MOOSE framework</strong>.</p>
<p><strong>Core</strong> -- BASE forms <strong>the basis of the MOOSE framework</strong>.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="Cargo.html">Cargo</a></td>
<td class="summary">
<p><strong>(R2.1) Core</strong> -- Management of CARGO logistics, that can be transported from and to transportation carriers.</p>
<p><strong>Core</strong> -- Management of CARGO logistics, that can be transported from and to transportation carriers.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="CleanUp.html">CleanUp</a></td>
<td class="summary">
<p>The CLEANUP class keeps an area clean of crashing or colliding airplanes.</p>
<p><strong>Functional</strong> -- The CLEANUP class keeps an area clean of crashing or colliding airplanes.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="Client.html">Client</a></td>
<td class="summary">
<p>This module contains the CLIENT class.</p>
<p><strong>Wrapper</strong> -- CLIENT wraps DCS Unit objects acting as a <strong>Client</strong> or <strong>Player</strong> within a mission.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="CommandCenter.html">CommandCenter</a></td>
<td class="summary">
<p>A COMMANDCENTER is the owner of multiple missions within MOOSE.</p>
<p><strong>Tasking</strong> -- A COMMANDCENTER is the owner of multiple missions within MOOSE.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="Controllable.html">Controllable</a></td>
<td class="summary">
<p>This module contains the CONTROLLABLE class.</p>
<p><strong>Wrapper</strong> -- CONTROLLABLE is an intermediate class wrapping Group and Unit classes "controllers".</p>
</td>
</tr>
<tr>
@@ -339,19 +342,19 @@ even when there are hardly any players in the mission.</strong></p>
<tr>
<td class="name" nowrap="nowrap"><a href="Database.html">Database</a></td>
<td class="summary">
<p>This module contains the DATABASE class, managing the database of mission objects.</p>
<p><strong>Core</strong> -- DATABASE manages the database of mission objects.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="Designate.html">Designate</a></td>
<td class="summary">
<p><strong>Funtional R2.1</strong> -- Management of target <strong>Designation</strong>.</p>
<p><strong>Functional</strong> -- Management of target <strong>Designation</strong>.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="Detection.html">Detection</a></td>
<td class="summary">
<p><strong>Functional</strong> - DETECTION_ classes model the detection of enemy units by FACs or RECCEs and group them according various methods.</p>
<p><strong>Functional</strong> -- DETECTION_ classes model the detection of enemy units by FACs or RECCEs and group them according various methods.</p>
</td>
</tr>
<tr>
@@ -363,32 +366,32 @@ even when there are hardly any players in the mission.</strong></p>
<tr>
<td class="name" nowrap="nowrap"><a href="Escort.html">Escort</a></td>
<td class="summary">
<p>Taking the lead of AI escorting your flight.</p>
<p><strong>Functional</strong> -- Taking the lead of AI escorting your flight.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="Event.html">Event</a></td>
<td class="summary">
<p><strong>Core R2.1</strong> - EVENT models DCS <strong>event dispatching</strong> using a <strong>publish-subscribe</strong> model.</p>
<p><strong>Core</strong> -- EVENT models DCS <strong>event dispatching</strong> using a <strong>publish-subscribe</strong> model.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="Fsm.html">Fsm</a></td>
<td class="summary">
<p><strong>Core</strong> - The <strong>FSM</strong> (<strong>F</strong>inite <strong>S</strong>tate <strong>M</strong>achine) class and derived <strong>FSM_</strong> classes
<p><strong>Core</strong> -- The <strong>FSM</strong> (<strong>F</strong>inite <strong>S</strong>tate <strong>M</strong>achine) class and derived <strong>FSM_</strong> classes
are design patterns allowing efficient (long-lasting) processes and workflows.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="Group.html">Group</a></td>
<td class="summary">
<p><strong>Wrapper</strong> -- GROUP is a wrapper class for the DCS Class Group.</p>
<p><strong>Wrapper</strong> -- GROUP wraps the DCS Class Group objects.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="Identifiable.html">Identifiable</a></td>
<td class="summary">
<p>This module contains the IDENTIFIABLE class.</p>
<p><strong>Wrapper</strong> -- IDENTIFIABLE is an intermediate class wrapping DCS Object class derived Objects.</p>
</td>
</tr>
<tr>
@@ -400,43 +403,43 @@ are design patterns allowing efficient (long-lasting) processes and workflows.</
<tr>
<td class="name" nowrap="nowrap"><a href="Message.html">Message</a></td>
<td class="summary">
<p><strong>Core</strong> - MESSAGE class takes are of the <strong>real-time notifications</strong> and <strong>messages to players</strong> during a simulation.</p>
<p><strong>Core</strong> -- MESSAGE class takes are of the <strong>real-time notifications</strong> and <strong>messages to players</strong> during a simulation.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="MissileTrainer.html">MissileTrainer</a></td>
<td class="summary">
<p>This module contains the MISSILETRAINER class.</p>
<p><strong>Functional</strong> -- MISSILETRAINER helps you to train missile avoidance.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="Mission.html">Mission</a></td>
<td class="summary">
<p>A MISSION is the main owner of a Mission orchestration within MOOSE .</p>
<p><strong>Tasking</strong> -- A MISSION is the main owner of a Mission orchestration within MOOSE.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="Movement.html">Movement</a></td>
<td class="summary">
<p>Limit the simultaneous movement of Groups within a running Mission.</p>
<p><strong>Functional</strong> -- Limit the MOVEMENT of simulaneous moving ground vehicles.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="Object.html">Object</a></td>
<td class="summary">
<p>This module contains the OBJECT class.</p>
<p><strong>Wrapper</strong> -- OBJECT wraps the DCS Object derived objects.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="Point.html">Point</a></td>
<td class="summary">
<p><strong>Core</strong> - <strong>POINT_VEC</strong> classes define an <strong>extensive API</strong> to <strong>manage 3D points</strong> in the simulation space.</p>
<p><strong>Core</strong> -- <strong>POINT_VEC</strong> classes define an <strong>extensive API</strong> to <strong>manage 3D points</strong> in the simulation space.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="Positionable.html">Positionable</a></td>
<td class="summary">
<p><strong>Wrapper</strong> -- This module contains the POSITIONABLE class.</p>
<p><strong>Wrapper</strong> -- POSITIONABLE wraps DCS classes that are "positionable".</p>
</td>
</tr>
<tr>
@@ -454,7 +457,7 @@ are design patterns allowing efficient (long-lasting) processes and workflows.</
<tr>
<td class="name" nowrap="nowrap"><a href="Radio.html">Radio</a></td>
<td class="summary">
<p><strong>Core</strong> - The RADIO Module is responsible for everything that is related to radio transmission and you can hear in DCS, be it TACAN beacons, Radio transmissions...</p>
<p><strong>Core</strong> -- The RADIO Module is responsible for everything that is related to radio transmission and you can hear in DCS, be it TACAN beacons, Radio transmissions...</p>
</td>
</tr>
<tr>
@@ -466,25 +469,25 @@ are design patterns allowing efficient (long-lasting) processes and workflows.</
<tr>
<td class="name" nowrap="nowrap"><a href="Scenery.html">Scenery</a></td>
<td class="summary">
<p>This module contains the SCENERY class.</p>
<p><strong>Wrapper</strong> -- SCENERY models scenery within the DCS simulator.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></td>
<td class="summary">
<p>This module defines the SCHEDULEDISPATCHER class, which is used by a central object called _SCHEDULEDISPATCHER.</p>
<p><strong>Core</strong> -- SCHEDULEDISPATCHER dispatches the different schedules.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="Scheduler.html">Scheduler</a></td>
<td class="summary">
<p><strong>Core</strong> - SCHEDULER prepares and handles the <strong>execution of functions over scheduled time (intervals)</strong>.</p>
<p><strong>Core</strong> -- SCHEDULER prepares and handles the <strong>execution of functions over scheduled time (intervals)</strong>.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="Scoring.html">Scoring</a></td>
<td class="summary">
<p>Single-Player:<strong>Yes</strong> / Multi-Player:<strong>Yes</strong> / Core:<strong>Yes</strong> -- <strong>Administer the scoring of player achievements,
<p><strong>Functional</strong> -- <strong>Administer the SCORING of player achievements,
and create a CSV file logging the scoring events for use at team or squadron websites.</strong></p>
<p><img src="..\Presentations\SCORING\Dia1.JPG" alt="Banner Image"/></p>
@@ -498,19 +501,19 @@ and creates a CSV file logging the scoring events and results for use at team or
<tr>
<td class="name" nowrap="nowrap"><a href="Sead.html">Sead</a></td>
<td class="summary">
<p>Provides defensive behaviour to a set of SAM sites within a running Mission.</p>
<p><strong>Functional</strong> -- Provides defensive behaviour to a set of SAM sites within a running Mission.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="Set.html">Set</a></td>
<td class="summary">
<p><strong>Core</strong> - SET_ classes define <strong>collections</strong> of objects to perform <strong>bulk actions</strong> and logically <strong>group</strong> objects.</p>
<p><strong>Core</strong> -- SET_ classes define <strong>collections</strong> of objects to perform <strong>bulk actions</strong> and logically <strong>group</strong> objects.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="Settings.html">Settings</a></td>
<td class="summary">
<p><strong>Core</strong> - <strong>SETTINGS</strong> classe defines the format settings management for measurement.</p>
<p><strong>Core</strong> -- <strong>SETTINGS</strong> classe defines the format settings management for measurement.</p>
</td>
</tr>
<tr>
@@ -528,19 +531,19 @@ and creates a CSV file logging the scoring events and results for use at team or
<tr>
<td class="name" nowrap="nowrap"><a href="SpawnStatic.html">SpawnStatic</a></td>
<td class="summary">
<p>(R2.1) <strong>Core</strong> -- Spawn dynamically new STATICs in your missions.</p>
<p><strong>Core</strong> -- Spawn dynamically new STATICs in your missions.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="Spot.html">Spot</a></td>
<td class="summary">
<p><strong>Core 2.1</strong> -- Management of SPOT logistics, that can be transported from and to transportation carriers.</p>
<p><strong>Core</strong> -- Management of SPOT logistics, that can be transported from and to transportation carriers.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="Static.html">Static</a></td>
<td class="summary">
<p>This module contains the STATIC class.</p>
<p><strong>Wrapper</strong> -- STATIC wraps the DCS StaticObject class.</p>
</td>
</tr>
<tr>
@@ -552,7 +555,7 @@ and creates a CSV file logging the scoring events and results for use at team or
<tr>
<td class="name" nowrap="nowrap"><a href="Task.html">Task</a></td>
<td class="summary">
<p><strong>Tasking</strong> -- This module contains the TASK class.</p>
<p><strong>Tasking</strong> -- This module contains the TASK class, the main engine to run human taskings.</p>
</td>
</tr>
<tr>
@@ -582,7 +585,7 @@ and creates a CSV file logging the scoring events and results for use at team or
<tr>
<td class="name" nowrap="nowrap"><a href="Task_Cargo.html">Task_Cargo</a></td>
<td class="summary">
<p><strong>Tasking (Release 2.1)</strong> -- The TASK_CARGO models tasks for players to transport <a href="Cargo.html">Cargo</a>.</p>
<p><strong>Tasking</strong> -- The TASK_CARGO models tasks for players to transport <a href="Cargo.html">Cargo</a>.</p>
</td>
</tr>
<tr>
@@ -607,7 +610,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><strong>Core</strong> - ZONE classes define <strong>zones</strong> within your mission of <strong>various forms</strong>, with <strong>various capabilities</strong>.</p>
<p><strong>Core</strong> -- ZONE classes define <strong>zones</strong> within your mission of <strong>various forms</strong>, with <strong>various capabilities</strong>.</p>
</td>
</tr>
<tr>