A lot of fixes

See #386
This commit is contained in:
FlightControl
2017-04-24 12:38:24 +02:00
parent a8da12c09d
commit f410d2ae0b
15 changed files with 593 additions and 121 deletions

View File

@@ -186,6 +186,12 @@ each detected set of potential targets can be lased or smoked...</p>
<td class="name" nowrap="nowrap"><a href="##(AI_DESIGNATE).Detection">AI_DESIGNATE.Detection</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_DESIGNATE).FlashStatusMenu">AI_DESIGNATE.FlashStatusMenu</a></td>
<td class="summary">
</td>
</tr>
<tr>
@@ -234,6 +240,12 @@ each detected set of potential targets can be lased or smoked...</p>
<td class="name" nowrap="nowrap"><a href="##(AI_DESIGNATE).MenuAutoLase">AI_DESIGNATE:MenuAutoLase(AutoLase)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_DESIGNATE).MenuFlashStatus">AI_DESIGNATE:MenuFlashStatus(AttackGroup, Flash)</a></td>
<td class="summary">
</td>
</tr>
<tr>
@@ -372,12 +384,24 @@ each detected set of potential targets can be lased or smoked...</p>
<td class="name" nowrap="nowrap"><a href="##(AI_DESIGNATE).SetDesignateMenu">AI_DESIGNATE:SetDesignateMenu()</a></td>
<td class="summary">
<p>Sets the Designate Menu.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_DESIGNATE).SetFlashStatusMenu">AI_DESIGNATE:SetFlashStatusMenu(FlashMenu)</a></td>
<td class="summary">
<p>Set the flashing of the status menu.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_DESIGNATE).SetLaserCodes">AI_DESIGNATE:SetLaserCodes(<, LaserCodes)</a></td>
<td class="summary">
<p>Set an array of possible laser codes.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_DESIGNATE).SetThreatLevelPrioritization">AI_DESIGNATE:SetThreatLevelPrioritization(Prioritize)</a></td>
<td class="summary">
<p>Set priorization of Targets based on the <strong>Threat Level of the Target</strong> in an Air to Ground context.</p>
</td>
</tr>
<tr>
@@ -390,6 +414,12 @@ each detected set of potential targets can be lased or smoked...</p>
<td class="name" nowrap="nowrap"><a href="##(AI_DESIGNATE).Status">AI_DESIGNATE:Status()</a></td>
<td class="summary">
<p>Status Trigger for AI_DESIGNATE </p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_DESIGNATE).ThreatLevelPrioritization">AI_DESIGNATE.ThreatLevelPrioritization</a></td>
<td class="summary">
</td>
</tr>
<tr>
@@ -518,38 +548,38 @@ each detected set of potential targets can be lased or smoked...</p>
<li>A <strong>Designate Menu</strong> is the menu that is dynamically created during the designation process for each <em>AttackGroup</em>.</li>
</ul>
<p>The <em>RecceSet</em> is continuously detecting for potential <em>Targets</em>, executing its task as part of the <em>DetectionObject</em>.
Once <em>Targets</em> have been detected, the <em>DesignateObject</em> will trigger the <strong>Detect Event</strong>.</p>
<p>The RecceSet is continuously detecting for potential Targets, executing its task as part of the DetectionObject.
Once Targets have been detected, the DesignateObject will trigger the <strong>Detect Event</strong>.</p>
<p>As part of the Detect Event, the <em>DetectionItems</em> list is used by the <em>DesignateObject</em> to provide the <em>Players</em> with:</p>
<p>As part of the Detect Event, the DetectionItems list is used by the DesignateObject to provide the Players with:</p>
<ul>
<li>The <em>RecceGroups</em> are reporting to each <em>AttackGroup</em>, sending <strong>Messages</strong> containing the <em>Threat Level</em> and the <em>TargetSet</em> composition.</li>
<li><strong>Menu options</strong> are created and updated for each <em>AttackGroup</em>, containing the <em>Threat Level</em> and the <em>TargetSet</em> composition.</li>
<li>The RecceGroups are reporting to each AttackGroup, sending <strong>Messages</strong> containing the Threat Level and the TargetSet composition.</li>
<li><strong>Menu options</strong> are created and updated for each AttackGroup, containing the Threat Level and the TargetSet composition.</li>
</ul>
<p>A <em>Player</em> can then select an action from the <em>Designate Menu</em>. </p>
<p>A Player can then select an action from the Designate Menu. </p>
<p><strong>Note that each selected action will be executed for a <em>TargetSet</em>, thus the <em>Target</em> grouping done by the <em>DetectionObject</em>.</strong></p>
<p><strong>Note that each selected action will be executed for a TargetSet, thus the Target grouping done by the DetectionObject.</strong></p>
<p>Each <strong>Menu Option</strong> in the <em>Designate Menu</em> has two modes: </p>
<p>Each <strong>Menu Option</strong> in the Designate Menu has two modes: </p>
<ol>
<li>If the <em>TargetSet</em> <strong>is not being designated</strong>, then the <strong>Designate Menu</strong> option for the target Set will provide options to <strong>Lase</strong> or <strong>Smoke</strong> the targets.</li>
<li>If the TargetSet <strong>is not being designated</strong>, then the <strong>Designate Menu</strong> option for the target Set will provide options to <strong>Lase</strong> or <strong>Smoke</strong> the targets.</li>
<li>If the Target Set <strong>is being designated</strong>, then the <strong>Designate Menu</strong> option will provide an option to stop or cancel the designation.</li>
</ol>
<p>While designating, the <em>RecceGroups</em> will report any change in <em>TargetSet</em> composition or <em>Target</em> presence.</p>
<p>While designating, the RecceGroups will report any change in TargetSet composition or Target presence.</p>
<p>The following logic is executed when a <em>TargetSet</em> is selected to be <em>lased</em> from the <em>Designation Menu</em>:</p>
<p>The following logic is executed when a TargetSet is selected to be <em>lased</em> from the Designation Menu:</p>
<ul>
<li>The <em>RecceSet</em> is searched for any <em>Recce</em> that is within <em>designation distance</em> from a <em>Target</em> in the <em>TargetSet</em> that is currently not being designated.</li>
<li>If there is a <em>Recce</em> found that is currently no designating a target, and is within designation distance from the <em>Target</em>, then that <em>Target</em> will be designated.</li>
<li>During designation, any <em>Recce</em> that does not have Line of Sight (LOS) and is not within disignation distance from the <em>Target</em>, will stop designating the <em>Target</em>, and a report is given.</li>
<li>When a <em>Recce</em> is designating a <em>Target</em>, and that <em>Target</em> is destroyed, then the <em>Recce</em> will stop designating the <em>Target</em>, and will report the event.</li>
<li>When a <em>Recce</em> is designating a <em>Target</em>, and that <em>Recce</em> is destroyed, then the <em>Recce</em> will be removed from the <em>RecceSet</em> and designation will stop without reporting.</li>
<li>When all <em>RecceGroups</em> are destroyed from the <em>RecceSet</em>, then the DesignationObject will stop functioning, and nothing will be reported.</li>
<li>The RecceSet is searched for any Recce that is within <em>designation distance</em> from a Target in the TargetSet that is currently not being designated.</li>
<li>If there is a Recce found that is currently no designating a target, and is within designation distance from the Target, then that Target will be designated.</li>
<li>During designation, any Recce that does not have Line of Sight (LOS) and is not within disignation distance from the Target, will stop designating the Target, and a report is given.</li>
<li>When a Recce is designating a Target, and that Target is destroyed, then the Recce will stop designating the Target, and will report the event.</li>
<li>When a Recce is designating a Target, and that Recce is destroyed, then the Recce will be removed from the RecceSet and designation will stop without reporting.</li>
<li>When all RecceGroups are destroyed from the RecceSet, then the DesignationObject will stop functioning, and nothing will be reported.</li>
</ul>
<p>In this way, the DesignationObject assists players to designate ground targets for a coordinated attack!</p>
@@ -610,16 +640,37 @@ One laser code can be given or an sequence of laser codes through an table...</p
<h2>4. Autolase to automatically lase detected targets.</h2>
<p><em>DetectionItems</em> can be auto lased once detected by <em>Recces</em>. As such, there is almost no action required from the <em>Players</em> using the <em>Designate Menu</em>.
<p>DetectionItems can be auto lased once detected by Recces. As such, there is almost no action required from the Players using the Designate Menu.
The <strong>auto lase</strong> function can be activated through the Designation Menu.
Use the method <a href="##(AI_DESIGNATE).SetAutoLase">AI_DESIGNATE.SetAutoLase</a>() to activate or deactivate the auto lase function programmatically.
Note that autolase will automatically activate lasing for ALL <em>DetectedItems</em>. Individual items can be switched-off if required using the <em>Designation Menu</em>.</p>
Note that autolase will automatically activate lasing for ALL DetectedItems. Individual items can be switched-off if required using the Designation Menu.</p>
<pre><code>AIDesignate:SetAutoLase( true )
</code></pre>
<p>Activate the auto lasing.</p>
<h2>5. Target prioritization on threat level</h2>
<p>Targets can be detected of different types in one DetectionItem. Depending on the type of the Target, a different threat level applies in an Air to Ground combat context.
SAMs are of a higher threat than normal tanks. So, if the Target type was recognized, the Recces will select those targets that form the biggest threat first,
and will continue this until the remaining vehicles with the lowest threat have been reached.</p>
<p>This threat level prioritization can be activated using the method <a href="##(AI_DESIGNATE).SetThreatLevelPrioritization">AI_DESIGNATE.SetThreatLevelPrioritization</a>().
If not activated, Targets will be selected in a random order, but most like those first which are the closest to the Recce marking the Target.</p>
<h2>6. Status Report</h2>
<p>A status report is available that displays the current Targets detected, grouped per DetectionItem, and a list of which Targets are currently being marked.</p>
<ul>
<li>The status report can be shown by selecting "Status" -> "Report Status" from the Designation menu .</li>
<li>The status report can be automatically flashed by selecting "Status" -> "Flash Status On".</li>
<li>The automatic flashing of the status report can be deactivated by selecting "Status" -> "Flash Status Off".</li>
<li>The flashing of the status menu is disabled by default.</li>
<li>The method <a href="##(AI_DESIGNATE).FlashStatusMenu">AI_DESIGNATE.FlashStatusMenu</a>() can be used to enable or disable to flashing of the status menu.</li>
</ul>
</dd>
</dl>
@@ -712,6 +763,20 @@ Note that autolase will automatically activate lasing for ALL <em>DetectedItems<
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(AI_DESIGNATE).FlashStatusMenu" >
<strong>AI_DESIGNATE.FlashStatusMenu</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@@ -796,6 +861,7 @@ function below will use the range 1-7 just in case</p>
<dl class="function">
<dt>
<em></em>
<a id="#(AI_DESIGNATE).LaserCodes" >
<strong>AI_DESIGNATE.LaserCodes</strong>
</a>
@@ -844,6 +910,32 @@ function below will use the range 1-7 just in case</p>
<dl class="function">
<dt>
<a id="#(AI_DESIGNATE).MenuFlashStatus" >
<strong>AI_DESIGNATE:MenuFlashStatus(AttackGroup, Flash)</strong>
</a>
</dt>
<dd>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em> AttackGroup </em></code>: </p>
</li>
<li>
<p><code><em> Flash </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AI_DESIGNATE).MenuIlluminate" >
<strong>AI_DESIGNATE:MenuIlluminate(Index)</strong>
</a>
@@ -1489,6 +1581,33 @@ The Attack collection of GROUP objects to designate and report for.</p>
<p><em><a href="##(AI_DESIGNATE)">#AI_DESIGNATE</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AI_DESIGNATE).SetFlashStatusMenu" >
<strong>AI_DESIGNATE:SetFlashStatusMenu(FlashMenu)</strong>
</a>
</dt>
<dd>
<p>Set the flashing of the status menu.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#boolean FlashMenu </em></code>:
true: the status menu will be flashed every detection run; false: no flashing of the menu.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(AI_DESIGNATE)">#AI_DESIGNATE</a>:</em></p>
</dd>
</dl>
<dl class="function">
@@ -1524,6 +1643,32 @@ number> LaserCodes</p>
<p><em><a href="##(AI_DESIGNATE)">#AI_DESIGNATE</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AI_DESIGNATE).SetThreatLevelPrioritization" >
<strong>AI_DESIGNATE:SetThreatLevelPrioritization(Prioritize)</strong>
</a>
</dt>
<dd>
<p>Set priorization of Targets based on the <strong>Threat Level of the Target</strong> in an Air to Ground context.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#boolean Prioritize </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(AI_DESIGNATE)">#AI_DESIGNATE</a>:</em></p>
</dd>
</dl>
<dl class="function">
@@ -1550,6 +1695,20 @@ number> LaserCodes</p>
<p>Status Trigger for AI_DESIGNATE </p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(AI_DESIGNATE).ThreatLevelPrioritization" >
<strong>AI_DESIGNATE.ThreatLevelPrioritization</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">

