Wingcommander

This commit is contained in:
Frank 2021-08-05 12:44:43 +02:00
parent 218d9f48b0
commit 4a56c7523d
3 changed files with 26 additions and 4 deletions

View File

@ -84,6 +84,7 @@ __Moose.Include( 'Scripts/Moose/Ops/ArmyGroup.lua' )
__Moose.Include( 'Scripts/Moose/Ops/Squadron.lua' )
__Moose.Include( 'Scripts/Moose/Ops/AirWing.lua' )
__Moose.Include( 'Scripts/Moose/Ops/Intelligence.lua' )
__Moose.Include( 'Scripts/Moose/Ops/WingCommander.lua' )
__Moose.Include( 'Scripts/Moose/Ops/ChiefOfStaff.lua' )
__Moose.Include( 'Scripts/Moose/Ops/FlightControl.lua' )
__Moose.Include( 'Scripts/Moose/Ops/OpsTransport.lua' )

View File

@ -14,7 +14,7 @@
--- CHIEF class.
-- @type CHIEF
-- @field #string ClassName Name of the class.
-- @field #boolean Debug Debug mode. Messages to all about status.
-- @field #number verbose Verbosity level.
-- @field #string lid Class id string for output to DCS log file.
-- @field #table missionqueue Mission queue.
-- @field Core.Set#SET_ZONE borderzoneset Set of zones defining the border of our territory.
@ -145,7 +145,6 @@ function CHIEF:New(AgentSet, Coalition)
-- Debug trace.
if false then
self.Debug=true
BASE:TraceOnOff(true)
BASE:TraceClass(self.ClassName)
BASE:TraceLevel(1)

View File

@ -112,12 +112,10 @@ function WINGCOMMANDER:New()
-- Debug trace.
if false then
self.Debug=true
BASE:TraceOnOff(true)
BASE:TraceClass(self.ClassName)
BASE:TraceLevel(1)
end
self.Debug=true
return self
end
@ -214,6 +212,30 @@ function WINGCOMMANDER:onafterStatus(From, Event, To)
-- Check mission queue and assign one PLANNED mission.
self:CheckMissionQueue()
-- Status.
local text=string.format(self.lid.."Status %s: Airwings=%d, Missions=%d", fsmstate, #self.airwings, #self.missionqueue)
self:I(self.lid..text)
-- Airwing Info
if #self.airwings>0 then
local text="Airwings:"
for _,_airwing in pairs(self.airwings) do
local airwing=_airwing --Ops.AirWing#AIRWING
local Nassets=airwing:CountAssets()
local Nastock=airwing:CountAssetsInStock()
text=text..string.format("\n* %s [%s]: Assets=%s stock=%s", airwing.alias, airwing:GetState(), Nassets, Nastock)
for _,aname in pairs(AUFTRAG.Type) do
local na=airwing:CountAssetsInStock({aname})
local np=airwing:CountPayloadsInStock({aname})
local nm=airwing:CountAssetsOnMission({aname})
if na>0 or np>0 then
text=text..string.format("\n - %s: assets=%d, payloads=%d, on mission=%d", aname, na, np, nm)
end
end
end
self:I(self.lid..text)
end
-- Mission queue.
if #self.missionqueue>0 then