Merge branch 'master' into funkyfranky

This commit is contained in:
funkyfranky 2017-09-03 09:44:54 +02:00
commit 758f500857
23 changed files with 288 additions and 169 deletions

View File

@ -864,7 +864,7 @@ do -- AI_A2A_DISPATCHER
-- TODO: Check detection through radar.
self.Detection:FilterCategories( { Unit.Category.AIRPLANE, Unit.Category.HELICOPTER } )
--self.Detection:InitDetectRadar( true )
self.Detection:SetDetectionInterval( 30 )
self.Detection:SetRefreshTimeInterval( 30 )
self:SetEngageRadius()
self:SetGciRadius()
@ -1276,7 +1276,7 @@ do -- AI_A2A_DISPATCHER
-- @return #number, Core.CommandCenter#REPORT
function AI_A2A_DISPATCHER:GetAIFriendliesNearBy( DetectedItem )
local FriendliesNearBy = self.Detection:GetFriendliesNearBy( DetectedItem )
local FriendliesNearBy = self.Detection:GetFriendliesDistance( DetectedItem )
return FriendliesNearBy
end
@ -1551,6 +1551,7 @@ do -- AI_A2A_DISPATCHER
local RecceSet = self.Detection:GetDetectionSetGroup()
RecceSet:FilterPrefixes( DefenderSquadron.TemplatePrefixes )
RecceSet:FilterStart()
self.Detection:SetFriendlyPrefixes( DefenderSquadron.TemplatePrefixes )

View File