View File

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

@@ -189,7 +189,7 @@ DETECTION uses the in-built detection capabilities of DCS World, but adds new fu
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_AREAS).CreateDetectionSets">DETECTION_AREAS:CreateDetectionSets()</a></td>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_AREAS).CreateDetectionItems">DETECTION_AREAS:CreateDetectionItems()</a></td>
<td class="summary">
<p>Make a DetectionSet table.</p>
</td>
@@ -346,6 +346,12 @@ DETECTION uses the in-built detection capabilities of DCS World, but adds new fu
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).AlphaAngleProbability">DETECTION_BASE.AlphaAngleProbability</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).CleanDetectionItems">DETECTION_BASE:CleanDetectionItems()</a></td>
<td class="summary">
<p>Make a DetectionSet table.</p>
</td>
</tr>
<tr>
@@ -355,7 +361,7 @@ DETECTION uses the in-built detection capabilities of DCS World, but adds new fu
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).CreateDetectionSets">DETECTION_BASE:CreateDetectionSets()</a></td>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).CreateDetectionItems">DETECTION_BASE:CreateDetectionItems()</a></td>
<td class="summary">
<p>Make a DetectionSet table.</p>
</td>
@@ -930,7 +936,7 @@ The different values of Unit.Category can be:</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_TYPES).CreateDetectionSets">DETECTION_TYPES:CreateDetectionSets()</a></td>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_TYPES).CreateDetectionItems">DETECTION_TYPES:CreateDetectionItems()</a></td>
<td class="summary">
<p>Create the DetectedItems list from the DetectedObjects table.</p>
</td>
@@ -1006,7 +1012,7 @@ The different values of Unit.Category can be:</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_UNITS).CreateDetectionSets">DETECTION_UNITS:CreateDetectionSets()</a></td>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_UNITS).CreateDetectionItems">DETECTION_UNITS:CreateDetectionItems()</a></td>
<td class="summary">
<p>Create the DetectedItems list from the DetectedObjects table.</p>
</td>
@@ -1454,8 +1460,8 @@ self</p>
<dl class="function">
<dt>
<a id="#(DETECTION_AREAS).CreateDetectionSets" >
<strong>DETECTION_AREAS:CreateDetectionSets()</strong>
<a id="#(DETECTION_AREAS).CreateDetectionItems" >
<strong>DETECTION_AREAS:CreateDetectionItems()</strong>
</a>
</dt>
<dd>
@@ -2024,6 +2030,27 @@ The index of the DetectedItem.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(DETECTION_BASE).CleanDetectionItems" >
<strong>DETECTION_BASE:CleanDetectionItems()</strong>
</a>
</dt>
<dd>
<p>Make a DetectionSet table.</p>
<p>This function will be overridden in the derived clsses.</p>
<h3>Return value</h3>
<p><em><a href="##(DETECTION_BASE)">#DETECTION_BASE</a>:</em></p>
</dd>
</dl>
<dl class="function">
@@ -2043,8 +2070,8 @@ The index of the DetectedItem.</p>
<dl class="function">
<dt>
<a id="#(DETECTION_BASE).CreateDetectionSets" >
<strong>DETECTION_BASE:CreateDetectionSets()</strong>
<a id="#(DETECTION_BASE).CreateDetectionItems" >
<strong>DETECTION_BASE:CreateDetectionItems()</strong>
</a>
</dt>
<dd>
@@ -2056,8 +2083,8 @@ The index of the DetectedItem.</p>
<h3>Return value</h3>
<p><em><a href="##(DETECTION_BASE)">#DETECTION_BASE</a>:</em>
self</p>
<p><em><a href="##(DETECTION_BASE)">#DETECTION_BASE</a>:</em></p>
</dd>
</dl>
@@ -2174,6 +2201,7 @@ self</p>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(DETECTION_BASE).DetectedItemCount" >
<strong>DETECTION_BASE.DetectedItemCount</strong>
</a>
@@ -2187,6 +2215,7 @@ self</p>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(DETECTION_BASE).DetectedItemMax" >
<strong>DETECTION_BASE.DetectedItemMax</strong>
</a>
@@ -2300,7 +2329,7 @@ self</p>
<dl class="function">
<dt>
<em></em>
<em>#number</em>
<a id="#(DETECTION_BASE).DetectionInterval" >
<strong>DETECTION_BASE.DetectionInterval</strong>
</a>
@@ -4110,8 +4139,8 @@ Beware that when the amount of different types detected is large, the DetectedIt
<dl class="function">
<dt>
<a id="#(DETECTION_TYPES).CreateDetectionSets" >
<strong>DETECTION_TYPES:CreateDetectionSets()</strong>
<a id="#(DETECTION_TYPES).CreateDetectionItems" >
<strong>DETECTION_TYPES:CreateDetectionItems()</strong>
</a>
</dt>
<dd>
@@ -4345,8 +4374,8 @@ Beware that when the amount of units detected is large, the DetectedItems list w
<dl class="function">
<dt>
<a id="#(DETECTION_UNITS).CreateDetectionSets" >
<strong>DETECTION_UNITS:CreateDetectionSets()</strong>
<a id="#(DETECTION_UNITS).CreateDetectionItems" >
<strong>DETECTION_UNITS:CreateDetectionItems()</strong>
</a>
</dt>
<dd>

