Merge docu changes (#1818)

* Documentation fixes. (#1810)

Fix documentation references.
Correct spelling errors.
Remove empty whitespaces.
Correct a single mis-spelled ZONE_BASE variable, see 'Core/Zone.lua' (variable "Sureface" -> "Surface", no references to mis-spelled "Sureface" throughout the codebase).
Correct mis-spelling of "coaltion" in 'Functional/Mantis.lua', corrected to "coalition".

* Documentation fixes. (#1811)

Update documentation text and links.
Fix spelling errors.
Other minor adjustments where appropriate, such as remove whitespaces and format code.

* Documentation fixes. (#1815)

Minor documentation and code formatting fixes.
This is mostly intended to have something re-trigger the documentation generation to see if the filename capitalization is resolved.

* Code formatting preparation. (#1817)

Use EmmyLuaCodeStyle that comes with "Lua" VS Code extension (https://marketplace.visualstudio.com/items?itemName=sumneko.lua). More features and configurability than LuaFormatter, and no need for additional extension (beyond "Lua").
Formatting file set up from default template with some tweaks to correspond to most common coding style observed in the code base. Further tweaks are likely required.

* Documentation fixes. (#1816)

Co-authored-by: TommyC81 <tommyc81@gmail.com>
This commit is contained in:
Thomas
2022-10-29 10:49:18 +02:00
committed by GitHub
parent 1411309204
commit 946a1de931
67 changed files with 924 additions and 895 deletions

View File

@@ -342,7 +342,7 @@ do -- DETECTION_REPORTING
return self
end
--- Creates a string of the detected items in a @{Detection}.
--- Creates a string of the detected items in a @{Functional.Detection} object.
-- @param #DETECTION_MANAGER self
-- @param Core.Set#SET_UNIT DetectedSet The detected Set created by the @{Functional.Detection#DETECTION_BASE} object.
-- @return #DETECTION_MANAGER self

View File

@@ -86,7 +86,7 @@
-- - @{#MISSION.GetTasks}(): Retrieves a list of the tasks controlled by the mission.
-- - @{#MISSION.GetTask}(): Retrieves a specific task controlled by the mission.
-- - @{#MISSION.GetTasksRemaining}(): Retrieve a list of the tasks that aren't finished or failed, and are governed by the mission.
-- - @{#MISSION.GetGroupTasks}(): Retrieve a list of the tasks that can be asigned to a @{Wrapper.Group}.
-- - @{#MISSION.GetGroupTasks}(): Retrieve a list of the tasks that can be assigned to a @{Wrapper.Group}.
-- - @{#MISSION.GetTaskTypes}(): Retrieve a list of the different task types governed by the mission.
--
-- ### 3.3. Get the command center.
@@ -131,7 +131,7 @@ MISSION = {
-- @param Tasking.CommandCenter#COMMANDCENTER CommandCenter
-- @param #string MissionName Name of the mission. This name will be used to reference the status of each mission by the players.
-- @param #string MissionPriority String indicating the "priority" of the Mission. e.g. "Primary", "Secondary". It is free format and up to the Mission designer to choose. There are no rules behind this field.
-- @param #string MissionBriefing String indicating the mission briefing to be shown when a player joins a @{CLIENT}.
-- @param #string MissionBriefing String indicating the mission briefing to be shown when a player joins a @{Wrapper.Client#CLIENT}.
-- @param DCS#coalition.side MissionCoalition Side of the coalition, i.e. and enumerator @{#DCS.coalition.side} corresponding to RED, BLUE or NEUTRAL.
-- @return #MISSION self
function MISSION:New( CommandCenter, MissionName, MissionPriority, MissionBriefing, MissionCoalition )
@@ -543,7 +543,7 @@ end
do -- Group Assignment
--- Returns if the @{Mission} is assigned to the Group.
--- Returns if the @{Tasking.Mission} is assigned to the Group.
-- @param #MISSION self
-- @param Wrapper.Group#GROUP MissionGroup
-- @return #boolean
@@ -561,7 +561,7 @@ do -- Group Assignment
end
--- Set @{Wrapper.Group} assigned to the @{Mission}.
--- Set @{Wrapper.Group} assigned to the @{Tasking.Mission}.
-- @param #MISSION self
-- @param Wrapper.Group#GROUP MissionGroup
-- @return #MISSION
@@ -576,7 +576,7 @@ do -- Group Assignment
return self
end
--- Clear the @{Wrapper.Group} assignment from the @{Mission}.
--- Clear the @{Wrapper.Group} assignment from the @{Tasking.Mission}.
-- @param #MISSION self
-- @param Wrapper.Group#GROUP MissionGroup
-- @return #MISSION
@@ -667,7 +667,7 @@ end
--- Get the TASK identified by the TaskNumber from the Mission. This function is useful in GoalFunctions.
-- @param #string TaskName The Name of the @{Task} within the @{Mission}.
-- @param #string TaskName The Name of the @{Tasking.Task} within the @{Tasking.Mission}.
-- @return Tasking.Task#TASK The Task
-- @return #nil Returns nil if no task was found.
function MISSION:GetTask( TaskName )
@@ -677,9 +677,9 @@ function MISSION:GetTask( TaskName )
end
--- Return the next @{Task} ID to be completed within the @{Mission}.
--- Return the next @{Tasking.Task} ID to be completed within the @{Tasking.Mission}.
-- @param #MISSION self
-- @param Tasking.Task#TASK Task is the @{Task} object.
-- @param Tasking.Task#TASK Task is the @{Tasking.Task} object.
-- @return Tasking.Task#TASK The task added.
function MISSION:GetNextTaskID( Task )
@@ -689,11 +689,11 @@ function MISSION:GetNextTaskID( Task )
end
--- Register a @{Task} to be completed within the @{Mission}.
-- Note that there can be multiple @{Task}s registered to be completed.
--- Register a @{Tasking.Task} to be completed within the @{Tasking.Mission}.
-- Note that there can be multiple @{Tasking.Task}s registered to be completed.
-- Each Task can be set a certain Goals. The Mission will not be completed until all Goals are reached.
-- @param #MISSION self
-- @param Tasking.Task#TASK Task is the @{Task} object.
-- @param Tasking.Task#TASK Task is the @{Tasking.Task} object.
-- @return Tasking.Task#TASK The task added.
function MISSION:AddTask( Task )
@@ -708,11 +708,11 @@ function MISSION:AddTask( Task )
end
--- Removes a @{Task} to be completed within the @{Mission}.
-- Note that there can be multiple @{Task}s registered to be completed.
--- Removes a @{Tasking.Task} to be completed within the @{Tasking.Mission}.
-- Note that there can be multiple @{Tasking.Task}s registered to be completed.
-- Each Task can be set a certain Goals. The Mission will not be completed until all Goals are reached.
-- @param #MISSION self
-- @param Tasking.Task#TASK Task is the @{Task} object.
-- @param Tasking.Task#TASK Task is the @{Tasking.Task} object.
-- @return #nil The cleaned Task reference.
function MISSION:RemoveTask( Task )
@@ -733,35 +733,35 @@ function MISSION:RemoveTask( Task )
return nil
end
--- Is the @{Mission} **COMPLETED**.
--- Is the @{Tasking.Mission} **COMPLETED**.
-- @param #MISSION self
-- @return #boolean
function MISSION:IsCOMPLETED()
return self:Is( "COMPLETED" )
end
--- Is the @{Mission} **IDLE**.
--- Is the @{Tasking.Mission} **IDLE**.
-- @param #MISSION self
-- @return #boolean
function MISSION:IsIDLE()
return self:Is( "IDLE" )
end
--- Is the @{Mission} **ENGAGED**.
--- Is the @{Tasking.Mission} **ENGAGED**.
-- @param #MISSION self
-- @return #boolean
function MISSION:IsENGAGED()
return self:Is( "ENGAGED" )
end
--- Is the @{Mission} **FAILED**.
--- Is the @{Tasking.Mission} **FAILED**.
-- @param #MISSION self
-- @return #boolean
function MISSION:IsFAILED()
return self:Is( "FAILED" )
end
--- Is the @{Mission} **HOLD**.
--- Is the @{Tasking.Mission} **HOLD**.
-- @param #MISSION self
-- @return #boolean
function MISSION:IsHOLD()
@@ -1105,7 +1105,7 @@ function MISSION:ReportDetails( ReportGroup )
end
--- Get all the TASKs from the Mission. This function is useful in GoalFunctions.
-- @return {TASK,...} Structure of TASKS with the @{TASK} number as the key.
-- @return {TASK,...} Structure of TASKS with the @{Tasking.Task#TASK} number as the key.
-- @usage
-- -- Get Tasks from the Mission.
-- Tasks = Mission:GetTasks()

View File

@@ -38,7 +38,7 @@
--
-- A mission can be in a specific state during the simulation run. For more information about these states, please check the @{Tasking.Mission} section.
--
-- To achieve the mission goal, a mission administers @{Tasking.Task}s that are set to achieve the mission goal by the human players.
-- To achieve the mission goal, a mission administers @{#TASK}s that are set to achieve the mission goal by the human players.
-- Each of these tasks can be **dynamically created** using a task dispatcher, or **coded** by the mission designer.
-- Each mission has a separate **Mission Menu**, that focuses on the administration of these tasks.
--
@@ -143,7 +143,7 @@
--
-- ![Command Center](../Tasking/Menu_CommandCenter.JPG)
--
-- When we take back the command center menu, you see two addtional **Assign Task** menu items.
-- When we take back the command center menu, you see two additional **Assign Task** menu items.
-- The menu **Assign Task On** will automatically allocate a task to the player.
-- After the selection of this menu, the menu will change into **Assign Task Off**,
-- and will need to be selected again by the player to switch of the automatic task assignment.
@@ -190,7 +190,7 @@
--
-- The state completion is by default set to **Success**, if the goals of the task have been reached, but can be overruled by a goal method.
--
-- Depending on the tactical situation, a task can be **Cancelled** by the mission governer.
-- Depending on the tactical situation, a task can be **Cancelled** by the mission governor.
-- It is actually the mission designer who has the flexibility to decide at which conditions a task would be set to **Success**, **Failed** or **Cancelled**.
-- This decision all depends on the task goals, and the phase/evolution of the task conditions that would accomplish the goals.
--
@@ -199,16 +199,16 @@
-- However, it could very well be also acceptable that the task would be flagged as **Success**.
--
-- The tasking mechanism governs beside the progress also a scoring mechanism, and in case of goal completion without any active pilot involved
-- in the execution of the task, could result in a **Success** task completion status, but no score would be awared, as there were no players involved.
-- in the execution of the task, could result in a **Success** task completion status, but no score would be awarded, as there were no players involved.
--
-- These different completion states are important for the mission designer to reflect scoring to a player.
-- A success could mean a positive score to be given, while a failure could mean a negative score or penalties to be awarded.
--
-- ===
--
-- ### Author: **FlightControl**
-- ### Author(s): **FlightControl**
--
-- ### Contributions:
-- ### Contribution(s):
--
-- ===
--
@@ -293,7 +293,7 @@
--
-- function Task:OnAfterGoal()
-- if condition == true then
-- self:Success() -- This will flag the task to Succcess when the condition is true.
-- self:Success() -- This will flag the task to Success when the condition is true.
-- else
-- if condition2 == true and condition3 == true then
-- self:Fail() -- This will flag the task to Failed, when condition2 and condition3 would be true.
@@ -732,7 +732,7 @@ end
do -- Group Assignment
--- Returns if the @{Task} is assigned to the Group.
--- Returns if the @{#TASK} is assigned to the Group.
-- @param #TASK self
-- @param Wrapper.Group#GROUP TaskGroup
-- @return #boolean
@@ -750,7 +750,7 @@ do -- Group Assignment
end
--- Set @{Wrapper.Group} assigned to the @{Task}.
--- Set @{Wrapper.Group} assigned to the @{#TASK}.
-- @param #TASK self
-- @param Wrapper.Group#GROUP TaskGroup
-- @return #TASK
@@ -780,7 +780,7 @@ do -- Group Assignment
return self
end
--- Clear the @{Wrapper.Group} assignment from the @{Task}.
--- Clear the @{Wrapper.Group} assignment from the @{#TASK}.
-- @param #TASK self
-- @param Wrapper.Group#GROUP TaskGroup
-- @return #TASK
@@ -824,7 +824,7 @@ do -- Group Assignment
end
--- Assign the @{Task} to a @{Wrapper.Group}.
--- Assign the @{#TASK} to a @{Wrapper.Group}.
-- @param #TASK self
-- @param Wrapper.Group#GROUP TaskGroup
-- @return #TASK
@@ -861,7 +861,7 @@ do -- Group Assignment
return self
end
--- UnAssign the @{Task} from a @{Wrapper.Group}.
--- UnAssign the @{#TASK} from a @{Wrapper.Group}.
-- @param #TASK self
-- @param Wrapper.Group#GROUP TaskGroup
function TASK:UnAssignFromGroup( TaskGroup )
@@ -899,7 +899,7 @@ function TASK:HasGroup( FindGroup )
end
--- Assign the @{Task} to an alive @{Wrapper.Unit}.
--- Assign the @{#TASK} to an alive @{Wrapper.Unit}.
-- @param #TASK self
-- @param Wrapper.Unit#UNIT TaskUnit
-- @return #TASK self
@@ -918,7 +918,7 @@ function TASK:AssignToUnit( TaskUnit )
return self
end
--- UnAssign the @{Task} from an alive @{Wrapper.Unit}.
--- UnAssign the @{#TASK} from an alive @{Wrapper.Unit}.
-- @param #TASK self
-- @param Wrapper.Unit#UNIT TaskUnit
-- @return #TASK self
@@ -932,7 +932,7 @@ function TASK:UnAssignFromUnit( TaskUnit )
return self
end
--- Sets the TimeOut for the @{Task}. If @{Task} stayed planned for longer than TimeOut, it gets into Cancelled status.
--- Sets the TimeOut for the @{#TASK}. If @{#TASK} stayed planned for longer than TimeOut, it gets into Cancelled status.
-- @param #TASK self
-- @param #integer Timer in seconds
-- @return #TASK self
@@ -943,7 +943,7 @@ function TASK:SetTimeOut ( Timer )
return self
end
--- Send a message of the @{Task} to the assigned @{Wrapper.Group}s.
--- Send a message of the @{#TASK} to the assigned @{Wrapper.Group}s.
-- @param #TASK self
function TASK:MessageToGroups( Message )
self:F( { Message = Message } )
@@ -960,7 +960,7 @@ function TASK:MessageToGroups( Message )
end
--- Send the briefng message of the @{Task} to the assigned @{Wrapper.Group}s.
--- Send the briefing message of the @{#TASK} to the assigned @{Wrapper.Group}s.
-- @param #TASK self
function TASK:SendBriefingToAssignedGroups()
self:F2()
@@ -975,7 +975,7 @@ function TASK:SendBriefingToAssignedGroups()
end
--- UnAssign the @{Task} from the @{Wrapper.Group}s.
--- UnAssign the @{#TASK} from the @{Wrapper.Group}s.
-- @param #TASK self
function TASK:UnAssignFromGroups()
self:F2()
@@ -991,7 +991,7 @@ end
--- Returns if the @{Task} has still alive and assigned Units.
--- Returns if the @{#TASK} has still alive and assigned Units.
-- @param #TASK self
-- @return #boolean
function TASK:HasAliveUnits()
@@ -1016,7 +1016,7 @@ function TASK:HasAliveUnits()
return false
end
--- Set the menu options of the @{Task} to all the groups in the SetGroup.
--- Set the menu options of the @{#TASK} to all the groups in the SetGroup.
-- @param #TASK self
-- @param #number MenuTime
-- @return #TASK
@@ -1057,7 +1057,7 @@ function TASK:SetMenuForGroup( TaskGroup, MenuTime )
end
--- Set the planned menu option of the @{Task}.
--- Set the planned menu option of the @{#TASK}.
-- @param #TASK self
-- @param Wrapper.Group#GROUP TaskGroup
-- @param #string MenuText The menu text.
@@ -1092,7 +1092,7 @@ function TASK:SetPlannedMenuForGroup( TaskGroup, MenuTime )
return self
end
--- Set the assigned menu options of the @{Task}.
--- Set the assigned menu options of the @{#TASK}.
-- @param #TASK self
-- @param Wrapper.Group#GROUP TaskGroup
-- @param #number MenuTime
@@ -1127,7 +1127,7 @@ function TASK:SetAssignedMenuForGroup( TaskGroup, MenuTime )
return self
end
--- Remove the menu options of the @{Task} to all the groups in the SetGroup.
--- Remove the menu options of the @{#TASK} to all the groups in the SetGroup.
-- @param #TASK self
-- @param #number MenuTime
-- @return #TASK
@@ -1145,7 +1145,7 @@ function TASK:RemoveMenu( MenuTime )
end
--- Remove the menu option of the @{Task} for a @{Wrapper.Group}.
--- Remove the menu option of the @{#TASK} for a @{Wrapper.Group}.
-- @param #TASK self
-- @param Wrapper.Group#GROUP TaskGroup
-- @param #number MenuTime
@@ -1176,7 +1176,7 @@ function TASK:RefreshMenus( TaskGroup, MenuTime )
end
--- Remove the assigned menu option of the @{Task} for a @{Wrapper.Group}.
--- Remove the assigned menu option of the @{#TASK} for a @{Wrapper.Group}.
-- @param #TASK self
-- @param Wrapper.Group#GROUP TaskGroup
-- @param #number MenuTime
@@ -1275,14 +1275,14 @@ end
--- Returns the @{Task} name.
--- Returns the @{#TASK} name.
-- @param #TASK self
-- @return #string TaskName
function TASK:GetTaskName()
return self.TaskName
end
--- Returns the @{Task} briefing.
--- Returns the @{#TASK} briefing.
-- @param #TASK self
-- @return #string Task briefing.
function TASK:GetTaskBriefing()
@@ -1292,7 +1292,7 @@ end
--- Get the default or currently assigned @{Process} template with key ProcessName.
--- Get the default or currently assigned @{Core.Fsm#FSM_PROCESS} template with key ProcessName.
-- @param #TASK self
-- @param #string ProcessName
-- @return Core.Fsm#FSM_PROCESS
@@ -1305,8 +1305,8 @@ end
-- TODO: Obscolete?
--- Fail processes from @{Task} with key @{Wrapper.Unit}
-- TODO: Obsolete?
--- Fail processes from @{#TASK} with key @{Wrapper.Unit}.
-- @param #TASK self
-- @param #string TaskUnitName
-- @return #TASK self
@@ -1318,7 +1318,7 @@ function TASK:FailProcesses( TaskUnitName )
end
end
--- Add a FiniteStateMachine to @{Task} with key Task@{Wrapper.Unit}
--- Add a FiniteStateMachine to @{#TASK} with key @{Wrapper.Unit}.
-- @param #TASK self
-- @param Wrapper.Unit#UNIT TaskUnit
-- @param Core.Fsm#FSM_PROCESS Fsm
@@ -1331,7 +1331,7 @@ function TASK:SetStateMachine( TaskUnit, Fsm )
return Fsm
end
--- Gets the FiniteStateMachine of @{Task} with key Task@{Wrapper.Unit}
--- Gets the FiniteStateMachine of @{#TASK} with key @{Wrapper.Unit}.
-- @param #TASK self
-- @param Wrapper.Unit#UNIT TaskUnit
-- @return Core.Fsm#FSM_PROCESS
@@ -1341,7 +1341,7 @@ function TASK:GetStateMachine( TaskUnit )
return self.Fsm[TaskUnit]
end
--- Remove FiniteStateMachines from @{Task} with key Task@{Wrapper.Unit}
--- Remove FiniteStateMachines from @{#TASK} with key @{Wrapper.Unit}.
-- @param #TASK self
-- @param Wrapper.Unit#UNIT TaskUnit
-- @return #TASK self
@@ -1365,7 +1365,7 @@ function TASK:RemoveStateMachine( TaskUnit )
end
--- Checks if there is a FiniteStateMachine assigned to Task@{Wrapper.Unit} for @{Task}
--- Checks if there is a FiniteStateMachine assigned to @{Wrapper.Unit} for @{#TASK}.
-- @param #TASK self
-- @param Wrapper.Unit#UNIT TaskUnit
-- @return #TASK self
@@ -1438,117 +1438,117 @@ function TASK:GetID()
end
--- Sets a @{Task} to status **Success**.
--- Sets a @{#TASK} to status **Success**.
-- @param #TASK self
function TASK:StateSuccess()
self:SetState( self, "State", "Success" )
return self
end
--- Is the @{Task} status **Success**.
--- Is the @{#TASK} status **Success**.
-- @param #TASK self
function TASK:IsStateSuccess()
return self:Is( "Success" )
end
--- Sets a @{Task} to status **Failed**.
--- Sets a @{#TASK} to status **Failed**.
-- @param #TASK self
function TASK:StateFailed()
self:SetState( self, "State", "Failed" )
return self
end
--- Is the @{Task} status **Failed**.
--- Is the @{#TASK} status **Failed**.
-- @param #TASK self
function TASK:IsStateFailed()
return self:Is( "Failed" )
end
--- Sets a @{Task} to status **Planned**.
--- Sets a @{#TASK} to status **Planned**.
-- @param #TASK self
function TASK:StatePlanned()
self:SetState( self, "State", "Planned" )
return self
end
--- Is the @{Task} status **Planned**.
--- Is the @{#TASK} status **Planned**.
-- @param #TASK self
function TASK:IsStatePlanned()
return self:Is( "Planned" )
end
--- Sets a @{Task} to status **Aborted**.
--- Sets a @{#TASK} to status **Aborted**.
-- @param #TASK self
function TASK:StateAborted()
self:SetState( self, "State", "Aborted" )
return self
end
--- Is the @{Task} status **Aborted**.
--- Is the @{#TASK} status **Aborted**.
-- @param #TASK self
function TASK:IsStateAborted()
return self:Is( "Aborted" )
end
--- Sets a @{Task} to status **Cancelled**.
--- Sets a @{#TASK} to status **Cancelled**.
-- @param #TASK self
function TASK:StateCancelled()
self:SetState( self, "State", "Cancelled" )
return self
end
--- Is the @{Task} status **Cancelled**.
--- Is the @{#TASK} status **Cancelled**.
-- @param #TASK self
function TASK:IsStateCancelled()
return self:Is( "Cancelled" )
end
--- Sets a @{Task} to status **Assigned**.
--- Sets a @{#TASK} to status **Assigned**.
-- @param #TASK self
function TASK:StateAssigned()
self:SetState( self, "State", "Assigned" )
return self
end
--- Is the @{Task} status **Assigned**.
--- Is the @{#TASK} status **Assigned**.
-- @param #TASK self
function TASK:IsStateAssigned()
return self:Is( "Assigned" )
end
--- Sets a @{Task} to status **Hold**.
--- Sets a @{#TASK} to status **Hold**.
-- @param #TASK self
function TASK:StateHold()
self:SetState( self, "State", "Hold" )
return self
end
--- Is the @{Task} status **Hold**.
--- Is the @{#TASK} status **Hold**.
-- @param #TASK self
function TASK:IsStateHold()
return self:Is( "Hold" )
end
--- Sets a @{Task} to status **Replanned**.
--- Sets a @{#TASK} to status **Replanned**.
-- @param #TASK self
function TASK:StateReplanned()
self:SetState( self, "State", "Replanned" )
return self
end
--- Is the @{Task} status **Replanned**.
--- Is the @{#TASK} status **Replanned**.
-- @param #TASK self
function TASK:IsStateReplanned()
return self:Is( "Replanned" )
end
--- Gets the @{Task} status.
--- Gets the @{#TASK} status.
-- @param #TASK self
function TASK:GetStateString()
return self:GetState( self, "State" )
end
--- Sets a @{Task} briefing.
--- Sets a @{#TASK} briefing.
-- @param #TASK self
-- @param #string TaskBriefing
-- @return #TASK self
@@ -1558,7 +1558,7 @@ function TASK:SetBriefing( TaskBriefing )
return self
end
--- Gets the @{Task} briefing.
--- Gets the @{#TASK} briefing.
-- @param #TASK self
-- @return #string The briefing text.
function TASK:GetBriefing()

View File

@@ -18,7 +18,7 @@ do -- TASK_A2A
-- @field Core.Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK
--- Defines Air To Air tasks for a @{Set} of Target Units,
--- Defines Air To Air tasks for a @{Core.Set} of Target Units,
-- based on the tasking capabilities defined in @{Tasking.Task#TASK}.
-- The TASK_A2A is implemented using a @{Core.Fsm#FSM_TASK}, and has the following statuses:
--

View File

@@ -29,11 +29,11 @@ do -- TASK_A2A_DISPATCHER
-- @type TASK_A2A_DISPATCHER
-- @extends Tasking.DetectionManager#DETECTION_MANAGER
--- Orchestrates the dynamic dispatching of tasks upon groups of detected units determined a @{Set} of EWR installation groups.
--- Orchestrates the dynamic dispatching of tasks upon groups of detected units determined a @{Core.Set} of EWR installation groups.
--
-- ![Banner Image](..\Presentations\TASK_A2A_DISPATCHER\Dia3.JPG)
--
-- The EWR will detect units, will group them, and will dispatch @{Task}s to groups. Depending on the type of target detected, different tasks will be dispatched.
-- The EWR will detect units, will group them, and will dispatch @{Tasking.Task}s 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:
--
-- ![Banner Image](..\Presentations\TASK_A2A_DISPATCHER\Dia9.JPG)
@@ -140,7 +140,7 @@ do -- TASK_A2A_DISPATCHER
--
-- ## 4. Set **Scoring** and **Messages**:
--
-- The TASK\_A2A\_DISPATCHER is a state machine. It triggers the event Assign when a new player joins a @{Task} dispatched by the TASK\_A2A\_DISPATCHER.
-- The TASK\_A2A\_DISPATCHER is a state machine. It triggers the event Assign when a new player joins a @{Tasking.Task} dispatched by the TASK\_A2A\_DISPATCHER.
-- An _event handler_ can be defined to catch the **Assign** event, and add **additional processing** to set _scoring_ and to _define messages_,
-- when the player reaches certain achievements in the task.
--

View File

@@ -18,7 +18,7 @@ do -- TASK_A2G
-- @field Core.Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK
--- The TASK_A2G class defines Air To Ground tasks for a @{Set} of Target Units,
--- The TASK_A2G class defines Air To Ground tasks for a @{Core.Set} of Target Units,
-- based on the tasking capabilities defined in @{Tasking.Task#TASK}.
-- The TASK_A2G is implemented using a @{Core.Fsm#FSM_TASK}, and has the following statuses:
--

View File

@@ -32,17 +32,17 @@ do -- TASK_A2G_DISPATCHER
-- @field Tasking.Mission#MISSION Mission
-- @extends Tasking.DetectionManager#DETECTION_MANAGER
--- Orchestrates dynamic **A2G Task Dispatching** based on the detection results of a linked @{Detection} object.
--- Orchestrates dynamic **A2G Task Dispatching** based on the detection results of a linked @{Functional.Detection} object.
--
-- It uses the Tasking System within the MOOSE framework, which is a multi-player Tasking Orchestration system.
-- It provides a truly dynamic battle environment for pilots and ground commanders to engage upon,
-- in a true co-operation environment wherein **Multiple Teams** will collaborate in Missions to **achieve a common Mission Goal**.
--
-- The A2G dispatcher will dispatch the A2G Tasks to a defined @{Set} of @{Wrapper.Group}s that will be manned by **Players**.
-- We call this the **AttackSet** of the A2G dispatcher. So, the Players are seated in the @{Client}s of the @{Wrapper.Group} @{Set}.
-- The A2G dispatcher will dispatch the A2G Tasks to a defined @{Core.Set} of @{Wrapper.Group}s that will be manned by **Players**.
-- We call this the **AttackSet** of the A2G dispatcher. So, the Players are seated in the @{Wrapper.Client}s of the @{Wrapper.Group} @{Core.Set}.
--
-- Depending on the actions of the enemy, preventive tasks are dispatched to the players to orchestrate the engagement in a true co-operation.
-- The detection object will group the detected targets by its grouping method, and integrates a @{Set} of @{Wrapper.Group}s that are Recce vehicles or air units.
-- The detection object will group the detected targets by its grouping method, and integrates a @{Core.Set} of @{Wrapper.Group}s that are Recce vehicles or air units.
-- We call this the **RecceSet** of the A2G dispatcher.
--
-- Depending on the current detected tactical situation, different task types will be dispatched to the Players seated in the AttackSet..
@@ -108,7 +108,7 @@ do -- TASK_A2G_DISPATCHER
--
-- # 1. Player Experience
--
-- The A2G dispatcher is residing under a @{CommandCenter}, which is orchestrating a @{Mission}.
-- The A2G dispatcher is residing under a @{Tasking.CommandCenter}, which is orchestrating a @{Tasking.Mission}.
-- As a result, you'll find for DCS World missions that implement the A2G dispatcher a **Command Center Menu** and under this one or more **Mission Menus**.
--
-- For example, if there are 2 Command Centers (CC).
@@ -384,12 +384,12 @@ do -- TASK_A2G_DISPATCHER
--
-- To use the TASK\_A2G\_DISPATCHER class, you need:
--
-- - A @{CommandCenter} object. The master communication channel.
-- - A @{Mission} object. Each task belongs to a Mission.
-- - A @{Detection} object. There are several detection grouping methods to choose from.
-- - A @{Task_A2G_Dispatcher} object. The master A2G task dispatcher.
-- - A @{Set} of @{Wrapper.Group} objects that will detect the enemy, the RecceSet. This is attached to the @{Detection} object.
-- - A @{Set} ob @{Wrapper.Group} objects that will attack the enemy, the AttackSet. This is attached to the @{Task_A2G_Dispatcher} object.
-- - A @{Tasking.CommandCenter} object. The master communication channel.
-- - A @{Tasking.Mission} object. Each task belongs to a Mission.
-- - A @{Functional.Detection} object. There are several detection grouping methods to choose from.
-- - A @{Tasking.Task_A2G_Dispatcher} object. The master A2G task dispatcher.
-- - A @{Core.Set} of @{Wrapper.Group} objects that will detect the enemy, the RecceSet. This is attached to the @{Functional.Detection} object.
-- - A @{Core.Set} of @{Wrapper.Group} objects that will attack the enemy, the AttackSet. This is attached to the @{Tasking.Task_A2G_Dispatcher} object.
--
-- Below an example mission declaration that is defines a Task A2G Dispatcher object.
--

View File

@@ -33,7 +33,7 @@
-- @image MOOSE.JPG
do -- TASK_MANAGER
--- TASK_MANAGER class.
-- @type TASK_MANAGER
-- @field Core.Set#SET_GROUP SetGroup The set of group objects containing players for which tasks are managed.
@@ -42,21 +42,21 @@ do -- TASK_MANAGER
ClassName = "TASK_MANAGER",
SetGroup = nil,
}
--- TASK\_MANAGER constructor.
-- @param #TASK_MANAGER self
-- @param Core.Set#SET_GROUP SetGroup The set of group objects containing players for which tasks are managed.
-- @return #TASK_MANAGER self
function TASK_MANAGER:New( SetGroup )
-- Inherits from BASE
local self = BASE:Inherit( self, FSM:New() ) -- #TASK_MANAGER
self.SetGroup = SetGroup
self:SetStartState( "Stopped" )
self:AddTransition( "Stopped", "StartTasks", "Started" )
--- StartTasks Handler OnBefore for TASK_MANAGER
-- @function [parent=#TASK_MANAGER] OnBeforeStartTasks
-- @param #TASK_MANAGER self
@@ -64,27 +64,25 @@ do -- TASK_MANAGER
-- @param #string Event
-- @param #string To
-- @return #boolean
--- StartTasks Handler OnAfter for TASK_MANAGER
-- @function [parent=#TASK_MANAGER] OnAfterStartTasks
-- @param #TASK_MANAGER self
-- @param #string From
-- @param #string Event
-- @param #string To
--- StartTasks Trigger for TASK_MANAGER
-- @function [parent=#TASK_MANAGER] StartTasks
-- @param #TASK_MANAGER self
--- StartTasks Asynchronous Trigger for TASK_MANAGER
-- @function [parent=#TASK_MANAGER] __StartTasks
-- @param #TASK_MANAGER self
-- @param #number Delay
self:AddTransition( "Started", "StopTasks", "Stopped" )
--- StopTasks Handler OnBefore for TASK_MANAGER
-- @function [parent=#TASK_MANAGER] OnBeforeStopTasks
-- @param #TASK_MANAGER self
@@ -92,28 +90,27 @@ do -- TASK_MANAGER
-- @param #string Event
-- @param #string To
-- @return #boolean
--- StopTasks Handler OnAfter for TASK_MANAGER
-- @function [parent=#TASK_MANAGER] OnAfterStopTasks
-- @param #TASK_MANAGER self
-- @param #string From
-- @param #string Event
-- @param #string To
--- StopTasks Trigger for TASK_MANAGER
-- @function [parent=#TASK_MANAGER] StopTasks
-- @param #TASK_MANAGER self
--- StopTasks Asynchronous Trigger for TASK_MANAGER
-- @function [parent=#TASK_MANAGER] __StopTasks
-- @param #TASK_MANAGER self
-- @param #number Delay
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
@@ -121,10 +118,9 @@ do -- TASK_MANAGER
-- @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
@@ -132,10 +128,9 @@ do -- TASK_MANAGER
-- @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
@@ -143,9 +138,9 @@ do -- TASK_MANAGER
-- @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
@@ -155,37 +150,37 @@ do -- TASK_MANAGER
-- @param Tasking.Task#TASK Task
self:SetRefreshTimeInterval( 30 )
return self
end
function TASK_MANAGER:onafterStartTasks( From, Event, To )
self:Manage()
end
function TASK_MANAGER:onafterManage( From, Event, To )
self:__Manage( -self._RefreshTimeInterval )
self:ManageTasks()
end
--- Set the refresh time interval in seconds when a new task management action needs to be done.
-- @param #TASK_MANAGER self
-- @param #number RefreshTimeInterval The refresh time interval in seconds when a new task management action needs to be done.
-- @return #TASK_MANAGER self
function TASK_MANAGER:SetRefreshTimeInterval( RefreshTimeInterval )
self:F2()
self._RefreshTimeInterval = RefreshTimeInterval
end
--- Manages the tasks for the @{Core.Set#SET_GROUP}.
-- @param #TASK_MANAGER self
-- @return #TASK_MANAGER self
function TASK_MANAGER:ManageTasks()
end
end