@ -120,7 +120,7 @@
-- * @{#AI_A2A_PATROL.SetDetectionOn}(): Set the detection on. The AI will detect for targets.
-- * @{#AI_A2A_PATROL.SetDetectionOff}(): Set the detection off, the AI will not detect for targets. The existing target list will NOT be erased.
--
-- The detection frequency can be set with @{#AI_A2A_PATROL.SetDetectionInterval}( seconds ), where the amount of seconds specify how much seconds will be waited before the next detection.
-- The detection frequency can be set with @{#AI_A2A_PATROL.SetRefreshTimeInterval}( seconds ), where the amount of seconds specify how much seconds will be waited before the next detection.
-- Use the method @{#AI_A2A_PATROL.GetDetectedUnits}() to obtain a list of the @{Unit}s detected by the AI.
--
-- The detection can be filtered to potential targets in a specific zone.

View File

@ -612,7 +612,7 @@ function AI_BAI_ZONE:onafterEngage( Controllable, From, Event, To,
--- NOW ROUTE THE GROUP!
Controllable:WayPointExecute( 1 )
self:SetDetectionInterval( 2 )
self:SetRefreshTimeInterval( 2 )
self:SetDetectionActivated()
self:__Target( -2 ) -- Start Targetting
end

View File

@ -539,7 +539,7 @@ function AI_CAS_ZONE:onafterEngage( Controllable, From, Event, To,
Controllable:OptionROEOpenFire()
Controllable:OptionROTVertical()
self:SetDetectionInterval( 2 )
self:SetRefreshTimeInterval( 2 )
self:SetDetectionActivated()
self:__Target( -2 ) -- Start Targetting
end

View File

@ -128,7 +128,7 @@
-- * @{#AI_PATROL_ZONE.SetDetectionOn}(): Set the detection on. The AI will detect for targets.
-- * @{#AI_PATROL_ZONE.SetDetectionOff}(): Set the detection off, the AI will not detect for targets. The existing target list will NOT be erased.
--
-- The detection frequency can be set with @{#AI_PATROL_ZONE.SetDetectionInterval}( seconds ), where the amount of seconds specify how much seconds will be waited before the next detection.
-- The detection frequency can be set with @{#AI_PATROL_ZONE.SetRefreshTimeInterval}( seconds ), where the amount of seconds specify how much seconds will be waited before the next detection.
-- Use the method @{#AI_PATROL_ZONE.GetDetectedUnits}() to obtain a list of the @{Unit}s detected by the AI.
--
-- The detection can be filtered to potential targets in a specific zone.
@ -187,7 +187,7 @@ function AI_PATROL_ZONE:New( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltit
-- defafult PatrolAltType to "RADIO" if not specified
self.PatrolAltType = PatrolAltType or "RADIO"
self:SetDetectionInterval( 30 )
self:SetRefreshTimeInterval( 30 )
self.CheckStatus = true
@ -544,7 +544,7 @@ end
-- @param #AI_PATROL_ZONE self
-- @param #number Seconds The interval in seconds.
-- @return #AI_PATROL_ZONE self
function AI_PATROL_ZONE:SetDetectionInterval( Seconds )
function AI_PATROL_ZONE:SetRefreshTimeInterval( Seconds )
self:F2()
if Seconds then

View File

@ -322,7 +322,7 @@ do -- DETECTION_BASE
self.DetectionSetGroup = DetectionSetGroup
self.DetectionInterval = 30
self.RefreshTimeInterval = 30
self:InitDetectVisual( nil )
self:InitDetectOptical( nil )
@ -507,7 +507,7 @@ do -- DETECTION_BASE
-- @param #string Event The Event string.
-- @param #string To The To State string.
function DETECTION_BASE:onafterStart(From,Event,To)
self:__Detect(0.1)
self:__Detect( 1 )
end
--- @param #DETECTION_BASE self
@ -742,7 +742,7 @@ do -- DETECTION_BASE
self:CleanDetectionItem( DetectedItem, DetectedItemID ) -- Any DetectionItem that has a Set with zero elements in it, must be removed from the DetectionItems list.
end
self:__Detect( self.DetectionInterval )
self:__Detect( self.RefreshTimeInterval )
end
end
@ -922,12 +922,12 @@ do -- DETECTION_BASE
--- Set the detection interval time in seconds.
-- @param #DETECTION_BASE self
-- @param #number DetectionInterval Interval in seconds.
-- @param #number RefreshTimeInterval Interval in seconds.
-- @return #DETECTION_BASE self
function DETECTION_BASE:SetDetectionInterval( DetectionInterval )
function DETECTION_BASE:SetRefreshTimeInterval( RefreshTimeInterval )
self:F2()
self.DetectionInterval = DetectionInterval
self.RefreshTimeInterval = RefreshTimeInterval
return self
end

View File

@ -15,7 +15,7 @@
-- ---------------------------------
-- Derived DETECTION_MANAGER classes will reports detected units using the method @{DetectionManager#DETECTION_MANAGER.ReportDetected}(). This method implements polymorphic behaviour.
--
-- The time interval in seconds of the reporting can be changed using the methods @{DetectionManager#DETECTION_MANAGER.SetReportInterval}().
-- The time interval in seconds of the reporting can be changed using the methods @{DetectionManager#DETECTION_MANAGER.SetRefreshTimeInterval}().
-- To control how long a reporting message is displayed, use @{DetectionManager#DETECTION_MANAGER.SetReportDisplayTime}().
-- Derived classes need to implement the method @{DetectionManager#DETECTION_MANAGER.GetReportDisplayTime}() to use the correct display time for displayed messages during a report.
--
@ -126,7 +126,7 @@ do -- DETECTION MANAGER
self:AddTransition( "Started", "Report", "Started" )
self:SetReportInterval( 30 )
self:SetRefreshTimeInterval( 30 )
self:SetReportDisplayTime( 25 )
self:E( { Detection = Detection } )
@ -143,19 +143,19 @@ do -- DETECTION MANAGER
self:E( "onafterReport" )
self:__Report( -self._ReportInterval )
self:__Report( -self._RefreshTimeInterval )
self:ProcessDetected( self.Detection )
end
--- Set the reporting time interval.
-- @param #DETECTION_MANAGER self
-- @param #number ReportInterval The interval in seconds when a report needs to be done.
-- @param #number RefreshTimeInterval The interval in seconds when a report needs to be done.
-- @return #DETECTION_MANAGER self
function DETECTION_MANAGER:SetReportInterval( ReportInterval )
function DETECTION_MANAGER:SetRefreshTimeInterval( RefreshTimeInterval )
self:F2()
self._ReportInterval = ReportInterval
self._RefreshTimeInterval = RefreshTimeInterval
end

View File

@ -93,7 +93,7 @@ do -- TASK_A2A_DISPATCHER
--
-- local EWRDetection = DETECTION_AREAS:New( EWRSet, 6000 )
-- EWRDetection:SetFriendliesRange( 10000 )
-- EWRDetection:SetDetectionInterval(30)
-- EWRDetection:SetRefreshTimeInterval(30)
--
-- -- Setup the A2A dispatcher, and initialize it.
-- A2ADispatcher = TASK_A2A_DISPATCHER:New( Mission, AttackGroups, EWRDetection )
@ -197,7 +197,7 @@ do -- TASK_A2A_DISPATCHER
-- TODO: Check detection through radar.
self.Detection:FilterCategories( Unit.Category.AIRPLANE, Unit.Category.HELICOPTER )
self.Detection:InitDetectRadar( true )
self.Detection:SetDetectionInterval( 30 )
self.Detection:SetRefreshTimeInterval( 30 )
self:AddTransition( "Started", "Assign", "Started" )

View File

@ -749,7 +749,7 @@ Per one, two, three, four?</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_DISPATCHER).SetSquadron">AI_A2A_DISPATCHER:SetSquadron(SquadronName, AirbaseName, SpawnTemplates, Resources)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_DISPATCHER).SetSquadron">AI_A2A_DISPATCHER:SetSquadron(SquadronName, AirbaseName, TemplatePrefixes, Resources)</a></td>
<td class="summary">
<p>This is the main method to define Squadrons programmatically.</p>
</td>
@ -4132,7 +4132,7 @@ when you don't want to let the AI<em>A2A</em>DISPATCHER react immediately when a
<dt>
<a id="#(AI_A2A_DISPATCHER).SetSquadron" >
<strong>AI_A2A_DISPATCHER:SetSquadron(SquadronName, AirbaseName, SpawnTemplates, Resources)</strong>
<strong>AI_A2A_DISPATCHER:SetSquadron(SquadronName, AirbaseName, TemplatePrefixes, Resources)</strong>
</a>
</dt>
<dd>
@ -4194,7 +4194,7 @@ To ease the airbase naming when using the LDT editor and IntelliSense, the <a hr
</li>
<li>
<p><code><em>#string SpawnTemplates </em></code>:
<p><code><em>#string TemplatePrefixes </em></code>:
A string or an array of strings specifying the <strong>prefix names of the templates</strong> (not going to explain what is templates here again).
Examples are <code>{ "104th", "105th" }</code> or <code>"104th"</code> or <code>"Template 1"</code> or <code>"BLUE PLANES"</code>.
Just remember that your template (groups late activated) need to start with the prefix you have specified in your code.

View File

@ -406,7 +406,7 @@ Only put detection on when absolutely necessary, and the frequency of the detect
<li><a href="##(AI_A2A_PATROL).SetDetectionOff">AI<em>A2A</em>PATROL.SetDetectionOff</a>(): Set the detection off, the AI will not detect for targets. The existing target list will NOT be erased.</li>
</ul>
<p>The detection frequency can be set with <a href="##(AI_A2A_PATROL).SetDetectionInterval">AI<em>A2A</em>PATROL.SetDetectionInterval</a>( seconds ), where the amount of seconds specify how much seconds will be waited before the next detection.
<p>The detection frequency can be set with <a href="##(AI_A2A_PATROL).SetRefreshTimeInterval">AI<em>A2A</em>PATROL.SetRefreshTimeInterval</a>( seconds ), where the amount of seconds specify how much seconds will be waited before the next detection.
Use the method <a href="##(AI_A2A_PATROL).GetDetectedUnits">AI<em>A2A</em>PATROL.GetDetectedUnits</a>() to obtain a list of the <a href="Unit.html">Unit</a>s detected by the AI.</p>
<p>The detection can be filtered to potential targets in a specific zone.

View File

@ -485,12 +485,6 @@
<td class="name" nowrap="nowrap"><a href="##(AI_PATROL_ZONE).SetDetectionDeactivated">AI_PATROL_ZONE:SetDetectionDeactivated()</a></td>
<td class="summary">
<p>Deactivate the detection.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROL_ZONE).SetDetectionInterval">AI_PATROL_ZONE:SetDetectionInterval(Seconds)</a></td>
<td class="summary">
<p>Set the interval in seconds between each detection executed by the AI.</p>
</td>
</tr>
<tr>
@ -509,6 +503,12 @@
<td class="name" nowrap="nowrap"><a href="##(AI_PATROL_ZONE).SetDetectionZone">AI_PATROL_ZONE:SetDetectionZone(DetectionZone)</a></td>
<td class="summary">
<p>Set the detection zone where the AI is detecting targets.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_PATROL_ZONE).SetRefreshTimeInterval">AI_PATROL_ZONE:SetRefreshTimeInterval(Seconds)</a></td>
<td class="summary">
<p>Set the interval in seconds between each detection executed by the AI.</p>
</td>
</tr>
<tr>
@ -742,7 +742,7 @@ Only put detection on when absolutely necessary, and the frequency of the detect
<li><a href="##(AI_PATROL_ZONE).SetDetectionOff">AI<em>PATROL</em>ZONE.SetDetectionOff</a>(): Set the detection off, the AI will not detect for targets. The existing target list will NOT be erased.</li>
</ul>
<p>The detection frequency can be set with <a href="##(AI_PATROL_ZONE).SetDetectionInterval">AI<em>PATROL</em>ZONE.SetDetectionInterval</a>( seconds ), where the amount of seconds specify how much seconds will be waited before the next detection.
<p>The detection frequency can be set with <a href="##(AI_PATROL_ZONE).SetRefreshTimeInterval">AI<em>PATROL</em>ZONE.SetRefreshTimeInterval</a>( seconds ), where the amount of seconds specify how much seconds will be waited before the next detection.
Use the method <a href="##(AI_PATROL_ZONE).GetDetectedUnits">AI<em>PATROL</em>ZONE.GetDetectedUnits</a>() to obtain a list of the <a href="Unit.html">Unit</a>s detected by the AI.</p>
<p>The detection can be filtered to potential targets in a specific zone.
@ -926,6 +926,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">
@ -2258,39 +2261,6 @@ self</p>
<dl class="function">
<dt>
<a id="#(AI_PATROL_ZONE).SetDetectionInterval" >
<strong>AI_PATROL_ZONE:SetDetectionInterval(Seconds)</strong>
</a>
</dt>
<dd>
<p>Set the interval in seconds between each detection executed by the AI.</p>
<p>The list of already detected targets will be kept and updated.
Newly detected targets will be added, but already detected targets that were
not detected in this cycle, will NOT be removed!
The default interval is 30 seconds.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#number Seconds </em></code>:
The interval in seconds.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(AI_PATROL_ZONE)">#AI<em>PATROL</em>ZONE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AI_PATROL_ZONE).SetDetectionOff" >
<strong>AI_PATROL_ZONE:SetDetectionOff()</strong>
</a>
@ -2361,6 +2331,39 @@ self</p>
<dl class="function">
<dt>
<a id="#(AI_PATROL_ZONE).SetRefreshTimeInterval" >
<strong>AI_PATROL_ZONE:SetRefreshTimeInterval(Seconds)</strong>
</a>
</dt>
<dd>
<p>Set the interval in seconds between each detection executed by the AI.</p>
<p>The list of already detected targets will be kept and updated.
Newly detected targets will be added, but already detected targets that were
not detected in this cycle, will NOT be removed!
The default interval is 30 seconds.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#number Seconds </em></code>:
The interval in seconds.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(AI_PATROL_ZONE)">#AI<em>PATROL</em>ZONE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AI_PATROL_ZONE).SetSpeed" >
<strong>AI_PATROL_ZONE:SetSpeed(PatrolMinSpeed, PatrolMaxSpeed)</strong>
</a>

View File

@ -3417,6 +3417,7 @@ The range till cargo will board.</p>
<dl class="function">
<dt>
<em></em>
<a id="#(CARGO_UNIT).CargoCarrier" >
<strong>CARGO_UNIT.CargoCarrier</strong>
</a>

View File

@ -1130,7 +1130,6 @@ function below will use the range 1-7 just in case</p>
<dl class="function">
<dt>
<em></em>
<a id="#(DESIGNATE).LaserCodes" >
<strong>DESIGNATE.LaserCodes</strong>
</a>

View File

@ -476,12 +476,6 @@ DETECTION uses the in-built detection capabilities of DCS World, but adds new fu
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).DetectionCount">DETECTION_BASE.DetectionCount</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).DetectionInterval">DETECTION_BASE.DetectionInterval</a></td>
<td class="summary">
</td>
</tr>
<tr>
@ -529,18 +523,36 @@ The different values of Unit.Category can be:</p>
</ul>
<p>Multiple Unit.Category entries can be given as a table and then these will be evaluated as an OR expression.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).FilterFriendliesCategory">DETECTION_BASE:FilterFriendliesCategory(FriendliesCategory)</a></td>
<td class="summary">
<p>Filters friendly units by unit category.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).ForgetDetectedUnit">DETECTION_BASE:ForgetDetectedUnit(UnitName)</a></td>
<td class="summary">
<p>Forget a Unit from a DetectionItem</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).FriendliesCategory">DETECTION_BASE.FriendliesCategory</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).FriendliesRange">DETECTION_BASE.FriendliesRange</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).FriendlyPrefixes">DETECTION_BASE.FriendlyPrefixes</a></td>
<td class="summary">
</td>
</tr>
<tr>
@ -799,6 +811,12 @@ The different values of Unit.Category can be:</p>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).OnLeaveStopped">DETECTION_BASE:OnLeaveStopped(From, Event, To)</a></td>
<td class="summary">
<p>OnLeave Transition Handler for State Stopped.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).RefreshTimeInterval">DETECTION_BASE.RefreshTimeInterval</a></td>
<td class="summary">
</td>
</tr>
<tr>
@ -865,12 +883,6 @@ The different values of Unit.Category can be:</p>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).SetDetectedItemThreatLevel">DETECTION_BASE:SetDetectedItemThreatLevel(The, DetectedItem)</a></td>
<td class="summary">
<p>Set the detected item threatlevel.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).SetDetectionInterval">DETECTION_BASE:SetDetectionInterval(DetectionInterval)</a></td>
<td class="summary">
<p>Set the detection interval time in seconds.</p>
</td>
</tr>
<tr>
@ -883,12 +895,24 @@ The different values of Unit.Category can be:</p>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).SetFriendliesRange">DETECTION_BASE:SetFriendliesRange(FriendliesRange)</a></td>
<td class="summary">
<p>Set the radius in meters to validate if friendlies are nearby.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).SetFriendlyPrefixes">DETECTION_BASE:SetFriendlyPrefixes(FriendlyPrefixes)</a></td>
<td class="summary">
<p>This will allow during friendly search any recce or detection unit to be also considered as a friendly.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).SetIntercept">DETECTION_BASE:SetIntercept(Intercept, IntereptDelay, InterceptDelay)</a></td>
<td class="summary">
<p>Set the parameters to calculate to optimal intercept point.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).SetRefreshTimeInterval">DETECTION_BASE:SetRefreshTimeInterval(RefreshTimeInterval)</a></td>
<td class="summary">
<p>Set the detection interval time in seconds.</p>
</td>
</tr>
<tr>
@ -2614,20 +2638,6 @@ The group to generate the report for.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(DETECTION_BASE).DetectionInterval" >
<strong>DETECTION_BASE.DetectionInterval</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@ -2754,6 +2764,32 @@ cs.DCSUnit#Unit> FilterCategories The Categories entries</p>
<p><em><a href="##(DETECTION_BASE)">#DETECTION_BASE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(DETECTION_BASE).FilterFriendliesCategory" >
<strong>DETECTION_BASE:FilterFriendliesCategory(FriendliesCategory)</strong>
</a>
</dt>
<dd>
<p>Filters friendly units by unit category.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> FriendliesCategory </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(DETECTION_BASE)">#DETECTION_BASE</a>:</em></p>
</dd>
</dl>
<dl class="function">
@ -2781,6 +2817,20 @@ The UnitName that needs to be forgotten from the DetectionItem Sets.</p>
<p><em><a href="##(DETECTION_BASE)">#DETECTION_BASE</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(DETECTION_BASE).FriendliesCategory" >
<strong>DETECTION_BASE.FriendliesCategory</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@ -2795,6 +2845,19 @@ The UnitName that needs to be forgotten from the DetectionItem Sets.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(DETECTION_BASE).FriendlyPrefixes" >
<strong>DETECTION_BASE.FriendlyPrefixes</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@ -3468,7 +3531,7 @@ true if already identified.</p>
<h3>Return value</h3>
<p><em>#boolean:</em>
trhe if there are friendlies nearby </p>
true if there are friendlies nearby </p>
</dd>
</dl>
@ -3987,6 +4050,20 @@ The To State string.</p>
<p><em>#boolean:</em>
Return false to cancel Transition.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(DETECTION_BASE).RefreshTimeInterval" >
<strong>DETECTION_BASE.RefreshTimeInterval</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@ -4273,33 +4350,6 @@ DetectedItem to calculate the threatlevel for.</p>
<p><em><a href="##(DETECTION_BASE)">#DETECTION_BASE</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(DETECTION_BASE).SetDetectionInterval" >
<strong>DETECTION_BASE:SetDetectionInterval(DetectionInterval)</strong>
</a>
</dt>
<dd>
<p>Set the detection interval time in seconds.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#number DetectionInterval </em></code>:
Interval in seconds.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(DETECTION_BASE)">#DETECTION_BASE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
@ -4360,6 +4410,39 @@ Radius to use when checking if Friendlies are nearby.</p>
<p><em><a href="##(DETECTION_BASE)">#DETECTION_BASE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(DETECTION_BASE).SetFriendlyPrefixes" >
<strong>DETECTION_BASE:SetFriendlyPrefixes(FriendlyPrefixes)</strong>
</a>
</dt>
<dd>
<p>This will allow during friendly search any recce or detection unit to be also considered as a friendly.</p>
<p>By default, recce aren't considered friendly, because that would mean that a recce would be also an attacking friendly,
and this is wrong.
However, in a CAP situation, when the CAP is part of an EWR network, the CAP is also an attacker.
This, this method allows to register for a detection the CAP unit name prefixes to be considered CAP.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#string FriendlyPrefixes </em></code>:
A string or a list of prefixes.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(DETECTION_BASE)">#DETECTION_BASE</a>:</em></p>
</dd>
</dl>
<dl class="function">
@ -4403,6 +4486,33 @@ self</p>
<dl class="function">
<dt>
<a id="#(DETECTION_BASE).SetRefreshTimeInterval" >
<strong>DETECTION_BASE:SetRefreshTimeInterval(RefreshTimeInterval)</strong>
</a>
</dt>
<dd>
<p>Set the detection interval time in seconds.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#number RefreshTimeInterval </em></code>:
Interval in seconds.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(DETECTION_BASE)">#DETECTION_BASE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(DETECTION_BASE).SetRejectZones" >
<strong>DETECTION_BASE:SetRejectZones(RejectZones)</strong>
</a>

View File

@ -121,7 +121,7 @@ Reportings can be done in several manners, and it is up to the derived classes i
<h2>1.2) DETECTION_MANAGER reporting:</h2>
<p>Derived DETECTION_MANAGER classes will reports detected units using the method <a href="DetectionManager.html##(DETECTION_MANAGER).ReportDetected">DetectionManager#DETECTION_MANAGER.ReportDetected</a>(). This method implements polymorphic behaviour.</p>
<p>The time interval in seconds of the reporting can be changed using the methods <a href="DetectionManager.html##(DETECTION_MANAGER).SetReportInterval">DetectionManager#DETECTION_MANAGER.SetReportInterval</a>().
<p>The time interval in seconds of the reporting can be changed using the methods <a href="DetectionManager.html##(DETECTION_MANAGER).SetRefreshTimeInterval">DetectionManager#DETECTION_MANAGER.SetRefreshTimeInterval</a>().
To control how long a reporting message is displayed, use <a href="DetectionManager.html##(DETECTION_MANAGER).SetReportDisplayTime">DetectionManager#DETECTION_MANAGER.SetReportDisplayTime</a>().
Derived classes need to implement the method <a href="DetectionManager.html##(DETECTION_MANAGER).GetReportDisplayTime">DetectionManager#DETECTION_MANAGER.GetReportDisplayTime</a>() to use the correct display time for displayed messages during a report.</p>
@ -223,15 +223,15 @@ If an ad-hoc report is requested, use the method <a href="DetectionManager.html#
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_MANAGER).SetReportDisplayTime">DETECTION_MANAGER:SetReportDisplayTime(ReportDisplayTime)</a></td>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_MANAGER).SetRefreshTimeInterval">DETECTION_MANAGER:SetRefreshTimeInterval(RefreshTimeInterval)</a></td>
<td class="summary">
<p>Set the reporting message display time.</p>
<p>Set the reporting time interval.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_MANAGER).SetReportInterval">DETECTION_MANAGER:SetReportInterval(ReportInterval)</a></td>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_MANAGER).SetReportDisplayTime">DETECTION_MANAGER:SetReportDisplayTime(ReportDisplayTime)</a></td>
<td class="summary">
<p>Set the reporting time interval.</p>
<p>Set the reporting message display time.</p>
</td>
</tr>
<tr>
@ -247,13 +247,13 @@ If an ad-hoc report is requested, use the method <a href="DetectionManager.html#
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_MANAGER)._ReportDisplayTime">DETECTION_MANAGER._ReportDisplayTime</a></td>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_MANAGER)._RefreshTimeInterval">DETECTION_MANAGER._RefreshTimeInterval</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_MANAGER)._ReportInterval">DETECTION_MANAGER._ReportInterval</a></td>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_MANAGER)._ReportDisplayTime">DETECTION_MANAGER._ReportDisplayTime</a></td>
<td class="summary">
</td>
@ -614,6 +614,33 @@ self</p>
<dl class="function">
<dt>
<a id="#(DETECTION_MANAGER).SetRefreshTimeInterval" >
<strong>DETECTION_MANAGER:SetRefreshTimeInterval(RefreshTimeInterval)</strong>
</a>
</dt>
<dd>
<p>Set the reporting time interval.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#number RefreshTimeInterval </em></code>:
The interval in seconds when a report needs to be done.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(DETECTION_MANAGER)">#DETECTION_MANAGER</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(DETECTION_MANAGER).SetReportDisplayTime" >
<strong>DETECTION_MANAGER:SetReportDisplayTime(ReportDisplayTime)</strong>
</a>
@ -641,33 +668,6 @@ self</p>
<dl class="function">
<dt>
<a id="#(DETECTION_MANAGER).SetReportInterval" >
<strong>DETECTION_MANAGER:SetReportInterval(ReportInterval)</strong>
</a>
</dt>
<dd>
<p>Set the reporting time interval.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#number ReportInterval </em></code>:
The interval in seconds when a report needs to be done.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(DETECTION_MANAGER)">#DETECTION_MANAGER</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(DETECTION_MANAGER).Start" >
<strong>DETECTION_MANAGER:Start()</strong>
</a>
@ -695,8 +695,8 @@ self</p>
<dt>
<em></em>
<a id="#(DETECTION_MANAGER)._ReportDisplayTime" >
<strong>DETECTION_MANAGER._ReportDisplayTime</strong>
<a id="#(DETECTION_MANAGER)._RefreshTimeInterval" >
<strong>DETECTION_MANAGER._RefreshTimeInterval</strong>
</a>
</dt>
<dd>
@ -709,8 +709,8 @@ self</p>
<dt>
<em></em>
<a id="#(DETECTION_MANAGER)._ReportInterval" >
<strong>DETECTION_MANAGER._ReportInterval</strong>
<a id="#(DETECTION_MANAGER)._ReportDisplayTime" >
<strong>DETECTION_MANAGER._ReportDisplayTime</strong>
</a>
</dt>
<dd>