View File

@@ -95,7 +95,7 @@
<div id="content">
<h1>Module <code>Event</code></h1>
<p><strong>Core</strong> - EVENT models DCS <strong>event dispatching</strong> using a <strong>publish-subscribe</strong> model.</p>
<p><strong>Core R2.1</strong> - EVENT models DCS <strong>event dispatching</strong> using a <strong>publish-subscribe</strong> model.</p>

View File

@@ -213,7 +213,6 @@ on defined intervals (currently every minute).</p>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(MOVEMENT).AliveUnits" >
<strong>MOVEMENT.AliveUnits</strong>
</a>
@@ -222,9 +221,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

@@ -181,6 +181,12 @@
<td class="name" nowrap="nowrap"><a href="##(POSITIONABLE).GetMessage">POSITIONABLE:GetMessage(Message, Duration, Name)</a></td>
<td class="summary">
<p>Returns a message with the callsign embedded (if there is one).</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(POSITIONABLE).GetMessageText">POSITIONABLE:GetMessageText(Message, Name)</a></td>
<td class="summary">
<p>Returns the message text with the callsign embedded (if there is one).</p>
</td>
</tr>
<tr>
@@ -531,6 +537,39 @@ The duration of the message.</p>
<p><em><a href="Core.Message.html##(MESSAGE)">Core.Message#MESSAGE</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(POSITIONABLE).GetMessageText" >
<strong>POSITIONABLE:GetMessageText(Message, Name)</strong>
</a>
</dt>
<dd>
<p>Returns the message text with the callsign embedded (if there is one).</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#string Message </em></code>:
The message text</p>
</li>
<li>
<p><code><em>#string Name </em></code>:
(optional) The Name of the sender. If not provided, the Name is the type of the Positionable.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em>#string:</em>
The message text</p>
</dd>
</dl>
<dl class="function">

