Added Task Status Change Events as part of Dispatcher logic!!!! This is great!

This commit is contained in:
FlightControl_Master 2018-05-19 06:55:19 +02:00
parent d05973f487
commit d5d5d52bd5
5 changed files with 137 additions and 1 deletions

View File

@ -122,6 +122,48 @@ do -- DETECTION MANAGER
-- @function [parent=#DETECTION_MANAGER] __Stop
-- @param #DETECTION_MANAGER self
-- @param #number Delay
self:AddTransition( "Started", "Success", "Started" )
--- Success Handler OnAfter for DETECTION_MANAGER
-- @function [parent=#DETECTION_MANAGER] OnAfterSuccess
-- @param #DETECTION_MANAGER self
-- @param #string From
-- @param #string Event
-- @param #string To
-- @param Tasking.Task#TASK Task
self:AddTransition( "Started", "Failed", "Started" )
--- Failed Handler OnAfter for DETECTION_MANAGER
-- @function [parent=#DETECTION_MANAGER] OnAfterFailed
-- @param #DETECTION_MANAGER self
-- @param #string From
-- @param #string Event
-- @param #string To
-- @param Tasking.Task#TASK Task
self:AddTransition( "Started", "Aborted", "Started" )
--- Aborted Handler OnAfter for DETECTION_MANAGER
-- @function [parent=#DETECTION_MANAGER] OnAfterAborted
-- @param #DETECTION_MANAGER self
-- @param #string From
-- @param #string Event
-- @param #string To
-- @param Tasking.Task#TASK Task
self:AddTransition( "Started", "Cancelled", "Started" )
--- Cancelled Handler OnAfter for DETECTION_MANAGER
-- @function [parent=#DETECTION_MANAGER] OnAfterCancelled
-- @param #DETECTION_MANAGER self
-- @param #string From
-- @param #string Event
-- @param #string To
-- @param Tasking.Task#TASK Task
self:AddTransition( "Started", "Report", "Started" )

View File

@ -200,6 +200,7 @@ do -- TASK_A2A_DISPATCHER
self.Detection:SetRefreshTimeInterval( 30 )
self:AddTransition( "Started", "Assign", "Started" )
--- OnAfter Transition Handler for Event Assign.
-- @function [parent=#TASK_A2A_DISPATCHER] OnAfterAssign
@ -210,7 +211,7 @@ do -- TASK_A2A_DISPATCHER
-- @param Tasking.Task_A2A#TASK_A2A Task
-- @param Wrapper.Unit#UNIT TaskUnit
-- @param #string PlayerName
self:__Start( 5 )
return self
@ -561,6 +562,22 @@ do -- TASK_A2A_DISPATCHER
Task:SetTargetZone( DetectedZone, DetectedItem.Coordinate.y, DetectedItem.Coordinate.Heading )
Task:SetDispatcher( self )
Mission:AddTask( Task )
function Task.OnEnterSuccess( Task, From, Event, To )
self:Success( Task )
end
function Task.onenterCancelled( Task, From, Event, To )
self:Cancelled( Task )
end
function Task.onenterFailed( Task, From, Event, To )
self:Failed( Task )
end
function Task.onenterAborted( Task, From, Event, To )
self:Aborted( Task )
end
TaskReport:Add( Task:GetName() )
else

View File

@ -761,6 +761,23 @@ do -- TASK_A2G_DISPATCHER
Task:SetDispatcher( self )
Task:UpdateTaskInfo( DetectedItem )
Mission:AddTask( Task )
function Task.OnEnterSuccess( Task, From, Event, To )
self:Success( Task )
end
function Task.onenterCancelled( Task, From, Event, To )
self:Cancelled( Task )
end
function Task.onenterFailed( Task, From, Event, To )
self:Failed( Task )
end
function Task.onenterAborted( Task, From, Event, To )
self:Aborted( Task )
end
TaskReport:Add( Task:GetName() )
else

View File

@ -578,6 +578,24 @@ do -- TASK_CARGO_DISPATCHER
else
Transport.Task:SetDeployZones( self.DefaultDeployZones or {} )
end
function Transport.Task.OnEnterSuccess( Task, From, Event, To )
self:Success( Task )
end
function Transport.Task.onenterCancelled( Task, From, Event, To )
self:Cancelled( Task )
end
function Transport.Task.onenterFailed( Task, From, Event, To )
self:Failed( Task )
end
function Transport.Task.onenterAborted( Task, From, Event, To )
self:Aborted( Task )
end
end
end

View File

@ -111,6 +111,48 @@ do -- TASK_MANAGER
self:AddTransition( "Started", "Manage", "Started" )
self:AddTransition( "Started", "Success", "Started" )
--- Success Handler OnAfter for TASK_MANAGER
-- @function [parent=#TASK_MANAGER] OnAfterSuccess
-- @param #TASK_MANAGER self
-- @param #string From
-- @param #string Event
-- @param #string To
-- @param Tasking.Task#TASK Task
self:AddTransition( "Started", "Failed", "Started" )
--- Failed Handler OnAfter for TASK_MANAGER
-- @function [parent=#TASK_MANAGER] OnAfterFailed
-- @param #TASK_MANAGER self
-- @param #string From
-- @param #string Event
-- @param #string To
-- @param Tasking.Task#TASK Task
self:AddTransition( "Started", "Aborted", "Started" )
--- Aborted Handler OnAfter for TASK_MANAGER
-- @function [parent=#TASK_MANAGER] OnAfterAborted
-- @param #TASK_MANAGER self
-- @param #string From
-- @param #string Event
-- @param #string To
-- @param Tasking.Task#TASK Task
self:AddTransition( "Started", "Cancelled", "Started" )
--- Cancelled Handler OnAfter for TASK_MANAGER
-- @function [parent=#TASK_MANAGER] OnAfterCancelled
-- @param #TASK_MANAGER self
-- @param #string From
-- @param #string Event
-- @param #string To
-- @param Tasking.Task#TASK Task
self:SetRefreshTimeInterval( 30 )
return self