View File

@ -1598,7 +1598,7 @@ A string defining the start state.</p>
<dl class="function">
<dt>
<em></em>
<em>#string</em>
<a id="#(FSM)._StartState" >
<strong>FSM._StartState</strong>
</a>
@ -1897,7 +1897,6 @@ A string defining the start state.</p>
<dl class="function">
<dt>
<em></em>
<a id="#(FSM).current" >
<strong>FSM.current</strong>
</a>

View File

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

@ -1836,6 +1836,7 @@ The height in meters to add to the altitude of the positionable.</p>
<dl class="function">
<dt>
<em><a href="Core.Spot.html##(SPOT)">Core.Spot#SPOT</a></em>
<a id="#(POSITIONABLE).Spot" >
<strong>POSITIONABLE.Spot</strong>
</a>

View File

@ -1093,7 +1093,7 @@ true if metric.</p>
<dl class="function">
<dt>
<em></em>
<em>#boolean</em>
<a id="#(SETTINGS).Metric" >
<strong>SETTINGS.Metric</strong>
</a>

View File

@ -2194,6 +2194,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">
@ -3126,7 +3129,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
<dl class="function">
<dt>
<em></em>
<em>#boolean</em>
<a id="#(SPAWN).SpawnUnControlled" >
<strong>SPAWN.SpawnUnControlled</strong>
</a>
@ -3150,7 +3153,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
<p> When the first Spawn executes, all the Groups need to be made visible before start.</p>
<p> Flag that indicates if all the Groups of the SpawnGroup need to be visible when Spawned.</p>
</dd>
</dl>

View File

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

@ -307,7 +307,7 @@ increasing or decreasing the radar coverage of the Early Warning System.</p>
local EWRDetection = DETECTION_AREAS:New( EWRSet, 6000 )
EWRDetection:SetFriendliesRange( 10000 )
EWRDetection:SetDetectionInterval(30)
EWRDetection:SetRefreshTimeInterval(30)
-- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = TASK_A2A_DISPATCHER:New( Mission, AttackGroups, EWRDetection )

View File

@ -552,7 +552,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)">Core.Cargo#CARGO</a></em>
<em></em>
<a id="#(FSM_PROCESS).Cargo" >
<strong>FSM_PROCESS.Cargo</strong>
</a>
@ -566,7 +566,6 @@ based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TA
<dl class="function">
<dt>
<em></em>
<a id="#(FSM_PROCESS).DeployZone" >
<strong>FSM_PROCESS.DeployZone</strong>
</a>
@ -631,7 +630,7 @@ based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TA
<dl class="function">
<dt>
<em></em>
<em>#number</em>
<a id="#(TASK_CARGO).CargoLimit" >
<strong>TASK_CARGO.CargoLimit</strong>
</a>