Merge branch 'develop' into FF/Ops

This commit is contained in:
Frank 2022-05-09 08:41:55 +02:00
commit f8e5efc874
2 changed files with 24 additions and 10 deletions

View File

@ -98,6 +98,7 @@ INTEL = {
clusterradius = 15000,
clusteranalysis = true,
clustermarkers = false,
clusterarrows = false,
prediction = 300,
detectStatics = false,
}
@ -528,10 +529,12 @@ end
-- @param #INTEL self
-- @param #boolean Switch If true, enable cluster analysis.
-- @param #boolean Markers If true, place markers on F10 map.
-- @param #boolean Arrows If true, draws arrows on F10 map.
-- @return #INTEL self
function INTEL:SetClusterAnalysis(Switch, Markers)
function INTEL:SetClusterAnalysis(Switch, Markers, Arrows)
self.clusteranalysis=Switch
self.clustermarkers=Markers
self.clusterarrows=Arrows
return self
end
@ -1760,7 +1763,7 @@ function INTEL:CalcClusterFuturePosition(cluster, seconds)
local futureposition=COORDINATE:NewFromVec3(Vec3)
-- Create an arrow pointing in the direction of the movement.
if self.clustermarkers and self.verbose>1 then
if self.clustermarkers and self.clusterarrows then
if cluster.markerID then
COORDINATE:RemoveMark(cluster.markerID)
end

View File

@ -701,15 +701,26 @@ function GROUP:GetUnit( UnitNumber )
local DCSGroup = self:GetDCSObject()
if DCSGroup then
local DCSUnit = DCSGroup:getUnit( UnitNumber )
local UnitFound = UNIT:Find(DCSUnit)
local UnitFound = nil
-- 2.7.1 dead event bug, return the first alive unit instead
local units = DCSGroup:getUnits() or {}
for _,_unit in pairs(units) do
local UnitFound = UNIT:Find(_unit)
if UnitFound then
return UnitFound
end
end
return UnitFound
end
return nil
end
--- Returns the DCS Unit with number UnitNumber.
@ -1105,17 +1116,17 @@ function GROUP:GetHeading()
local GroupSize = self:GetSize()
local HeadingAccumulator = 0
local n=0
local Units = self:GetUnits()
if GroupSize then
for i = 1, GroupSize do
local unit=self:GetUnit(i)
for _,unit in pairs(Units) do
if unit and unit:IsAlive() then
HeadingAccumulator = HeadingAccumulator + unit:GetHeading()
n=n+1
end
end
return math.floor(HeadingAccumulator / n)
return math.floor(HeadingAccumulator / n)
end
BASE:E( { "Cannot GetHeading", Group = self, Alive = self:IsAlive() } )