Fixeds for tasking

- Fixed the hanging report (I think)
- Fixed the routing messages appearing every time again
- Fixed the Task menu
This commit is contained in:
FlightControl 2017-04-26 11:33:48 +02:00
parent 6e353cf893
commit 755343d02e
8 changed files with 138 additions and 125 deletions

View File

@ -1003,8 +1003,11 @@ do -- FSM_PROCESS
-- @param #FSM_PROCESS self -- @param #FSM_PROCESS self
-- @return #FSM_PROCESS -- @return #FSM_PROCESS
function FSM_PROCESS:Remove() function FSM_PROCESS:Remove()
self:T( { self:GetClassNameAndID() } ) self:F( { self:GetClassNameAndID() } )
self:F( "Clearing Schedules" )
self.CallScheduler:Clear()
-- Copy Processes -- Copy Processes
for ProcessID, Process in pairs( self:GetProcesses() ) do for ProcessID, Process in pairs( self:GetProcesses() ) do
self:E( { Process} ) self:E( { Process} )

View File

@ -191,7 +191,7 @@ function SCHEDULEDISPATCHER:Start( Scheduler, CallID )
) )
end end
else else
for CallID, Schedule in pairs( self.Schedule[Scheduler] ) do for CallID, Schedule in pairs( self.Schedule[Scheduler] or {} ) do
self:Start( Scheduler, CallID ) -- Recursive self:Start( Scheduler, CallID ) -- Recursive
end end
end end
@ -209,7 +209,7 @@ function SCHEDULEDISPATCHER:Stop( Scheduler, CallID )
Schedule[CallID].ScheduleID = nil Schedule[CallID].ScheduleID = nil
end end
else else
for CallID, Schedule in pairs( self.Schedule[Scheduler] ) do for CallID, Schedule in pairs( self.Schedule[Scheduler] or {} ) do
self:Stop( Scheduler, CallID ) -- Recursive self:Stop( Scheduler, CallID ) -- Recursive
end end
end end
@ -218,7 +218,7 @@ end
function SCHEDULEDISPATCHER:Clear( Scheduler ) function SCHEDULEDISPATCHER:Clear( Scheduler )
self:F2( { Scheduler = Scheduler } ) self:F2( { Scheduler = Scheduler } )
for CallID, Schedule in pairs( self.Schedule[Scheduler] ) do for CallID, Schedule in pairs( self.Schedule[Scheduler] or {} ) do
self:Stop( Scheduler, CallID ) -- Recursive self:Stop( Scheduler, CallID ) -- Recursive
end end
end end

View File

@ -161,7 +161,7 @@ function COMMANDCENTER:New( CommandCenterPositionable, CommandCenterName )
local PlayerUnit = EventData.IniUnit local PlayerUnit = EventData.IniUnit
for MissionID, Mission in pairs( self:GetMissions() ) do for MissionID, Mission in pairs( self:GetMissions() ) do
local Mission = Mission -- Tasking.Mission#MISSION local Mission = Mission -- Tasking.Mission#MISSION
if Mission:IsOngoing() then if Mission:IsENGAGED() then
Mission:AbortUnit( PlayerUnit ) Mission:AbortUnit( PlayerUnit )
end end
end end

View File

