Correct creation and interpretation of the HasRadar function for SET_UNIT.

Fixed SEAD_Process bug. Now the SEAD targets are correctly calculated.
This commit is contained in:
FlightControl 2016-07-10 15:03:25 +02:00
parent 153ff7bd58
commit def75889ad
3 changed files with 5 additions and 1 deletions

View File

@ -276,12 +276,14 @@ function TASK_DISPATCHER:EvaluateTaskSEAD( Mission, DetectedArea )
-- Determine if the set has radar targets. If it does, construct a SEAD task.
local RadarCount = DetectedSet:HasRadar( Unit.RadarType.AS )
DetectedArea.Tasks = DetectedArea.Tasks or {}
self:E(RadarCount)
if RadarCount > 0 then
if not DetectedArea.Tasks.SEADTask then
-- Here we're doing something advanced... We're copying the DetectedSet, but making a new Set only with Radar units in it.
local TargetSetUnit = SET_UNIT:New()
TargetSetUnit:CopyFilter( DetectedSet )
TargetSetUnit:FilterHasRadar( Unit.RadarType.AS )
self:E( TargetSetUnit.Filter )
TargetSetUnit:FilterStart()
local Task = TASK_SEAD:New( Mission, TargetSetUnit, DetectedZone )
self.Mission:AddTask( Task )

View File

@ -1454,7 +1454,8 @@ function SET_UNIT:IsIncludeObject( MUnit )
local MUnitRadar = false
for RadarTypeID, RadarType in pairs( self.Filter.RadarTypes ) do
self:E( { "Radar:", RadarType } )
if MUnit:HasSensors( Unit.SensorType.RADAR, RadarType ) then
if MUnit:HasSensors( Unit.SensorType.RADAR, RadarType ) == true then
self:E( "RADAR Found" )
MUnitRadar = true
end
end

View File

@ -352,6 +352,7 @@ function UNIT:HasSensors( ... )
local DCSUnit = self:GetDCSObject()
if DCSUnit then
self:E( arg )
local HasSensors = DCSUnit:hasSensors( unpack( arg ) )
return HasSensors
end