Fixed #517 - When detected set is empty, script fails when lasing is activated.

Now, when there is no target detected and lase is activated, the system
does not crash.
This commit is contained in:
FlightControl 2017-05-15 12:40:32 +02:00
parent 9053f99960
commit cc4a6a5f01

View File

@ -1611,6 +1611,7 @@ function SET_UNIT:ForEachUnitPerThreatLevel( FromThreatLevel, ToThreatLevel, Ite
local ThreatLevelSet = {} local ThreatLevelSet = {}
if self:Count() ~= 0 then
for UnitName, UnitObject in pairs( self.Set ) do for UnitName, UnitObject in pairs( self.Set ) do
local Unit = UnitObject -- Wrapper.Unit#UNIT local Unit = UnitObject -- Wrapper.Unit#UNIT
@ -1630,10 +1631,13 @@ function SET_UNIT:ForEachUnitPerThreatLevel( FromThreatLevel, ToThreatLevel, Ite
self:ForEach( IteratorFunction, arg, ThreatLevelItem.Set ) self:ForEach( IteratorFunction, arg, ThreatLevelItem.Set )
end end
end end
end
return self return self
end end
--- Iterate the SET_UNIT and call an iterator function for each **alive** UNIT presence completely in a @{Zone}, providing the UNIT and optional parameters to the called function. --- Iterate the SET_UNIT and call an iterator function for each **alive** UNIT presence completely in a @{Zone}, providing the UNIT and optional parameters to the called function.
-- @param #SET_UNIT self -- @param #SET_UNIT self
-- @param Core.Zone#ZONE ZoneObject The Zone to be tested for. -- @param Core.Zone#ZONE ZoneObject The Zone to be tested for.