@ -26,35 +26,35 @@ function MISSION:New( CommandCenter, MissionName, MissionPriority, MissionBriefi
local self = BASE:Inherit( self, FSM:New() ) -- Core.Fsm#FSM local self = BASE:Inherit( self, FSM:New() ) -- Core.Fsm#FSM
self:SetStartState( "Idle" ) self:SetStartState( "IDLE" )
self:AddTransition( "Idle", "Start", "Ongoing" ) self:AddTransition( "IDLE", "Start", "ENGAGED" )
--- OnLeave Transition Handler for State Idle. --- OnLeave Transition Handler for State IDLE.
-- @function [parent=#MISSION] OnLeaveIdle -- @function [parent=#MISSION] OnLeaveIDLE
-- @param #MISSION self -- @param #MISSION self
-- @param #string From The From State string. -- @param #string From The From State string.
-- @param #string Event The Event string. -- @param #string Event The Event string.
-- @param #string To The To State string. -- @param #string To The To State string.
-- @return #boolean Return false to cancel Transition. -- @return #boolean Return false to cancel Transition.
--- OnEnter Transition Handler for State Idle. --- OnEnter Transition Handler for State IDLE.
-- @function [parent=#MISSION] OnEnterIdle -- @function [parent=#MISSION] OnEnterIDLE
-- @param #MISSION self -- @param #MISSION self
-- @param #string From The From State string. -- @param #string From The From State string.
-- @param #string Event The Event string. -- @param #string Event The Event string.
-- @param #string To The To State string. -- @param #string To The To State string.
--- OnLeave Transition Handler for State Ongoing. --- OnLeave Transition Handler for State ENGAGED.
-- @function [parent=#MISSION] OnLeaveOngoing -- @function [parent=#MISSION] OnLeaveENGAGED
-- @param #MISSION self -- @param #MISSION self
-- @param #string From The From State string. -- @param #string From The From State string.
-- @param #string Event The Event string. -- @param #string Event The Event string.
-- @param #string To The To State string. -- @param #string To The To State string.
-- @return #boolean Return false to cancel Transition. -- @return #boolean Return false to cancel Transition.
--- OnEnter Transition Handler for State Ongoing. --- OnEnter Transition Handler for State ENGAGED.
-- @function [parent=#MISSION] OnEnterOngoing -- @function [parent=#MISSION] OnEnterENGAGED
-- @param #MISSION self -- @param #MISSION self
-- @param #string From The From State string. -- @param #string From The From State string.
-- @param #string Event The Event string. -- @param #string Event The Event string.
@ -84,18 +84,18 @@ function MISSION:New( CommandCenter, MissionName, MissionPriority, MissionBriefi
-- @param #MISSION self -- @param #MISSION self
-- @param #number Delay The delay in seconds. -- @param #number Delay The delay in seconds.
self:AddTransition( "Ongoing", "Stop", "Idle" ) self:AddTransition( "ENGAGED", "Stop", "IDLE" )
--- OnLeave Transition Handler for State Idle. --- OnLeave Transition Handler for State IDLE.
-- @function [parent=#MISSION] OnLeaveIdle -- @function [parent=#MISSION] OnLeaveIDLE
-- @param #MISSION self -- @param #MISSION self
-- @param #string From The From State string. -- @param #string From The From State string.
-- @param #string Event The Event string. -- @param #string Event The Event string.
-- @param #string To The To State string. -- @param #string To The To State string.
-- @return #boolean Return false to cancel Transition. -- @return #boolean Return false to cancel Transition.
--- OnEnter Transition Handler for State Idle. --- OnEnter Transition Handler for State IDLE.
-- @function [parent=#MISSION] OnEnterIdle -- @function [parent=#MISSION] OnEnterIDLE
-- @param #MISSION self -- @param #MISSION self
-- @param #string From The From State string. -- @param #string From The From State string.
-- @param #string Event The Event string. -- @param #string Event The Event string.
@ -125,18 +125,18 @@ function MISSION:New( CommandCenter, MissionName, MissionPriority, MissionBriefi
-- @param #MISSION self -- @param #MISSION self
-- @param #number Delay The delay in seconds. -- @param #number Delay The delay in seconds.
self:AddTransition( "Ongoing", "Complete", "Completed" ) self:AddTransition( "ENGAGED", "Complete", "COMPLETED" )
--- OnLeave Transition Handler for State Completed. --- OnLeave Transition Handler for State COMPLETED.
-- @function [parent=#MISSION] OnLeaveCompleted -- @function [parent=#MISSION] OnLeaveCOMPLETED
-- @param #MISSION self -- @param #MISSION self
-- @param #string From The From State string. -- @param #string From The From State string.
-- @param #string Event The Event string. -- @param #string Event The Event string.
-- @param #string To The To State string. -- @param #string To The To State string.
-- @return #boolean Return false to cancel Transition. -- @return #boolean Return false to cancel Transition.
--- OnEnter Transition Handler for State Completed. --- OnEnter Transition Handler for State COMPLETED.
-- @function [parent=#MISSION] OnEnterCompleted -- @function [parent=#MISSION] OnEnterCOMPLETED
-- @param #MISSION self -- @param #MISSION self
-- @param #string From The From State string. -- @param #string From The From State string.
-- @param #string Event The Event string. -- @param #string Event The Event string.
@ -166,18 +166,18 @@ function MISSION:New( CommandCenter, MissionName, MissionPriority, MissionBriefi
-- @param #MISSION self -- @param #MISSION self
-- @param #number Delay The delay in seconds. -- @param #number Delay The delay in seconds.
self:AddTransition( "*", "Fail", "Failed" ) self:AddTransition( "*", "Fail", "FAILED" )
--- OnLeave Transition Handler for State Failed. --- OnLeave Transition Handler for State FAILED.
-- @function [parent=#MISSION] OnLeaveFailed -- @function [parent=#MISSION] OnLeaveFAILED
-- @param #MISSION self -- @param #MISSION self
-- @param #string From The From State string. -- @param #string From The From State string.
-- @param #string Event The Event string. -- @param #string Event The Event string.
-- @param #string To The To State string. -- @param #string To The To State string.
-- @return #boolean Return false to cancel Transition. -- @return #boolean Return false to cancel Transition.
--- OnEnter Transition Handler for State Failed. --- OnEnter Transition Handler for State FAILED.
-- @function [parent=#MISSION] OnEnterFailed -- @function [parent=#MISSION] OnEnterFAILED
-- @param #MISSION self -- @param #MISSION self
-- @param #string From The From State string. -- @param #string From The From State string.
-- @param #string Event The Event string. -- @param #string Event The Event string.
@ -235,7 +235,7 @@ function MISSION:onbeforeComplete( From, Event, To )
for TaskID, Task in pairs( self:GetTasks() ) do for TaskID, Task in pairs( self:GetTasks() ) do
local Task = Task -- Tasking.Task#TASK local Task = Task -- Tasking.Task#TASK
if not Task:IsStateSuccess() and not Task:IsStateFailed() and not Task:IsStateAborted() and not Task:IsStateCancelled() then if not Task:IsStateSuccess() and not Task:IsStateFAILED() and not Task:IsStateAborted() and not Task:IsStateCancelled() then
return false -- Mission cannot be completed. Other Tasks are still active. return false -- Mission cannot be completed. Other Tasks are still active.
end end
end end
@ -247,7 +247,7 @@ end
-- @param #string From -- @param #string From
-- @param #string Event -- @param #string Event
-- @param #string To -- @param #string To
function MISSION:onenterCompleted( From, Event, To ) function MISSION:onenterCOMPLETED( From, Event, To )
self:GetCommandCenter():MessageToCoalition( "Mission " .. self:GetName() .. " has been completed! Good job guys!" ) self:GetCommandCenter():MessageToCoalition( "Mission " .. self:GetName() .. " has been completed! Good job guys!" )
end end
@ -489,39 +489,39 @@ function MISSION:GetNextTaskID( Task )
return self.Tasks[TaskName].n return self.Tasks[TaskName].n
end end
--- Is the @{Mission} **Completed**. --- Is the @{Mission} **COMPLETED**.
-- @param #MISSION self -- @param #MISSION self
-- @return #boolean -- @return #boolean
function MISSION:IsCompleted() function MISSION:IsCOMPLETED()
return self:Is( "Completed" ) return self:Is( "COMPLETED" )
end end
--- Is the @{Mission} **Idle**. --- Is the @{Mission} **IDLE**.
-- @param #MISSION self -- @param #MISSION self
-- @return #boolean -- @return #boolean
function MISSION:IsIdle() function MISSION:IsIDLE()
return self:Is( "Idle" ) return self:Is( "IDLE" )
end end
--- Is the @{Mission} **Ongoing**. --- Is the @{Mission} **ENGAGED**.
-- @param #MISSION self -- @param #MISSION self
-- @return #boolean -- @return #boolean
function MISSION:IsOngoing() function MISSION:IsENGAGED()
return self:Is( "Ongoing" ) return self:Is( "ENGAGED" )
end end
--- Is the @{Mission} **Failed**. --- Is the @{Mission} **FAILED**.
-- @param #MISSION self -- @param #MISSION self
-- @return #boolean -- @return #boolean
function MISSION:IsFailed() function MISSION:IsFAILED()
return self:Is( "Failed" ) return self:Is( "FAILED" )
end end
--- Is the @{Mission} **Hold**. --- Is the @{Mission} **HOLD**.
-- @param #MISSION self -- @param #MISSION self
-- @return #boolean -- @return #boolean
function MISSION:IsHold() function MISSION:IsHOLD()
return self:Is( "Hold" ) return self:Is( "HOLD" )
end end
--- Validates if the Mission has a Group --- Validates if the Mission has a Group
@ -548,7 +548,7 @@ function MISSION:GetTasksRemaining()
local TasksRemaining = 0 local TasksRemaining = 0
for TaskID, Task in pairs( self:GetTasks() ) do for TaskID, Task in pairs( self:GetTasks() ) do
local Task = Task -- Tasking.Task#TASK local Task = Task -- Tasking.Task#TASK
if Task:IsStateSuccess() or Task:IsStateFailed() then if Task:IsStateSuccess() or Task:IsStateFAILED() then
else else
TasksRemaining = TasksRemaining + 1 TasksRemaining = TasksRemaining + 1
end end

View File

@ -558,7 +558,7 @@ function TASK:SetMenu( MenuTime ) --R2.1 Mission Reports and Task Reports added.
TaskGroup.MenuReports = MENU_GROUP:New( TaskGroup, "Reports", MissionMenu ) TaskGroup.MenuReports = MENU_GROUP:New( TaskGroup, "Reports", MissionMenu )
MENU_GROUP_COMMAND:New( TaskGroup, "Report Tasks", TaskGroup.MenuReports, Mission.MenuReportSummary, Mission, TaskGroup ) MENU_GROUP_COMMAND:New( TaskGroup, "Report Tasks", TaskGroup.MenuReports, Mission.MenuReportSummary, Mission, TaskGroup )
MENU_GROUP_COMMAND:New( TaskGroup, "Report Planned Tasks", TaskGroup.MenuReports, Mission.MenuReportOverview, Mission, TaskGroup, "Planned" ) MENU_GROUP_COMMAND:New( TaskGroup, "Report Planned Tasks", TaskGroup.MenuReports, Mission.MenuReportOverview, Mission, TaskGroup, "Planned" )
MENU_GROUP_COMMAND:New( TaskGroup, "Report Ongoing Tasks", TaskGroup.MenuReports, Mission.MenuReportOverview, Mission, TaskGroup, "Ongoing" ) MENU_GROUP_COMMAND:New( TaskGroup, "Report Assigned Tasks", TaskGroup.MenuReports, Mission.MenuReportOverview, Mission, TaskGroup, "Assigned" )
MENU_GROUP_COMMAND:New( TaskGroup, "Report Successful Tasks", TaskGroup.MenuReports, Mission.MenuReportOverview, Mission, TaskGroup, "Success" ) MENU_GROUP_COMMAND:New( TaskGroup, "Report Successful Tasks", TaskGroup.MenuReports, Mission.MenuReportOverview, Mission, TaskGroup, "Success" )
MENU_GROUP_COMMAND:New( TaskGroup, "Report Failed Tasks", TaskGroup.MenuReports, Mission.MenuReportOverview, Mission, TaskGroup, "Failed" ) MENU_GROUP_COMMAND:New( TaskGroup, "Report Failed Tasks", TaskGroup.MenuReports, Mission.MenuReportOverview, Mission, TaskGroup, "Failed" )
MENU_GROUP_COMMAND:New( TaskGroup, "Report Held Tasks", TaskGroup.MenuReports, Mission.MenuReportOverview, Mission, TaskGroup, "Hold" ) MENU_GROUP_COMMAND:New( TaskGroup, "Report Held Tasks", TaskGroup.MenuReports, Mission.MenuReportOverview, Mission, TaskGroup, "Hold" )
@ -796,7 +796,9 @@ function TASK:RemoveStateMachine( TaskUnit )
self:E( self.Fsm ) self:E( self.Fsm )
for TaskUnitT, Fsm in pairs( self.Fsm ) do for TaskUnitT, Fsm in pairs( self.Fsm ) do
local Fsm = Fsm -- Core.Fsm#FSM_PROCESS
self:E( TaskUnitT ) self:E( TaskUnitT )
Fsm:Remove()
end end
self.Fsm[TaskUnit] = nil self.Fsm[TaskUnit] = nil

View File

@ -208,82 +208,91 @@ do -- TASK_A2G_DISPATCHER
local ChangeMsg = {} local ChangeMsg = {}
local Mission = self.Mission local Mission = self.Mission
--- First we need to the detected targets.
for DetectedItemID, DetectedItem in pairs( Detection:GetDetectedItems() ) do
local DetectedItem = DetectedItem -- Functional.Detection#DETECTION_BASE.DetectedItem if Mission:IsIDLE() or Mission:IsENGAGED() then
local DetectedSet = DetectedItem.Set -- Functional.Detection#DETECTION_BASE.DetectedSet
local DetectedZone = DetectedItem.Zone
self:E( { "Targets in DetectedItem", DetectedItem.ItemID, DetectedSet:Count(), tostring( DetectedItem ) } )
DetectedSet:Flush()
local ItemID = DetectedItem.ID
-- Evaluate SEAD Tasking
local SEADTask = Mission:GetTask( string.format( "SEAD.%03d", ItemID ) )
SEADTask = self:EvaluateRemoveTask( Mission, SEADTask, DetectedItem )
if not SEADTask then
local TargetSetUnit = self:EvaluateSEAD( DetectedItem ) -- Returns a SetUnit if there are targets to be SEADed...
if TargetSetUnit then
local Task = TASK_SEAD:New( Mission, self.SetGroup, string.format( "SEAD.%03d", ItemID ), TargetSetUnit )
Task:SetTargetZone( DetectedZone )
Task:SetDispatcher( self )
Task:SetInfo( "Detection", Detection:DetectedItemReportSummary( DetectedItemID ) )
Task:SetInfo( "Changes", Detection:GetChangeText( DetectedItem ) )
SEADTask = Mission:AddTask( Task )
end
end
-- Evaluate CAS Tasking
local CASTask = Mission:GetTask( string.format( "CAS.%03d", ItemID ) )
CASTask = self:EvaluateRemoveTask( Mission, CASTask, DetectedItem )
if not CASTask then
local TargetSetUnit = self:EvaluateCAS( DetectedItem ) -- Returns a SetUnit if there are targets to be SEADed...
if TargetSetUnit then
local Task = TASK_CAS:New( Mission, self.SetGroup, string.format( "CAS.%03d", ItemID ), TargetSetUnit )
Task:SetTargetZone( DetectedZone )
Task:SetDispatcher( self )
Task:SetInfo( "Detection", Detection:DetectedItemReportSummary( DetectedItemID ) )
Task:SetInfo( "Changes", Detection:GetChangeText( DetectedItem ) )
CASTask = Mission:AddTask( Task )
end
end
-- Evaluate BAI Tasking
local BAITask = Mission:GetTask( string.format( "BAI.%03d", ItemID ) )
BAITask = self:EvaluateRemoveTask( Mission, BAITask, DetectedItem )
if not BAITask then
local TargetSetUnit = self:EvaluateBAI( DetectedItem, self.Mission:GetCommandCenter():GetPositionable():GetCoalition() ) -- Returns a SetUnit if there are targets to be SEADed...
if TargetSetUnit then
local Task = TASK_BAI:New( Mission, self.SetGroup, string.format( "BAI.%03d", ItemID ), TargetSetUnit )
Task:SetTargetZone( DetectedZone )
Task:SetDispatcher( self )
Task:SetInfo( "Detection", Detection:DetectedItemReportSummary( DetectedItemID ) )
Task:SetInfo( "Changes", Detection:GetChangeText( DetectedItem ) )
BAITask = Mission:AddTask( Task )
end
end
-- OK, so the tasking has been done, now delete the changes reported for the area.
Detection:AcceptChanges( DetectedItem )
end
-- TODO set menus using the HQ coordinator local TaskReport = REPORT:New()
Mission:GetCommandCenter():SetMenu()
--- First we need to the detected targets.
for TaskGroupID, TaskGroup in pairs( self.SetGroup:GetSet() ) do for DetectedItemID, DetectedItem in pairs( Detection:GetDetectedItems() ) do
Mission:GetCommandCenter():MessageToGroup( string.format( "There are %d tasks remaining for mission *%s*. Subscribe to a task using the menu.", Mission:GetTasksRemaining(), Mission:GetName() ), TaskGroup )
if not TaskGroup:GetState( TaskGroup, "Assigned" ) then local DetectedItem = DetectedItem -- Functional.Detection#DETECTION_BASE.DetectedItem
-- Mission:GetCommandCenter():MessageToGroup( local DetectedSet = DetectedItem.Set -- Functional.Detection#DETECTION_BASE.DetectedSet
-- string.format( "HQ Reporting - Planned tasks for mission '%s':\n\n%s\n", local DetectedZone = DetectedItem.Zone
-- self.Mission:GetName(), self:E( { "Targets in DetectedItem", DetectedItem.ItemID, DetectedSet:Count(), tostring( DetectedItem ) } )
-- string.format( "%s\n\n%s\n\n%s\n\n%s", ReportSEAD:Text(), ReportCAS:Text(), ReportBAI:Text(), ReportChanges:Text() DetectedSet:Flush()
-- )
-- ), TaskGroup local ItemID = DetectedItem.ID
-- )
-- Evaluate SEAD Tasking
local SEADTask = Mission:GetTask( string.format( "SEAD.%03d", ItemID ) )
SEADTask = self:EvaluateRemoveTask( Mission, SEADTask, DetectedItem )
if not SEADTask then
local TargetSetUnit = self:EvaluateSEAD( DetectedItem ) -- Returns a SetUnit if there are targets to be SEADed...
if TargetSetUnit then
local Task = TASK_SEAD:New( Mission, self.SetGroup, string.format( "SEAD.%03d", ItemID ), TargetSetUnit )
Task:SetTargetZone( DetectedZone )
Task:SetDispatcher( self )
Task:SetInfo( "Detection", Detection:DetectedItemReportSummary( DetectedItemID ) )
Task:SetInfo( "Changes", Detection:GetChangeText( DetectedItem ) )
SEADTask = Mission:AddTask( Task )
TaskReport:Add( Task:GetName() )
end
end
-- Evaluate CAS Tasking
local CASTask = Mission:GetTask( string.format( "CAS.%03d", ItemID ) )
CASTask = self:EvaluateRemoveTask( Mission, CASTask, DetectedItem )
if not CASTask then
local TargetSetUnit = self:EvaluateCAS( DetectedItem ) -- Returns a SetUnit if there are targets to be SEADed...
if TargetSetUnit then
local Task = TASK_CAS:New( Mission, self.SetGroup, string.format( "CAS.%03d", ItemID ), TargetSetUnit )
Task:SetTargetZone( DetectedZone )
Task:SetDispatcher( self )
Task:SetInfo( "Detection", Detection:DetectedItemReportSummary( DetectedItemID ) )
Task:SetInfo( "Changes", Detection:GetChangeText( DetectedItem ) )
CASTask = Mission:AddTask( Task )
TaskReport:Add( Task:GetName() )
end
end
-- Evaluate BAI Tasking
local BAITask = Mission:GetTask( string.format( "BAI.%03d", ItemID ) )
BAITask = self:EvaluateRemoveTask( Mission, BAITask, DetectedItem )
if not BAITask then
local TargetSetUnit = self:EvaluateBAI( DetectedItem, self.Mission:GetCommandCenter():GetPositionable():GetCoalition() ) -- Returns a SetUnit if there are targets to be SEADed...
if TargetSetUnit then
local Task = TASK_BAI:New( Mission, self.SetGroup, string.format( "BAI.%03d", ItemID ), TargetSetUnit )
Task:SetTargetZone( DetectedZone )
Task:SetDispatcher( self )
Task:SetInfo( "Detection", Detection:DetectedItemReportSummary( DetectedItemID ) )
Task:SetInfo( "Changes", Detection:GetChangeText( DetectedItem ) )
BAITask = Mission:AddTask( Task )
TaskReport:Add( Task:GetName() )
end
end
-- OK, so the tasking has been done, now delete the changes reported for the area.
Detection:AcceptChanges( DetectedItem )
end end
-- TODO set menus using the HQ coordinator
Mission:GetCommandCenter():SetMenu()
for TaskGroupID, TaskGroup in pairs( self.SetGroup:GetSet() ) do
Mission:GetCommandCenter():MessageToGroup( string.format( "New task(s) %s for mission *%s*. Subscribe to a task using the Mission *Overlord* radio menu.", TaskReport:Text(", "), Mission:GetName() ), TaskGroup )
if not TaskGroup:GetState( TaskGroup, "Assigned" ) then
-- Mission:GetCommandCenter():MessageToGroup(
-- string.format( "HQ Reporting - Planned tasks for mission '%s':\n\n%s\n",
-- self.Mission:GetName(),
-- string.format( "%s\n\n%s\n\n%s\n\n%s", ReportSEAD:Text(), ReportCAS:Text(), ReportBAI:Text(), ReportChanges:Text()
-- )
-- ), TaskGroup
-- )
end
end
end end
return true return true

View File

@ -156,7 +156,6 @@ end
-- @param #GROUP self -- @param #GROUP self
-- @return Dcs.DCSWrapper.Group#Group The DCS Group. -- @return Dcs.DCSWrapper.Group#Group The DCS Group.
function GROUP:GetDCSObject() function GROUP:GetDCSObject()
self:F(self.GroupName)
local DCSGroup = Group.getByName( self.GroupName ) local DCSGroup = Group.getByName( self.GroupName )
if DCSGroup then if DCSGroup then

View File

@ -1,5 +1,5 @@
env.info( '*** MOOSE DYNAMIC INCLUDE START *** ' ) env.info( '*** MOOSE DYNAMIC INCLUDE START *** ' )
env.info( 'Moose Generation Timestamp: 20170424_1257' ) env.info( 'Moose Generation Timestamp: 20170426_1017' )
local base = _G local base = _G