Update AirWing.lua

Make Patrolpoint Markes Switchable
This commit is contained in:
Applevangelist 2021-04-01 13:28:59 +02:00 committed by GitHub
parent 220e004d73
commit 903e8711f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -119,6 +119,7 @@ AIRWING = {
pointsTANKER = {},
pointsAWACS = {},
wingcommander = nil,
markpoints = false,
}
--- Squadron asset.
@ -209,6 +210,7 @@ function AIRWING:New(warehousename, airwingname)
self.nflightsTANKERprobe=0
self.nflightsRecoveryTanker=0
self.nflightsRescueHelo=0
self.markpoints = false
------------------------
--- Pseudo Functions ---
@ -230,6 +232,24 @@ function AIRWING:New(warehousename, airwingname)
-- @function [parent=#AIRWING] __Stop
-- @param #AIRWING self
-- @param #number delay Delay in seconds.
--- On after "FlightOnMission" event. Triggered when an asset group starts a mission.
-- @function [parent=#AIRWING] OnAfterFlightOnMission
-- @param #AIRWING self
-- @param #string From The From state
-- @param #string Event The Event called
-- @param #string To The To state
-- @param Ops.FlightGroup#FLIGHTGROUP Flightgroup The Flightgroup on mission
-- @param Ops.Auftrag#AUFTRAG Mission The Auftrag of the Flightgroup
--- On after "AssetReturned" event. Triggered when an asset group returned to its airwing.
-- @function [parent=#AIRWING] OnAfterAssetReturned
-- @param #AIRWING self
-- @param #string From From state.
-- @param #string Event Event.
-- @param #string To To state.
-- @param Ops.Squadron#SQUADRON Squadron The asset squadron.
-- @param #AIRWING.SquadronAsset Asset The asset that returned.
return self
end
@ -647,6 +667,19 @@ function AIRWING:SetNumberTankerBoom(Nboom)
return self
end
--- Set markers on the map for Patrol Points.
-- @param #AIRWING self
-- @param #boolean onoff Set to true to switch markers on.
-- @return #AIRWING self
function AIRWING:ShowPatrolPointMarkers(onoff)
if onoff then
self.markpoints = true
else
self.markpoints = false
end
return self
end
--- Set number of TANKER flights with Probe constantly in the air.
-- @param #AIRWING self
-- @param #number Nprobe Number of flights. Default 1.
@ -689,12 +722,10 @@ end
--- Update marker of the patrol point.
-- @param #AIRWING.PatrolData point Patrol point table.
function AIRWING.UpdatePatrolPointMarker(point)
local text=string.format("%s Occupied=%d\nheading=%03d, leg=%d NM, alt=%d ft, speed=%d kts",
point.type, point.noccupied, point.heading, point.leg, point.altitude, point.speed)
point.marker:UpdateText(text, 1)
local text=string.format("%s Occupied=%d\nheading=%03d, leg=%d NM, alt=%d ft, speed=%d kts",
point.type, point.noccupied, point.heading, point.leg, point.altitude, point.speed)
point.marker:UpdateText(text, 1)
end
@ -717,10 +748,12 @@ function AIRWING:NewPatrolPoint(Type, Coordinate, Altitude, Speed, Heading, LegL
patrolpoint.altitude=Altitude or math.random(10,20)*1000
patrolpoint.speed=Speed or 350
patrolpoint.noccupied=0
patrolpoint.marker=MARKER:New(Coordinate, "New Patrol Point"):ToAll()
AIRWING.UpdatePatrolPointMarker(patrolpoint)
if self.markpoints then
patrolpoint.marker=MARKER:New(Coordinate, "New Patrol Point"):ToAll()
AIRWING.UpdatePatrolPointMarker(patrolpoint)
end
return patrolpoint
end
@ -928,7 +961,7 @@ function AIRWING:CheckCAP()
patrol.noccupied=patrol.noccupied+1
AIRWING.UpdatePatrolPointMarker(patrol)
if self.markpoints then AIRWING.UpdatePatrolPointMarker(patrol) end
self:AddMission(missionCAP)
@ -972,7 +1005,7 @@ function AIRWING:CheckTANKER()
patrol.noccupied=patrol.noccupied+1
AIRWING.UpdatePatrolPointMarker(patrol)
if self.markpoints then AIRWING.UpdatePatrolPointMarker(patrol) end
self:AddMission(mission)
@ -990,7 +1023,7 @@ function AIRWING:CheckTANKER()
patrol.noccupied=patrol.noccupied+1
AIRWING.UpdatePatrolPointMarker(patrol)
if self.markpoints then AIRWING.UpdatePatrolPointMarker(patrol) end
self:AddMission(mission)
@ -1018,7 +1051,7 @@ function AIRWING:CheckAWACS()
patrol.noccupied=patrol.noccupied+1
AIRWING.UpdatePatrolPointMarker(patrol)
if self.markpoints then AIRWING.UpdatePatrolPointMarker(patrol) end
self:AddMission(mission)