View File

@@ -969,6 +969,13 @@ mission designer to add a dedicated method</p>
<td class="name" nowrap="nowrap"><a href="##(SET_UNIT).ForEachUnitNotInZone">SET_UNIT:ForEachUnitNotInZone(ZoneObject, IteratorFunction, ...)</a></td>
<td class="summary">
<p>Iterate the SET_UNIT and call an iterator function for each <strong>alive</strong> UNIT presence not in a <a href="Zone.html">Zone</a>, providing the UNIT and optional parameters to the called function.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_UNIT).ForEachUnitPerThreatLevel">SET_UNIT:ForEachUnitPerThreatLevel(FromThreatLevel, ToThreatLevel, IteratorFunction, ...)</a></td>
<td class="summary">
<p>Iterate the SET_UNIT <strong>sorted *per Threat Level</strong> and call an interator function for each <strong>alive</strong> UNIT, providing the UNIT and optional parameters.</p>
</td>
</tr>
<tr>
@@ -4755,6 +4762,61 @@ self</p>
<dl class="function">
<dt>
<a id="#(SET_UNIT).ForEachUnitPerThreatLevel" >
<strong>SET_UNIT:ForEachUnitPerThreatLevel(FromThreatLevel, ToThreatLevel, IteratorFunction, ...)</strong>
</a>
</dt>
<dd>
<p>Iterate the SET_UNIT <strong>sorted *per Threat Level</strong> and call an interator function for each <strong>alive</strong> UNIT, providing the UNIT and optional parameters.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#number FromThreatLevel </em></code>:
The TreatLevel to start the evaluation <strong>From</strong> (this must be a value between 0 and 10).</p>
</li>
<li>
<p><code><em>#number ToThreatLevel </em></code>:
The TreatLevel to stop the evaluation <strong>To</strong> (this must be a value between 0 and 10).</p>
</li>
<li>
<p><code><em>#function IteratorFunction </em></code>:
The function that will be called when there is an alive UNIT in the SET_UNIT. The function needs to accept a UNIT parameter.</p>
</li>
<li>
<p><code><em> ... </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(SET_UNIT)">#SET_UNIT</a>:</em>
self</p>
<h3>Usage:</h3>
<pre class="example"><code>
UnitSet:ForEachUnitPerThreatLevel( 10, 0,
-- @param Wrapper.Unit#UNIT UnitObject The UNIT object in the UnitSet, that will be passed to the local function for evaluation.
function( UnitObject )
.. logic ..
end
)
</code></pre>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SET_UNIT).GetTypeNames" >
<strong>SET_UNIT:GetTypeNames(Delimiter)</strong>
</a>

View File

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

View File

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

@@ -346,7 +346,7 @@ even when there are hardly any players in the mission.</strong></p>
<tr>
<td class="name" nowrap="nowrap"><a href="Event.html">Event</a></td>
<td class="summary">
<p><strong>Core</strong> - EVENT models DCS <strong>event dispatching</strong> using a <strong>publish-subscribe</strong> model.</p>
<p><strong>Core R2.1</strong> - EVENT models DCS <strong>event dispatching</strong> using a <strong>publish-subscribe</strong> model.</p>
</td>
</tr>
<tr>