Updated the DETECTION_MANAGER

-- Added a scoring tailoring possibility for TASK_DISPATCHER class
tasks.
-- DETECTION_MANAGER has become an FSM
-- TASK_A2G_DISPATCHER has become an FSM. It implements an Assign Event,
that can be handled. In the Assign event handler, you can specify
scoring schemes etc.
This commit is contained in:
FlightControl
2017-03-19 07:59:47 +01:00
parent 90cb0dc012
commit 2e894df4c2
18 changed files with 634 additions and 175 deletions

View File

@@ -920,9 +920,6 @@ 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

@@ -2243,7 +2243,7 @@ self</p>
<dl class="function">
<dt>
<em>#number</em>
<em></em>
<a id="#(DETECTION_BASE).DetectionInterval" >
<strong>DETECTION_BASE.DetectionInterval</strong>
</a>

View File

@@ -1346,6 +1346,7 @@ The new calculated POINT_VEC2.</p>
<dl class="function">
<dt>
<em></em>
<a id="#(POINT_VEC2).z" >
<strong>POINT_VEC2.z</strong>
</a>

View File

@@ -1870,9 +1870,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">
@@ -2326,9 +2323,6 @@ when nothing was spawned.</p>
<p> Overwrite unit names by default with group name.</p>
</dd>
</dl>
<dl class="function">
@@ -2343,9 +2337,6 @@ when nothing was spawned.</p>
<p> By default, no InitLimit</p>
</dd>
</dl>
<dl class="function">
@@ -2381,7 +2372,7 @@ when nothing was spawned.</p>
<dl class="function">
<dt>
<em>#number</em>
<em></em>
<a id="#(SPAWN).SpawnMaxGroups" >
<strong>SPAWN.SpawnMaxGroups</strong>
</a>
@@ -2398,7 +2389,7 @@ when nothing was spawned.</p>
<dl class="function">
<dt>
<em>#number</em>
<em></em>
<a id="#(SPAWN).SpawnMaxUnitsAlive" >
<strong>SPAWN.SpawnMaxUnitsAlive</strong>
</a>
@@ -2716,7 +2707,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>
@@ -2740,7 +2731,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
<p> Flag that indicates if all the Groups of the SpawnGroup need to be visible when Spawned.</p>
<p> When the first Spawn executes, all the Groups need to be made visible before start.</p>
</dd>
</dl>

View File

