#GROUP - make GetCoordinate a bit more robust

This commit is contained in:
Applevangelist 2024-04-19 15:57:43 +02:00
parent 3b364c7650
commit 95baed1aac

View File

@ -1187,13 +1187,12 @@ end
-- @return Core.Point#COORDINATE The COORDINATE of the GROUP.
function GROUP:GetCoordinate()
local Units = self:GetUnits() or {}
for _,_unit in pairs(Units) do
local FirstUnit = _unit -- Wrapper.Unit#UNIT
if FirstUnit then
if FirstUnit and FirstUnit:IsAlive() then
local FirstUnitCoordinate = FirstUnit:GetCoordinate()
@ -1205,6 +1204,22 @@ function GROUP:GetCoordinate()
end
end
-- no luck, try the API way
local DCSGroup = Group.getByName(self.GroupName)
local DCSUnits = DCSGroup:getUnits() or {}
for _,_unit in pairs(DCSUnits) do
if Object.isExist(_unit) then
local position = _unit:getPosition()
local point = position.p ~= nil and position.p or _unit:GetPoint()
if point then
--self:I(point)
local coord = COORDINATE:NewFromVec3(point)
return coord
end
end
end
BASE:E( { "Cannot GetCoordinate", Group = self, Alive = self:IsAlive() } )
end