From 0702057f47eacb73ebc81793d58d85991778779f Mon Sep 17 00:00:00 2001 From: FlightControl Date: Wed, 24 May 2017 12:07:49 +0200 Subject: [PATCH] Only remove planned tasks --- .../Moose/Tasking/Task_A2A_Dispatcher.lua | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/Moose Development/Moose/Tasking/Task_A2A_Dispatcher.lua b/Moose Development/Moose/Tasking/Task_A2A_Dispatcher.lua index 2790bbc36..ca0f56050 100644 --- a/Moose Development/Moose/Tasking/Task_A2A_Dispatcher.lua +++ b/Moose Development/Moose/Tasking/Task_A2A_Dispatcher.lua @@ -309,15 +309,18 @@ do -- TASK_A2A_DISPATCHER local TaskReport = REPORT:New() -- Checking the task queue for the dispatcher, and removing any obsolete task! - for TaskIndex, Task in pairs( self.Tasks ) do - local DetectedItem = Detection:GetDetectedItem( TaskIndex ) - if not DetectedItem then - local TaskText = Task:GetName() - for TaskGroupID, TaskGroup in pairs( self.SetGroup:GetSet() ) do - Mission:GetCommandCenter():MessageToGroup( string.format( "Obsolete A2A task %s for %s removed.", TaskText, Mission:GetName() ), TaskGroup ) + for TaskIndex, TaskData in pairs( self.Tasks ) do + local Task = TaskData -- Tasking.Task#TASK + if Task:IsStatePlanned() then + local DetectedItem = Detection:GetDetectedItem( TaskIndex ) + if not DetectedItem then + local TaskText = Task:GetName() + for TaskGroupID, TaskGroup in pairs( self.SetGroup:GetSet() ) do + Mission:GetCommandCenter():MessageToGroup( string.format( "Obsolete A2A task %s for %s removed.", TaskText, Mission:GetName() ), TaskGroup ) + end + Mission:RemoveTask( Task ) + self.Tasks[TaskIndex] = nil end - Mission:RemoveTask( Task ) - self.Tasks[TaskIndex] = nil end end