mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
#GROUP - make GetCoordinate a bit more robust
This commit is contained in:
parent
3b364c7650
commit
95baed1aac
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user