@@ -72,10 +72,13 @@
<div id="content">
<h1>Module <code>Task_A2G</code></h1>
<p>This module contains the TASK_A2G classes.</p>
<p><strong>Tasking</strong> - The TASK_A2G models tasks for players in Air to Ground engagements.</p>
<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,
@@ -90,12 +93,34 @@ The TASK_A2G is implemented using a <a href="Statemachine.html##(FSM_TASK)">Stat
<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) <a href="Task_A2G.html##(TASK_SEAD)">Task<em>A2G#TASK</em>SEAD</a> class, extends <a href="Task_A2G.html##(TASK_A2G)">Task<em>A2G#TASK</em>A2G</a></h1>
<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>
<h1>2) <a href="Task_A2G.html##(TASK_SEAD)">Task<em>A2G#TASK</em>SEAD</a> class, extends <a href="Task_A2G.html##(TASK_A2G)">Task<em>A2G#TASK</em>A2G</a></h1>
<p>The <a href="##(TASK_SEAD)">#TASK_SEAD</a> class defines a SEAD task for a <a href="Set.html">Set</a> of Target Units.</p>
<hr/>
<h1>3) <a href="Task_A2G.html##(TASK_CAS)">Task<em>A2G#TASK</em>CAS</a> class, extends <a href="Task_A2G.html##(TASK_A2G)">Task<em>A2G#TASK</em>A2G</a></h1>
<p>The <a href="##(TASK_CAS)">#TASK_CAS</a> class defines a CAS task for a <a href="Set.html">Set</a> of Target Units.</p>
<hr/>
<h1>4) <a href="Task_A2G.html##(TASK_BAI)">Task<em>A2G#TASK</em>BAI</a> class, extends <a href="Task_A2G.html##(TASK_A2G)">Task<em>A2G#TASK</em>A2G</a></h1>
<p>The <a href="##(TASK_BAI)">#TASK_BAI</a> class defines a BAI task for a <a href="Set.html">Set</a> of Target Units.</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>
@@ -195,6 +220,12 @@ The TASK_A2G is implemented using a <a href="Statemachine.html##(FSM_TASK)">Stat
<td class="name" nowrap="nowrap"><a href="##(TASK_A2G).New">TASK_A2G:New(Mission, SetGroup, TaskName, UnitSetTargets, TargetDistance, TargetZone, TargetSetUnit, TaskType)</a></td>
<td class="summary">
<p>Instantiates a new TASK_A2G.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2G).SetPenaltyOnFailed">TASK_A2G:SetPenaltyOnFailed(Text, Penalty, TaskUnit)</a></td>
<td class="summary">
<p>Set a penalty when the A2G attack has failed.</p>
</td>
</tr>
<tr>
@@ -207,6 +238,18 @@ The TASK_A2G is implemented using a <a href="Statemachine.html##(FSM_TASK)">Stat
<td class="name" nowrap="nowrap"><a href="##(TASK_A2G).SetRendezVousZone">TASK_A2G:SetRendezVousZone(RendezVousZone, TaskUnit)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2G).SetScoreOnDestroy">TASK_A2G:SetScoreOnDestroy(Text, Score, TaskUnit)</a></td>
<td class="summary">
<p>Set a score when a target in scope of the A2G attack, has been destroyed .</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2G).SetScoreOnSuccess">TASK_A2G:SetScoreOnSuccess(Text, Score, TaskUnit)</a></td>
<td class="summary">
<p>Set a score when all the targets in scope of the A2G attack, have been destroyed.</p>
</td>
</tr>
<tr>
@@ -566,6 +609,44 @@ If the TargetZone parameter is specified, the player will be routed to the cente
<p><em><a href="##(TASK_A2G)">#TASK_A2G</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(TASK_A2G).SetPenaltyOnFailed" >
<strong>TASK_A2G:SetPenaltyOnFailed(Text, Penalty, TaskUnit)</strong>
</a>
</dt>
<dd>
<p>Set a penalty when the A2G attack has failed.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#string Text </em></code>:
The text to display to the player, when the A2G attack has failed.</p>
</li>
<li>
<p><code><em>#number Penalty </em></code>:
The penalty in points.</p>
</li>
<li>
<p><code><em><a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a> TaskUnit </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(TASK_A2G)">#TASK_A2G</a>:</em></p>
</dd>
</dl>
<dl class="function">
@@ -631,6 +712,82 @@ The Zone object where the RendezVous is located on the map.</p>
<dl class="function">
<dt>
<a id="#(TASK_A2G).SetScoreOnDestroy" >
<strong>TASK_A2G:SetScoreOnDestroy(Text, Score, TaskUnit)</strong>
</a>
</dt>
<dd>
<p>Set a score when a target in scope of the A2G attack, has been destroyed .</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#string Text </em></code>:
The text to display to the player, when the target has been destroyed.</p>
</li>
<li>
<p><code><em>#number Score </em></code>:
The score in points.</p>
</li>
<li>
<p><code><em><a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a> TaskUnit </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(TASK_A2G)">#TASK_A2G</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(TASK_A2G).SetScoreOnSuccess" >
<strong>TASK_A2G:SetScoreOnSuccess(Text, Score, TaskUnit)</strong>
</a>
</dt>
<dd>
<p>Set a score when all the targets in scope of the A2G attack, have been destroyed.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#string Text </em></code>:
The text to display to the player, when all targets hav been destroyed.</p>
</li>
<li>
<p><code><em>#number Score </em></code>:
The score in points.</p>
</li>
<li>
<p><code><em><a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a> TaskUnit </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(TASK_A2G)">#TASK_A2G</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(TASK_A2G).SetTargetPointVec2" >
<strong>TASK_A2G:SetTargetPointVec2(TargetPointVec2, TaskUnit)</strong>
</a>

View File

@@ -402,7 +402,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_A2G.html">Task_A2G</a></td>
<td class="summary">
<p>This module contains the TASK_A2G classes.</p>
<p><strong>Tasking</strong> - The TASK_A2G models tasks for players in Air to Ground engagements.</p>
</td>
</tr>
<tr>

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB