Module Task_A2A_Dispatcher

Tasking - The TASKA2ADISPATCHER creates and manages player TASK_A2A tasks based on detected targets.


1) #TASKA2ADISPATCHER class, extends #DETECTION_MANAGER

The #TASKA2ADISPATCHER class implements the dynamic dispatching of tasks upon groups of detected units determined a Set of EWR installation groups. The EWR will detect units, will group them, and will dispatch Tasks to groups. Depending on the type of target detected, different tasks will be dispatched. Find a summary below describing for which situation a task type is created:

  • INTERCEPT Task: Is created when the target is known, is detected and within a danger zone, and there is no friendly airborne in range.
  • SWEEP Task: Is created when the target is unknown, was detected and the last position is only known, and within a danger zone, and there is no friendly airborne in range.
  • ENGAGE Task: Is created when the target is known, is detected and within a danger zone, and there is a friendly airborne in range, that will receive this task.

Other task types will follow...

3.1) TASKA2ADISPATCHER constructor:

The TASKA2ADISPATCHER.New() method creates a new TASKA2ADISPATCHER instance.


API CHANGE HISTORY

The underlying change log documents the API changes. Please read this carefully. The following notation is used:

  • Added parts are expressed in bold type face.
  • Removed parts are expressed in italic type face.

Hereby the change log:


AUTHORS and CONTRIBUTIONS

Contributions:

Authors:

  • FlightControl: Concept, Design & Programming.

Global(s)

TASK_A2A_DISPATCHER

Type TASK_A2A_DISPATCHER

TASK_A2A_DISPATCHER.ClassName
TASK_A2A_DISPATCHER.Detection

The DETECTION_BASE object that is used to report the detected objects. The Detection object will only function in RADAR mode!!!

TASK_A2A_DISPATCHER:EvaluateENGAGE(DetectedItem)

Creates an ENGAGE task when there are human friendlies airborne near the targets.

TASK_A2A_DISPATCHER:EvaluateINTERCEPT(DetectedItem)

Creates an INTERCEPT task when there are targets for it.

TASK_A2A_DISPATCHER:EvaluateRemoveTask(Mission, Task, Detection, DetectedItemID, DetectedItemChange, DetectedItem, DetectedItemChanged)

Evaluates the removal of the Task from the Mission.

TASK_A2A_DISPATCHER:GetFriendliesNearBy(DetectedItem)

Calculates which friendlies are nearby the area

TASK_A2A_DISPATCHER:GetPlayerFriendliesNearBy(DetectedItem)

Calculates which HUMAN friendlies are nearby the area

TASK_A2A_DISPATCHER.Mission
TASK_A2A_DISPATCHER:New(Mission, SetGroup, Detection)

TASKA2ADISPATCHER constructor.

TASK_A2A_DISPATCHER:OnAfterAssign(From, Event, To, Task, TaskUnit, PlayerName)

OnAfter Transition Handler for Event Assign.

TASK_A2A_DISPATCHER:ProcessDetected(Detection)

Assigns tasks in relation to the detected items to the Set#SET_GROUP.

TASK_A2A_DISPATCHER.SetGroup

The groups to which the FAC will report to.

TASK_A2A_DISPATCHER.Tasks

Global(s)

#TASK_A2A_DISPATCHER TASK_A2A_DISPATCHER

Type Task_A2A_Dispatcher

Type TASK_A2A_DISPATCHER

TASKA2ADISPATCHER class.

Field(s)

#string TASK_A2A_DISPATCHER.ClassName
Functional.Detection#DETECTION_BASE TASK_A2A_DISPATCHER.Detection

The DETECTION_BASE object that is used to report the detected objects. The Detection object will only function in RADAR mode!!!

TASK_A2A_DISPATCHER:EvaluateENGAGE(DetectedItem)

Creates an ENGAGE task when there are human friendlies airborne near the targets.

Parameter

Return values

  1. Set#SET_UNIT: TargetSetUnit: The target set of units.

  2. #nil: If there are no targets to be set.

TASK_A2A_DISPATCHER:EvaluateINTERCEPT(DetectedItem)

Creates an INTERCEPT task when there are targets for it.

Parameter

Return values

  1. Set#SET_UNIT: TargetSetUnit: The target set of units.

  2. #nil: If there are no targets to be set.

TASK_A2A_DISPATCHER:EvaluateRemoveTask(Mission, Task, Detection, DetectedItemID, DetectedItemChange, DetectedItem, DetectedItemChanged)

Evaluates the removal of the Task from the Mission.

Can only occur when the DetectedItem is Changed AND the state of the Task is "Planned".

Parameters

Return value

Tasking.Task#TASK:

TASK_A2A_DISPATCHER:GetFriendliesNearBy(DetectedItem)

Calculates which friendlies are nearby the area

Parameter

  • DetectedItem :

Return value

#number, Core.CommandCenter#REPORT:

TASK_A2A_DISPATCHER:GetPlayerFriendliesNearBy(DetectedItem)

Calculates which HUMAN friendlies are nearby the area

Parameter

  • DetectedItem :

Return value

#number, Core.CommandCenter#REPORT:

Tasking.Mission#MISSION TASK_A2A_DISPATCHER.Mission
TASK_A2A_DISPATCHER:New(Mission, SetGroup, Detection)

TASKA2ADISPATCHER constructor.

Parameters

Return value

#TASKA2ADISPATCHER: self

TASK_A2A_DISPATCHER:OnAfterAssign(From, Event, To, Task, TaskUnit, PlayerName)

OnAfter Transition Handler for Event Assign.

Parameters

TASK_A2A_DISPATCHER:ProcessDetected(Detection)

Assigns tasks in relation to the detected items to the Set#SET_GROUP.

Parameter

Return value

#boolean: Return true if you want the task assigning to continue... false will cancel the loop.

Set#SET_GROUP TASK_A2A_DISPATCHER.SetGroup

The groups to which the FAC will report to.

TASK_A2A_DISPATCHER.Tasks