Documentation

This commit is contained in:
FlightControl 2017-05-29 14:09:07 +02:00
parent bc734f1190
commit 4e29565382
27 changed files with 1007 additions and 456 deletions

View File

@ -107,11 +107,11 @@
--
-- ![Engage Event](..\Presentations\AI_CAS\Dia12.JPG)
--
-- # 1. AI_CAS_ZONE constructor
-- ## AI_CAS_ZONE constructor
--
-- * @{#AI_CAS_ZONE.New}(): Creates a new AI_CAS_ZONE object.
--
-- ## 2. AI_CAS_ZONE is a FSM
-- ## AI_CAS_ZONE is a FSM
--
-- ![Process](..\Presentations\AI_CAS\Dia2.JPG)
--

View File

@ -85,6 +85,53 @@ end
-- @field Dcs.DCSCoalitionWrapper.Object#coalition CommandCenterCoalition
-- @list<Tasking.Mission#MISSION> Missions
-- @extends Core.Base#BASE
--- # COMMANDCENTER class, extends @{Base#BASE}
--
-- The COMMANDCENTER class governs multiple missions, the tasking and the reporting.
--
-- The commandcenter communicates important messages between the various groups of human players executing tasks in missions.
--
-- ## COMMANDCENTER constructor
--
-- * @{#COMMANDCENTER.New}(): Creates a new COMMANDCENTER object.
--
-- ## Mission Management
--
-- * @{#COMMANDCENTER.AddMission}(): Adds a mission to the commandcenter control.
-- * @{#COMMANDCENTER.RemoveMission}(): Removes a mission to the commandcenter control.
-- * @{#COMMANDCENTER.GetMissions}(): Retrieves the missions table controlled by the commandcenter.
--
-- ## Reference Zones
--
-- Command Centers may be aware of certain Reference Zones within the battleground. These Reference Zones can refer to
-- known areas, recognizable buildings or sites, or any other point of interest.
-- Command Centers will use these Reference Zones to help pilots with defining coordinates in terms of navigation
-- during the WWII era.
-- The Reference Zones are related to the WWII mode that the Command Center will operate in.
-- Use the method @{#COMMANDCENTER.SetModeWWII}() to set the mode of communication to the WWII mode.
--
-- In WWII mode, the Command Center will receive detected targets, and will select for each target the closest
-- nearby Reference Zone. This allows pilots to navigate easier through the battle field readying for combat.
--
-- The Reference Zones need to be set by the Mission Designer in the Mission Editor.
-- Reference Zones are set by normal trigger zones. One can color the zones in a specific color,
-- and the radius of the zones doesn't matter, only the point is important. Place the center of these Reference Zones at
-- specific scenery objects or points of interest (like cities, rivers, hills, crossing etc).
-- The trigger zones indicating a Reference Zone need to follow a specific syntax.
-- The name of each trigger zone expressing a Reference Zone need to start with a classification name of the object,
-- followed by a #, followed by a symbolic name of the Reference Zone.
-- A few examples:
--
-- * A church at Tskinvali would be indicated as: *Church#Tskinvali*
-- * A train station near Kobuleti would be indicated as: *Station#Kobuleti*
--
-- The COMMANDCENTER class contains a method to indicate which trigger zones need to be used as Reference Zones.
-- This is done by using the method @{#COMMANDCENTER.SetReferenceZones}().
-- For the moment, only one Reference Zone class can be specified, but in the future, more classes will become possible.
--
-- @field #COMMANDCENTER
COMMANDCENTER = {
ClassName = "COMMANDCENTER",
CommandCenterName = "",
@ -95,6 +142,7 @@ COMMANDCENTER = {
ReferenceNames = {},
CommunicationMode = "80",
}
--- The constructor takes an IDENTIFIABLE as the HQ command center.
-- @param #COMMANDCENTER self
-- @param Wrapper.Positionable#POSITIONABLE CommandCenterPositionable
@ -253,10 +301,29 @@ function COMMANDCENTER:RemoveMission( Mission )
return Mission
end
--- Set reference points known by the command center to guide airborne units during WWII.
-- These reference points are zones, with a special name.
--- Set special Reference Zones known by the Command Center to guide airborne pilots during WWII.
--
-- These Reference Zones are normal trigger zones, with a special naming.
-- The Reference Zones need to be set by the Mission Designer in the Mission Editor.
-- Reference Zones are set by normal trigger zones. One can color the zones in a specific color,
-- and the radius of the zones doesn't matter, only the center of the zone is important. Place the center of these Reference Zones at
-- specific scenery objects or points of interest (like cities, rivers, hills, crossing etc).
-- The trigger zones indicating a Reference Zone need to follow a specific syntax.
-- The name of each trigger zone expressing a Reference Zone need to start with a classification name of the object,
-- followed by a #, followed by a symbolic name of the Reference Zone.
-- A few examples:
--
-- * A church at Tskinvali would be indicated as: *Church#Tskinvali*
-- * A train station near Kobuleti would be indicated as: *Station#Kobuleti*
--
-- Taking the above example, this is how this method would be used:
--
-- CC:SetReferenceZones( "Church" )
-- CC:SetReferenceZones( "Station" )
--
--
-- @param #COMMANDCENTER self
-- @param #string ReferenceZonePrefix Reference points.
-- @param #string ReferenceZonePrefix The name before the #-mark indicating the class of the Reference Zones.
-- @return #COMMANDCENTER
function COMMANDCENTER:SetReferenceZones( ReferenceZonePrefix )
local MatchPattern = "(.*)#(.*)"
@ -273,13 +340,14 @@ function COMMANDCENTER:SetReferenceZones( ReferenceZonePrefix )
end
--- Set the commandcenter operations in WWII mode
-- This will disable LL, MGRS, BRA, BULLS from the settings.
-- This will disable LL, MGRS, BRA, BULLS navigatin messages sent by the Command Center,
-- and will be replaced by a navigation using Reference Zones.
-- It will also disable the settings at the settings menu for these.
-- And, it will use any ReferenceZones set as reference points for communication.
-- @param #COMMANDCENTER self
-- @return #COMMANDCENTER
function COMMANDCENTER:SetModeWWII()
self.CommunicationMode = "WWII"
return self
end

View File

@ -23,10 +23,6 @@
-- * @{#TASK_A2A.SetScoreOnSuccess}(): Set a score when all the targets in scope of the A2A attack, have been destroyed.
-- * @{#TASK_A2A.SetPenaltyOnFailed}(): Set a penalty when the A2A attack has failed.
--
-- # 2) @{Task_A2A#TASK_INTERCEPT} class, extends @{Task_A2A#TASK_A2A}
--
-- The TASK_A2A_INTERCEPT class defines an INTERCEPT task for a @{Set} of Target Units.
--
-- ====
--
-- # **API CHANGE HISTORY**
@ -343,6 +339,19 @@ do -- TASK_A2A_INTERCEPT
-- @type TASK_A2A_INTERCEPT
-- @field Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK
--- # TASK_A2A_INTERCEPT class, extends @{Task_A2A#TASK_A2A}
--
-- The TASK_A2A_INTERCEPT class defines an intercept task for a human player to be executed.
-- When enemy planes need to be intercepted by human players, use this task type to urgen the players to get out there!
--
-- The TASK_A2A_INTERCEPT is used by the @{Task_A2A_Dispatcher#TASK_A2A_DISPATCHER} to automatically create intercept tasks
-- based on detected airborne enemy targets intruding friendly airspace.
--
-- The task is defined for a @{Mission#MISSION}, where a friendly @{Set#SET_GROUP} consisting of GROUPs with one human players each, is intercepting the targets.
-- The task is given a name and a briefing, that is used in the menu structure and in the reporting.
--
-- @field #TASK_A2A_INTERCEPT
TASK_A2A_INTERCEPT = {
ClassName = "TASK_A2A_INTERCEPT",
}
@ -390,6 +399,21 @@ do -- TASK_A2A_SWEEP
-- @type TASK_A2A_SWEEP
-- @field Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK
--- # TASK_A2A_SWEEP class, extends @{Task_A2A#TASK_A2A}
--
-- The TASK_A2A_SWEEP class defines a sweep task for a human player to be executed.
-- A sweep task needs to be given when targets were detected but somehow the detection was lost.
-- Most likely, these enemy planes are hidden in the mountains or are flying under radar.
-- These enemy planes need to be sweeped by human players, and use this task type to urge the players to get out there and find those enemy fighters.
--
-- The TASK_A2A_SWEEP is used by the @{Task_A2A_Dispatcher#TASK_A2A_DISPATCHER} to automatically create sweep tasks
-- based on detected airborne enemy targets intruding friendly airspace, for which the detection has been lost for more than 60 seconds.
--
-- The task is defined for a @{Mission#MISSION}, where a friendly @{Set#SET_GROUP} consisting of GROUPs with one human players each, is sweeping the targets.
-- The task is given a name and a briefing, that is used in the menu structure and in the reporting.
--
-- @field #TASK_A2A_SWEEP
TASK_A2A_SWEEP = {
ClassName = "TASK_A2A_SWEEP",
}
@ -437,6 +461,19 @@ do -- TASK_A2A_ENGAGE
-- @type TASK_A2A_ENGAGE
-- @field Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK
--- # TASK_A2A_ENGAGE class, extends @{Task_A2A#TASK_A2A}
--
-- The TASK_A2A_ENGAGE class defines an engage task for a human player to be executed.
-- When enemy planes are close to human players, use this task type is used urge the players to get out there!
--
-- The TASK_A2A_ENGAGE is used by the @{Task_A2A_Dispatcher#TASK_A2A_DISPATCHER} to automatically create engage tasks
-- based on detected airborne enemy targets intruding friendly airspace.
--
-- The task is defined for a @{Mission#MISSION}, where a friendly @{Set#SET_GROUP} consisting of GROUPs with one human players each, is engaging the targets.
-- The task is given a name and a briefing, that is used in the menu structure and in the reporting.
--
-- @field #TASK_A2A_ENGAGE
TASK_A2A_ENGAGE = {
ClassName = "TASK_A2A_ENGAGE",
}
@ -461,7 +498,7 @@ do -- TASK_A2A_ENGAGE
self:SetBriefing(
TaskBriefing or
"Bogeys are nearby! Those players who are near to the intruders are requested to ENGAGE!\n"
"Bogeys are nearby! Players close by are ordered to ENGAGE the intruders!\n"
)
local TargetCoordinate = TargetSetUnit:GetFirst():GetCoordinate()

View File

@ -23,22 +23,6 @@
-- * @{#TASK_A2G.SetScoreOnSuccess}(): Set a score when all the targets in scope of the A2G attack, have been destroyed.
-- * @{#TASK_A2G.SetPenaltyOnFailed}(): Set a penalty when the A2G attack has failed.
--
-- # 2) @{Task_A2G#TASK_SEAD} class, extends @{Task_A2G#TASK_A2G}
--
-- The @{#TASK_SEAD} class defines a SEAD task for a @{Set} of Target Units.
--
-- ===
--
-- # 3) @{Task_A2G#TASK_CAS} class, extends @{Task_A2G#TASK_A2G}
--
-- The @{#TASK_CAS} class defines a CAS task for a @{Set} of Target Units.
--
-- ===
--
-- # 4) @{Task_A2G#TASK_BAI} class, extends @{Task_A2G#TASK_A2G}
--
-- The @{#TASK_BAI} class defines a BAI task for a @{Set} of Target Units.
--
-- ====
--
-- # **API CHANGE HISTORY**
@ -351,26 +335,36 @@ do -- TASK_A2G
end
do -- TASK_SEAD
do -- TASK_A2G_SEAD
--- The TASK_SEAD class
-- @type TASK_SEAD
--- The TASK_A2G_SEAD class
-- @type TASK_A2G_SEAD
-- @field Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK
TASK_SEAD = {
ClassName = "TASK_SEAD",
--- # TASK_A2G_SEAD class, extends @{Task_A2G#TASK_A2G}
--
-- The TASK_A2G_SEAD class defines an Suppression or Extermination of Air Defenses task for a human player to be executed.
-- These tasks are important to be executed as they will help to achieve air superiority at the vicinity.
--
-- The TASK_A2G_SEAD is used by the @{Task_A2G_Dispatcher#TASK_A2G_DISPATCHER} to automatically create SEAD tasks
-- based on detected enemy ground targets.
--
-- @field #TASK_A2G_SEAD
TASK_A2G_SEAD = {
ClassName = "TASK_A2G_SEAD",
}
--- Instantiates a new TASK_SEAD.
-- @param #TASK_SEAD self
--- Instantiates a new TASK_A2G_SEAD.
-- @param #TASK_A2G_SEAD self
-- @param Tasking.Mission#MISSION Mission
-- @param Core.Set#SET_GROUP SetGroup The set of groups for which the Task can be assigned.
-- @param #string TaskName The name of the Task.
-- @param Core.Set#SET_UNIT TargetSetUnit
-- @param #string TaskBriefing The briefing of the task.
-- @return #TASK_SEAD self
function TASK_SEAD:New( Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing )
local self = BASE:Inherit( self, TASK_A2G:New( Mission, SetGroup, TaskName, TargetSetUnit, "SEAD", TaskBriefing ) ) -- #TASK_SEAD
-- @return #TASK_A2G_SEAD self
function TASK_A2G_SEAD:New( Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing )
local self = BASE:Inherit( self, TASK_A2G:New( Mission, SetGroup, TaskName, TargetSetUnit, "SEAD", TaskBriefing ) ) -- #TASK_A2G_SEAD
self:F()
Mission:AddTask( self )
@ -393,26 +387,37 @@ do -- TASK_SEAD
end
do -- TASK_BAI
do -- TASK_A2G_BAI
--- The TASK_BAI class
-- @type TASK_BAI
--- The TASK_A2G_BAI class
-- @type TASK_A2G_BAI
-- @field Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK
TASK_BAI = {
ClassName = "TASK_BAI",
--- # TASK_A2G_BAI class, extends @{Task_A2G#TASK_A2G}
--
-- The TASK_A2G_BAI class defines an Battlefield Air Interdiction task for a human player to be executed.
-- These tasks are more strategic in nature and are most of the time further away from friendly forces.
-- BAI tasks can also be used to express the abscence of friendly forces near the vicinity.
--
-- The TASK_A2G_BAI is used by the @{Task_A2G_Dispatcher#TASK_A2G_DISPATCHER} to automatically create BAI tasks
-- based on detected enemy ground targets.
--
-- @field #TASK_A2G_BAI
TASK_A2G_BAI = {
ClassName = "TASK_A2G_BAI",
}
--- Instantiates a new TASK_BAI.
-- @param #TASK_BAI self
--- Instantiates a new TASK_A2G_BAI.
-- @param #TASK_A2G_BAI self
-- @param Tasking.Mission#MISSION Mission
-- @param Core.Set#SET_GROUP SetGroup The set of groups for which the Task can be assigned.
-- @param #string TaskName The name of the Task.
-- @param Core.Set#SET_UNIT TargetSetUnit
-- @param #string TaskBriefing The briefing of the task.
-- @return #TASK_BAI self
function TASK_BAI:New( Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing )
local self = BASE:Inherit( self, TASK_A2G:New( Mission, SetGroup, TaskName, TargetSetUnit, "BAI", TaskBriefing ) ) -- #TASK_BAI
-- @return #TASK_A2G_BAI self
function TASK_A2G_BAI:New( Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing )
local self = BASE:Inherit( self, TASK_A2G:New( Mission, SetGroup, TaskName, TargetSetUnit, "BAI", TaskBriefing ) ) -- #TASK_A2G_BAI
self:F()
Mission:AddTask( self )
@ -435,26 +440,36 @@ do -- TASK_BAI
end
do -- TASK_CAS
do -- TASK_A2G_CAS
--- The TASK_CAS class
-- @type TASK_CAS
--- The TASK_A2G_CAS class
-- @type TASK_A2G_CAS
-- @field Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK
TASK_CAS = {
ClassName = "TASK_CAS",
--- # TASK_A2G_CAS class, extends @{Task_A2G#TASK_A2G}
--
-- The TASK_A2G_CAS class defines an Close Air Support task for a human player to be executed.
-- Friendly forces will be in the vicinity within 6km from the enemy.
--
-- The TASK_A2G_CAS is used by the @{Task_A2G_Dispatcher#TASK_A2G_DISPATCHER} to automatically create CAS tasks
-- based on detected enemy ground targets.
--
-- @field #TASK_A2G_CAS
TASK_A2G_CAS = {
ClassName = "TASK_A2G_CAS",
}
--- Instantiates a new TASK_CAS.
-- @param #TASK_CAS self
--- Instantiates a new TASK_A2G_CAS.
-- @param #TASK_A2G_CAS self
-- @param Tasking.Mission#MISSION Mission
-- @param Core.Set#SET_GROUP SetGroup The set of groups for which the Task can be assigned.
-- @param #string TaskName The name of the Task.
-- @param Core.Set#SET_UNIT TargetSetUnit
-- @param #string TaskBriefing The briefing of the task.
-- @return #TASK_CAS self
function TASK_CAS:New( Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing )
local self = BASE:Inherit( self, TASK_A2G:New( Mission, SetGroup, TaskName, TargetSetUnit, "CAS", TaskBriefing ) ) -- #TASK_CAS
-- @return #TASK_A2G_CAS self
function TASK_A2G_CAS:New( Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing )
local self = BASE:Inherit( self, TASK_A2G:New( Mission, SetGroup, TaskName, TargetSetUnit, "CAS", TaskBriefing ) ) -- #TASK_A2G_CAS
self:F()
Mission:AddTask( self )

View File

@ -252,21 +252,21 @@ do -- TASK_A2G_DISPATCHER
if not Task then
local TargetSetUnit = self:EvaluateSEAD( DetectedItem ) -- Returns a SetUnit if there are targets to be SEADed...
if TargetSetUnit then
Task = TASK_SEAD:New( Mission, self.SetGroup, string.format( "SEAD.%03d", DetectedItemID ), TargetSetUnit )
Task = TASK_A2G_SEAD:New( Mission, self.SetGroup, string.format( "SEAD.%03d", DetectedItemID ), TargetSetUnit )
end
-- Evaluate CAS
if not Task then
local TargetSetUnit = self:EvaluateCAS( DetectedItem ) -- Returns a SetUnit if there are targets to be CASed...
if TargetSetUnit then
Task = TASK_CAS:New( Mission, self.SetGroup, string.format( "CAS.%03d", DetectedItemID ), TargetSetUnit )
Task = TASK_A2G_CAS:New( Mission, self.SetGroup, string.format( "CAS.%03d", DetectedItemID ), TargetSetUnit )
end
-- Evaluate BAI
if not Task then
local TargetSetUnit = self:EvaluateBAI( DetectedItem, self.Mission:GetCommandCenter():GetPositionable():GetCoalition() ) -- Returns a SetUnit if there are targets to be BAIed...
if TargetSetUnit then
Task = TASK_BAI:New( Mission, self.SetGroup, string.format( "BAI.%03d", DetectedItemID ), TargetSetUnit )
Task = TASK_A2G_BAI:New( Mission, self.SetGroup, string.format( "BAI.%03d", DetectedItemID ), TargetSetUnit )
end
end
end

View File

@ -1,13 +1,13 @@
@K=function, @M=Task_A2A, @N=onafterRouteToRendezVous, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua, @C=4756,
@K=function, @M=Task_A2A, @N=OnAfterArriveAtRendezVous, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua, @C=5417,
@K=function, @M=Task_A2A, @N=onafterEngage, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua, @C=5814,
@K=function, @M=Task_A2A, @N=onafterRouteToTarget, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua, @C=6136,
@K=function, @M=Task_A2A, @N=onafterRouteToTargets, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua, @C=7017,
@K=function, @M=Task_A2G, @N=onafterRouteToRendezVous, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=5157,
@K=function, @M=Task_A2G, @N=OnAfterArriveAtRendezVous, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=5818,
@K=function, @M=Task_A2G, @N=onafterEngage, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=6215,
@K=function, @M=Task_A2G, @N=onafterRouteToTarget, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=6537,
@K=function, @M=Task_A2G, @N=onafterRouteToTargets, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=7416,
@K=function, @M=Task_A2A, @N=onafterRouteToRendezVous, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua, @C=4585,
@K=function, @M=Task_A2A, @N=OnAfterArriveAtRendezVous, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua, @C=5246,
@K=function, @M=Task_A2A, @N=onafterEngage, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua, @C=5643,
@K=function, @M=Task_A2A, @N=onafterRouteToTarget, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua, @C=5965,
@K=function, @M=Task_A2A, @N=onafterRouteToTargets, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua, @C=6846,
@K=function, @M=Task_A2G, @N=onafterRouteToRendezVous, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=4672,
@K=function, @M=Task_A2G, @N=OnAfterArriveAtRendezVous, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=5333,
@K=function, @M=Task_A2G, @N=onafterEngage, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=5730,
@K=function, @M=Task_A2G, @N=onafterRouteToTarget, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=6052,
@K=function, @M=Task_A2G, @N=onafterRouteToTargets, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=6931,
@K=function, @M=Task_Cargo, @N=onafterSelectAction, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=10711,
@K=function, @M=Task_Cargo, @N=OnLeaveWaitingForCommand, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=13740,
@K=function, @M=Task_Cargo, @N=onafterRouteToPickup, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=14601,

1 @K=function @M=Task_A2A @N=onafterRouteToRendezVous @P=Fsm @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua @C=4756 @C=4585
2 @K=function @M=Task_A2A @N=OnAfterArriveAtRendezVous @P=Fsm @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua @C=5417 @C=5246
3 @K=function @M=Task_A2A @N=onafterEngage @P=Fsm @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua @C=5814 @C=5643
4 @K=function @M=Task_A2A @N=onafterRouteToTarget @P=Fsm @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua @C=6136 @C=5965
5 @K=function @M=Task_A2A @N=onafterRouteToTargets @P=Fsm @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2A.lua @C=7017 @C=6846
6 @K=function @M=Task_A2G @N=onafterRouteToRendezVous @P=Fsm @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua @C=5157 @C=4672
7 @K=function @M=Task_A2G @N=OnAfterArriveAtRendezVous @P=Fsm @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua @C=5818 @C=5333
8 @K=function @M=Task_A2G @N=onafterEngage @P=Fsm @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua @C=6215 @C=5730
9 @K=function @M=Task_A2G @N=onafterRouteToTarget @P=Fsm @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua @C=6537 @C=6052
10 @K=function @M=Task_A2G @N=onafterRouteToTargets @P=Fsm @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua @C=7416 @C=6931
11 @K=function @M=Task_Cargo @N=onafterSelectAction @P=Fsm @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua @C=10711 @C=10711
12 @K=function @M=Task_Cargo @N=OnLeaveWaitingForCommand @P=Fsm @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua @C=13740 @C=13740
13 @K=function @M=Task_Cargo @N=onafterRouteToPickup @P=Fsm @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua @C=14601 @C=14601

View File

@ -491,13 +491,13 @@ It can be notified to go RTB through the <strong>RTB</strong> event.</p>
<p><img src="..\Presentations\AI_CAS\Dia12.JPG" alt="Engage Event"/></p>
<h1>1. AI<em>CAS</em>ZONE constructor</h1>
<h2>AI<em>CAS</em>ZONE constructor</h2>
<ul>
<li><a href="##(AI_CAS_ZONE).New">AI<em>CAS</em>ZONE.New</a>(): Creates a new AI<em>CAS</em>ZONE object.</li>
</ul>
<h2>2. AI<em>CAS</em>ZONE is a FSM</h2>
<h2>AI<em>CAS</em>ZONE is a FSM</h2>
<p><img src="..\Presentations\AI_CAS\Dia2.JPG" alt="Process"/></p>

View File

@ -956,9 +956,6 @@ Use the method <a href="##(AI_PATROL_ZONE).ManageDamage">AI<em>PATROL</em>ZONE.M
<p> This table contains the targets detected during patrol.</p>
</dd>
</dl>
<dl class="function">

View File

@ -2924,7 +2924,6 @@ The range till cargo will board.</p>
<dl class="function">
<dt>
<em></em>
<a id="#(CARGO_UNIT).CargoCarrier" >
<strong>CARGO_UNIT.CargoCarrier</strong>
</a>
@ -3050,6 +3049,7 @@ The range till cargo will board.</p>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(CARGO_UNIT).RunCount" >
<strong>CARGO_UNIT.RunCount</strong>
</a>

View File

@ -110,7 +110,9 @@
<tr>
<td class="name" nowrap="nowrap"><a href="#COMMANDCENTER">COMMANDCENTER</a></td>
<td class="summary">
<h1>COMMANDCENTER class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p> The COMMANDCENTER class governs multiple missions, the tasking and the reporting.</p>
</td>
</tr>
<tr>
@ -126,12 +128,6 @@
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).AddMission">COMMANDCENTER:AddMission(Mission)</a></td>
<td class="summary">
<p>Add a MISSION to be governed by the HQ command center.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).ClassName">COMMANDCENTER.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
@ -147,13 +143,7 @@
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).CommandCenterName">COMMANDCENTER.CommandCenterName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).CommandCenterPositionable">COMMANDCENTER.CommandCenterPositionable</a></td>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).CommunicationMode">COMMANDCENTER.CommunicationMode</a></td>
<td class="summary">
</td>
@ -192,6 +182,12 @@
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).HasGroup">COMMANDCENTER:HasGroup(Wrapper, MissionGroup)</a></td>
<td class="summary">
<p>Checks of the COMMANDCENTER has a GROUP.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).IsModeWWII">COMMANDCENTER:IsModeWWII()</a></td>
<td class="summary">
<p>Returns if the commandcenter operations is in WWII mode</p>
</td>
</tr>
<tr>
@ -210,12 +206,6 @@
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).MessageToGroup">COMMANDCENTER:MessageToGroup(Message, TaskGroup, Name)</a></td>
<td class="summary">
<p>Send a CC message to a GROUP.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).Name">COMMANDCENTER.Name</a></td>
<td class="summary">
</td>
</tr>
<tr>
@ -252,6 +242,20 @@
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).SetMenu">COMMANDCENTER:SetMenu()</a></td>
<td class="summary">
<p>Sets the menu structure of the Missions governed by the HQ command center.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).SetModeWWII">COMMANDCENTER:SetModeWWII()</a></td>
<td class="summary">
<p>Set the commandcenter operations in WWII mode
This will disable LL, MGRS, BRA, BULLS navigatin messages sent by the Command Center,
and will be replaced by a navigation using Reference Zones.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).SetReferenceZones">COMMANDCENTER:SetReferenceZones(ReferenceZonePrefix)</a></td>
<td class="summary">
<p>Set special Reference Zones known by the Command Center to guide airborne pilots during WWII.</p>
</td>
</tr>
</table>
@ -331,7 +335,59 @@
</dt>
<dd>
<h1>COMMANDCENTER class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p> The COMMANDCENTER class governs multiple missions, the tasking and the reporting.</p>
<p>
The commandcenter communicates important messages between the various groups of human players executing tasks in missions.</p>
<h2>COMMANDCENTER constructor</h2>
<ul>
<li><a href="##(COMMANDCENTER).New">COMMANDCENTER.New</a>(): Creates a new COMMANDCENTER object.</li>
</ul>
<h2>Mission Management</h2>
<ul>
<li><a href="##(COMMANDCENTER).AddMission">COMMANDCENTER.AddMission</a>(): Adds a mission to the commandcenter control.</li>
<li><a href="##(COMMANDCENTER).RemoveMission">COMMANDCENTER.RemoveMission</a>(): Removes a mission to the commandcenter control.</li>
<li><a href="##(COMMANDCENTER).GetMissions">COMMANDCENTER.GetMissions</a>(): Retrieves the missions table controlled by the commandcenter.</li>
</ul>
<h2>Reference Zones</h2>
<p>Command Centers may be aware of certain Reference Zones within the battleground. These Reference Zones can refer to
known areas, recognizable buildings or sites, or any other point of interest.
Command Centers will use these Reference Zones to help pilots with defining coordinates in terms of navigation
during the WWII era.
The Reference Zones are related to the WWII mode that the Command Center will operate in.
Use the method <a href="##(COMMANDCENTER).SetModeWWII">COMMANDCENTER.SetModeWWII</a>() to set the mode of communication to the WWII mode.</p>
<p>In WWII mode, the Command Center will receive detected targets, and will select for each target the closest
nearby Reference Zone. This allows pilots to navigate easier through the battle field readying for combat.</p>
<p>The Reference Zones need to be set by the Mission Designer in the Mission Editor.
Reference Zones are set by normal trigger zones. One can color the zones in a specific color,
and the radius of the zones doesn't matter, only the point is important. Place the center of these Reference Zones at
specific scenery objects or points of interest (like cities, rivers, hills, crossing etc).
The trigger zones indicating a Reference Zone need to follow a specific syntax.
The name of each trigger zone expressing a Reference Zone need to start with a classification name of the object,
followed by a #, followed by a symbolic name of the Reference Zone.
A few examples:</p>
<ul>
<li>A church at Tskinvali would be indicated as: <em>Church#Tskinvali</em></li>
<li>A train station near Kobuleti would be indicated as: <em>Station#Kobuleti</em></li>
</ul>
<p>The COMMANDCENTER class contains a method to indicate which trigger zones need to be used as Reference Zones.
This is done by using the method <a href="##(COMMANDCENTER).SetReferenceZones">COMMANDCENTER.SetReferenceZones</a>().
For the moment, only one Reference Zone class can be specified, but in the future, more classes will become possible.</p>
<p> </p>
</dd>
</dl>
@ -380,20 +436,6 @@
<p><em><a href="Tasking.Mission.html##(MISSION)">Tasking.Mission#MISSION</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(COMMANDCENTER).ClassName" >
<strong>COMMANDCENTER.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@ -427,21 +469,8 @@
<dt>
<em>#string</em>
<a id="#(COMMANDCENTER).CommandCenterName" >
<strong>COMMANDCENTER.CommandCenterName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(COMMANDCENTER).CommandCenterPositionable" >
<strong>COMMANDCENTER.CommandCenterPositionable</strong>
<a id="#(COMMANDCENTER).CommunicationMode" >
<strong>COMMANDCENTER.CommunicationMode</strong>
</a>
</dt>
<dd>
@ -566,6 +595,24 @@ Group#GROUP</p>
<p><em>#boolean:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(COMMANDCENTER).IsModeWWII" >
<strong>COMMANDCENTER:IsModeWWII()</strong>
</a>
</dt>
<dd>
<p>Returns if the commandcenter operations is in WWII mode</p>
<h3>Return value</h3>
<p><em>#boolean:</em>
true if in WWII mode.</p>
</dd>
</dl>
<dl class="function">
@ -640,20 +687,6 @@ Group#GROUP</p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(COMMANDCENTER).Name" >
<strong>COMMANDCENTER.Name</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@ -804,6 +837,81 @@ Group#GROUP</p>
<p>Sets the menu structure of the Missions governed by the HQ command center.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(COMMANDCENTER).SetModeWWII" >
<strong>COMMANDCENTER:SetModeWWII()</strong>
</a>
</dt>
<dd>
<p>Set the commandcenter operations in WWII mode
This will disable LL, MGRS, BRA, BULLS navigatin messages sent by the Command Center,
and will be replaced by a navigation using Reference Zones.</p>
<p>It will also disable the settings at the settings menu for these.</p>
<h3>Return value</h3>
<p><em><a href="##(COMMANDCENTER)">#COMMANDCENTER</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(COMMANDCENTER).SetReferenceZones" >
<strong>COMMANDCENTER:SetReferenceZones(ReferenceZonePrefix)</strong>
</a>
</dt>
<dd>
<p>Set special Reference Zones known by the Command Center to guide airborne pilots during WWII.</p>
<p>These Reference Zones are normal trigger zones, with a special naming.
The Reference Zones need to be set by the Mission Designer in the Mission Editor.
Reference Zones are set by normal trigger zones. One can color the zones in a specific color,
and the radius of the zones doesn't matter, only the center of the zone is important. Place the center of these Reference Zones at
specific scenery objects or points of interest (like cities, rivers, hills, crossing etc).
The trigger zones indicating a Reference Zone need to follow a specific syntax.
The name of each trigger zone expressing a Reference Zone need to start with a classification name of the object,
followed by a #, followed by a symbolic name of the Reference Zone.
A few examples:</p>
<ul>
<li>A church at Tskinvali would be indicated as: <em>Church#Tskinvali</em></li>
<li>A train station near Kobuleti would be indicated as: <em>Station#Kobuleti</em></li>
</ul>
<p>Taking the above example, this is how this method would be used:</p>
<pre><code>CC:SetReferenceZones( "Church" )
CC:SetReferenceZones( "Station" )
</code></pre>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#string ReferenceZonePrefix </em></code>:
The name before the #-mark indicating the class of the Reference Zones.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(COMMANDCENTER)">#COMMANDCENTER</a>:</em></p>
</dd>
</dl>

View File

@ -168,6 +168,7 @@ This is different from the EnRoute tasks, where the targets of the task need to
<li><a href="##(CONTROLLABLE).EnRouteTaskAWACS">CONTROLLABLE.EnRouteTaskAWACS</a>: (AIR) Aircraft will act as an AWACS for friendly units (will provide them with information about contacts). No parameters.</li>
<li><a href="##(CONTROLLABLE).EnRouteTaskEngageControllable">CONTROLLABLE.EnRouteTaskEngageControllable</a>: (AIR) Engaging a controllable. The task does not assign the target controllable to the unit/controllable to attack now; it just allows the unit/controllable to engage the target controllable as well as other assigned targets.</li>
<li><a href="##(CONTROLLABLE).EnRouteTaskEngageTargets">CONTROLLABLE.EnRouteTaskEngageTargets</a>: (AIR) Engaging targets of defined types.</li>
<li><a href="##(CONTROLLABLE).EnRouteTaskEngageTargetsInZone">CONTROLLABLE.EnRouteTaskEngageTargetsInZone</a>: (AIR) Engaging a targets of defined types at circle-shaped zone.</li>
<li><a href="##(CONTROLLABLE).EnRouteTaskEWR">CONTROLLABLE.EnRouteTaskEWR</a>: (AIR) Attack the Unit.</li>
<li><a href="##(CONTROLLABLE).EnRouteTaskFAC">CONTROLLABLE.EnRouteTaskFAC</a>: (AIR + GROUND) The task makes the controllable/unit a FAC and lets the FAC to choose a targets (enemy ground controllable) around as well as other assigned targets.</li>
<li><a href="##(CONTROLLABLE).EnRouteTaskFAC_EngageControllable">CONTROLLABLE.EnRouteTaskFAC_EngageControllable</a>: (AIR + GROUND) The task makes the controllable/unit a FAC and lets the FAC to choose the target (enemy ground controllable) as well as other assigned targets.</li>
@ -324,6 +325,12 @@ This is different from the EnRoute tasks, where the targets of the task need to
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).EnRouteTaskEngageTargets">CONTROLLABLE:EnRouteTaskEngageTargets(Distance, TargetTypes, Priority)</a></td>
<td class="summary">
<p>(AIR) Engaging targets of defined types.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).EnRouteTaskEngageTargetsInZone">CONTROLLABLE:EnRouteTaskEngageTargetsInZone(Vec2, Radius, TargetTypes, Priority)</a></td>
<td class="summary">
<p>(AIR) Engaging a targets of defined types at circle-shaped zone.</p>
</td>
</tr>
<tr>
@ -1123,6 +1130,51 @@ The DCS task structure.</p>
<dl class="function">
<dt>
<a id="#(CONTROLLABLE).EnRouteTaskEngageTargetsInZone" >
<strong>CONTROLLABLE:EnRouteTaskEngageTargetsInZone(Vec2, Radius, TargetTypes, Priority)</strong>
</a>
</dt>
<dd>
<p>(AIR) Engaging a targets of defined types at circle-shaped zone.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Dcs.DCSTypes.html##(Vec2)">Dcs.DCSTypes#Vec2</a> Vec2 </em></code>:
2D-coordinates of the zone. </p>
</li>
<li>
<p><code><em><a href="Dcs.DCSTypes.html##(Distance)">Dcs.DCSTypes#Distance</a> Radius </em></code>:
Radius of the zone. </p>
</li>
<li>
<p><code><em><a href="Dcs.DCSTypes.html##(AttributeNameArray)">Dcs.DCSTypes#AttributeNameArray</a> TargetTypes </em></code>:
Array of target categories allowed to engage. </p>
</li>
<li>
<p><code><em>#number Priority </em></code>:
All en-route tasks have the priority parameter. This is a number (less value - higher priority) that determines actions related to what task will be performed first. </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="Dcs.DCSTasking.Task.html##(Task)">Dcs.DCSTasking.Task#Task</a>:</em>
The DCS task structure.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(CONTROLLABLE).EnRouteTaskEngageUnit" >
<strong>CONTROLLABLE:EnRouteTaskEngageUnit(EngageUnit, Priority, GroupAttack, WeaponExpend, AttackQty, Direction, Altitude, Visible, ControllableAttack)</strong>
</a>

View File

@ -529,6 +529,12 @@ The following iterator methods are currently available within the DATABASE:</p>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).UNITS_Position">DATABASE.UNITS_Position</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).ZONENAMES">DATABASE.ZONENAMES</a></td>
<td class="summary">
</td>
</tr>
<tr>
@ -2034,6 +2040,20 @@ self</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(DATABASE).ZONENAMES" >
<strong>DATABASE.ZONENAMES</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">

View File

@ -895,7 +895,6 @@ function below will use the range 1-7 just in case</p>
<dl class="function">
<dt>
<em></em>
<a id="#(DESIGNATE).LaserCodes" >
<strong>DESIGNATE.LaserCodes</strong>
</a>

View File

@ -360,9 +360,9 @@ DETECTION uses the in-built detection capabilities of DCS World, but adds new fu
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).CleanDetectionItems">DETECTION_BASE:CleanDetectionItems()</a></td>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).CleanDetectionItem">DETECTION_BASE:CleanDetectionItem(DetectedItem, DetectedItemID)</a></td>
<td class="summary">
<p>Make a DetectionSet table.</p>
</td>
</tr>
<tr>
@ -650,6 +650,12 @@ The different values of Unit.Category can be:</p>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).InitDetectVisual">DETECTION_BASE:InitDetectVisual(DetectVisual)</a></td>
<td class="summary">
<p>Detect Visual.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).IsDetectedItemDetected">DETECTION_BASE:IsDetectedItemDetected(DetectedItem)</a></td>
<td class="summary">
<p>Checks if there is at least one UNIT detected in the Set of the the DetectedItem.</p>
</td>
</tr>
<tr>
@ -854,6 +860,12 @@ The different values of Unit.Category can be:</p>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).UnIdentifyDetectedObject">DETECTION_BASE:UnIdentifyDetectedObject(DetectedObject)</a></td>
<td class="summary">
<p>UnIdentify a detected object during detection processing.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).UpdateDetectedItemDetection">DETECTION_BASE:UpdateDetectedItemDetection(DetectedItem)</a></td>
<td class="summary">
<p>Set IsDetected flag for all DetectedItems.</p>
</td>
</tr>
<tr>
@ -893,7 +905,7 @@ The different values of Unit.Category can be:</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).onafterDetectionGroup">DETECTION_BASE:onafterDetectionGroup(From, Event, To, DetectionGroup)</a></td>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).onafterDetectionGroup">DETECTION_BASE:onafterDetectionGroup(From, Event, To, DetectionGroup, DetectionTimeStamp)</a></td>
<td class="summary">
</td>
@ -2188,22 +2200,32 @@ The index of the DetectedItem.</p>
<dl class="function">
<dt>
<a id="#(DETECTION_BASE).CleanDetectionItems" >
<strong>DETECTION_BASE:CleanDetectionItems()</strong>
<a id="#(DETECTION_BASE).CleanDetectionItem" >
<strong>DETECTION_BASE:CleanDetectionItem(DetectedItem, DetectedItemID)</strong>
</a>
</dt>
<dd>
<p>Make a DetectionSet table.</p>
<p>This function will be overridden in the derived clsses.</p>
<p> Clean the DetectedItem table.
@param #DETECTION<em>BASE self
@return #DETECTION</em>BASE</p>
<h3>Return value</h3>
<h3>Parameters</h3>
<ul>
<li>
<p><em><a href="##(DETECTION_BASE)">#DETECTION_BASE</a>:</em></p>
<p><code><em> DetectedItem </em></code>: </p>
</li>
<li>
<p><code><em> DetectedItemID </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
@ -3145,6 +3167,32 @@ self</p>
<dl class="function">
<dt>
<a id="#(DETECTION_BASE).IsDetectedItemDetected" >
<strong>DETECTION_BASE:IsDetectedItemDetected(DetectedItem)</strong>
</a>
</dt>
<dd>
<p>Checks if there is at least one UNIT detected in the Set of the the DetectedItem.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> DetectedItem </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em>#boolean:</em>
true if at least one UNIT is detected from the DetectedSet, false if no UNIT was detected from the DetectedSet.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(DETECTION_BASE).IsDetectedObjectIdentified" >
<strong>DETECTION_BASE:IsDetectedObjectIdentified(DetectedObject)</strong>
</a>
@ -4099,6 +4147,42 @@ self</p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(DETECTION_BASE).UpdateDetectedItemDetection" >
<strong>DETECTION_BASE:UpdateDetectedItemDetection(DetectedItem)</strong>
</a>
</dt>
<dd>
<p>Set IsDetected flag for all DetectedItems.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> DetectedItem </em></code>: </p>
</li>
</ul>
<h3>Return values</h3>
<ol>
<li>
<p><em><a href="##(DETECTION_BASE.DetectedItem)">#DETECTION_BASE.DetectedItem</a>:</em>
DetectedItem</p>
</li>
<li>
<p><em>#boolean:</em>
true if at least one UNIT is detected from the DetectedSet, false if no UNIT was detected from the DetectedSet.</p>
</li>
</ol>
</dd>
</dl>
<dl class="function">
<dt>
@ -4240,7 +4324,7 @@ The To State string.</p>
<dt>
<a id="#(DETECTION_BASE).onafterDetectionGroup" >
<strong>DETECTION_BASE:onafterDetectionGroup(From, Event, To, DetectionGroup)</strong>
<strong>DETECTION_BASE:onafterDetectionGroup(From, Event, To, DetectionGroup, DetectionTimeStamp)</strong>
</a>
</dt>
<dd>
@ -4272,6 +4356,11 @@ The To State string.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> DetectionGroup </em></code>:
The Group detecting.</p>
</li>
<li>
<p><code><em> DetectionTimeStamp </em></code>: </p>
</li>
</ul>
</dd>

View File

@ -1627,7 +1627,7 @@ A string defining the start state.</p>
<dl class="function">
<dt>
<em>#string</em>
<em></em>
<a id="#(FSM)._StartState" >
<strong>FSM._StartState</strong>
</a>
@ -1926,6 +1926,7 @@ A string defining the start state.</p>
<dl class="function">
<dt>
<em></em>
<a id="#(FSM).current" >
<strong>FSM.current</strong>
</a>

View File

@ -286,13 +286,19 @@ A <a href="CLIENT.html">CLIENT</a> needs to be registered within the <a href="MI
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(MISSION).MenuReportOverview">MISSION:MenuReportOverview(TaskStatus, ReportGroup)</a></td>
<td class="name" nowrap="nowrap"><a href="##(MISSION).MenuReportPlayersPerTask">MISSION:MenuReportPlayersPerTask(ReportGroup)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(MISSION).MenuReportSummary">MISSION:MenuReportSummary(ReportGroup)</a></td>
<td class="name" nowrap="nowrap"><a href="##(MISSION).MenuReportTasksPerStatus">MISSION:MenuReportTasksPerStatus(TaskStatus, ReportGroup)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(MISSION).MenuReportTasksSummary">MISSION:MenuReportTasksSummary(ReportGroup)</a></td>
<td class="summary">
</td>
@ -466,7 +472,7 @@ A <a href="CLIENT.html">CLIENT</a> needs to be registered within the <a href="MI
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(MISSION).ReportDetails">MISSION:ReportDetails()</a></td>
<td class="name" nowrap="nowrap"><a href="##(MISSION).ReportDetails">MISSION:ReportDetails(ReportGroup)</a></td>
<td class="summary">
<p>Create a detailed report of the Mission, listing all the details of the Task.</p>
</td>
@ -478,9 +484,9 @@ A <a href="CLIENT.html">CLIENT</a> needs to be registered within the <a href="MI
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(MISSION).ReportPlayers">MISSION:ReportPlayers()</a></td>
<td class="name" nowrap="nowrap"><a href="##(MISSION).ReportPlayersPerTask">MISSION:ReportPlayersPerTask(ReportGroup)</a></td>
<td class="summary">
<p>Create a player report of the Mission.</p>
<p>Create an active player report of the Mission.</p>
</td>
</tr>
<tr>
@ -1239,8 +1245,29 @@ true if Unit is part of a Task in the Mission.</p>
<dl class="function">
<dt>
<a id="#(MISSION).MenuReportOverview" >
<strong>MISSION:MenuReportOverview(TaskStatus, ReportGroup)</strong>
<a id="#(MISSION).MenuReportPlayersPerTask" >
<strong>MISSION:MenuReportPlayersPerTask(ReportGroup)</strong>
</a>
</dt>
<dd>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> ReportGroup </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(MISSION).MenuReportTasksPerStatus" >
<strong>MISSION:MenuReportTasksPerStatus(TaskStatus, ReportGroup)</strong>
</a>
</dt>
<dd>
@ -1266,8 +1293,8 @@ The status</p>
<dl class="function">
<dt>
<a id="#(MISSION).MenuReportSummary" >
<strong>MISSION:MenuReportSummary(ReportGroup)</strong>
<a id="#(MISSION).MenuReportTasksSummary" >
<strong>MISSION:MenuReportTasksSummary(ReportGroup)</strong>
</a>
</dt>
<dd>
@ -2157,13 +2184,21 @@ self</p>
<dt>
<a id="#(MISSION).ReportDetails" >
<strong>MISSION:ReportDetails()</strong>
<strong>MISSION:ReportDetails(ReportGroup)</strong>
</a>
</dt>
<dd>
<p>Create a detailed report of the Mission, listing all the details of the Task.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> ReportGroup </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em>#string:</em></p>
@ -2205,24 +2240,32 @@ self</p>
<dl class="function">
<dt>
<a id="#(MISSION).ReportPlayers" >
<strong>MISSION:ReportPlayers()</strong>
<a id="#(MISSION).ReportPlayersPerTask" >
<strong>MISSION:ReportPlayersPerTask(ReportGroup)</strong>
</a>
</dt>
<dd>
<p>Create a player report of the Mission.</p>
<p>Create an active player report of the Mission.</p>
<p>This reports provides a one liner of the mission status. It indicates how many players and how many Tasks.</p>
<pre><code>Mission "&lt;MissionName&gt;" - Status "&lt;MissionStatus&gt;"
<pre><code>Mission "&lt;MissionName&gt;" - &lt;MissionStatus&gt; - Active Players Report
- Player "&lt;PlayerName&gt;: Task &lt;TaskName&gt; &lt;TaskStatus&gt;, Task &lt;TaskName&gt; &lt;TaskStatus&gt;
- Player &lt;PlayerName&gt;: Task &lt;TaskName&gt; &lt;TaskStatus&gt;, Task &lt;TaskName&gt; &lt;TaskStatus&gt;
- ..
</code></pre>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> ReportGroup </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em>#string:</em></p>

View File

@ -218,6 +218,7 @@ on defined intervals (currently every minute).</p>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(MOVEMENT).AliveUnits" >
<strong>MOVEMENT.AliveUnits</strong>
</a>
@ -226,6 +227,9 @@ on defined intervals (currently every minute).</p>
<p> Contains the counter how many units are currently alive</p>
</dd>
</dl>
<dl class="function">

View File

@ -434,6 +434,13 @@
<td class="name" nowrap="nowrap"><a href="##(COORDINATE).ToStringBULLS">COORDINATE:ToStringBULLS(Coalition, Settings)</a></td>
<td class="summary">
<p>Return a BULLS string from a COORDINATE to the BULLS of the coalition.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COORDINATE).ToStringFromRP">COORDINATE:ToStringFromRP(Controllable, Settings, ReferenceCoord, ReferenceName)</a></td>
<td class="summary">
<p>Provides a coordinate string of the point, based on a coordinate format system:
* Uses default settings in COORDINATE.</p>
</td>
</tr>
<tr>
@ -1737,7 +1744,7 @@ The Vec2 point.</p>
</ul>
<h3>Return value</h3>
<p><em><a href="Core.Point.html##(COORDINATE)">Core.Point#COORDINATE</a>:</em></p>
<p><em><a href="##(COORDINATE)">#COORDINATE</a>:</em></p>
</dd>
@ -2133,6 +2140,53 @@ The BR text.</p>
<dl class="function">
<dt>
<a id="#(COORDINATE).ToStringFromRP" >
<strong>COORDINATE:ToStringFromRP(Controllable, Settings, ReferenceCoord, ReferenceName)</strong>
</a>
</dt>
<dd>
<p>Provides a coordinate string of the point, based on a coordinate format system:
* Uses default settings in COORDINATE.</p>
<ul>
<li>Can be overridden if for a GROUP containing x clients, a menu was selected to override the default.</li>
</ul>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>: </p>
</li>
<li>
<p><code><em><a href="Core.Settings.html##(SETTINGS)">Core.Settings#SETTINGS</a> Settings </em></code>: </p>
</li>
<li>
<p><code><em> ReferenceCoord </em></code>: </p>
</li>
<li>
<p><code><em> ReferenceName </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em>#string:</em>
The coordinate Text in the configured coordinate system.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(COORDINATE).ToStringLL" >
<strong>COORDINATE:ToStringLL(Settings)</strong>
</a>
@ -2767,7 +2821,6 @@ The y coordinate.</p>
<dl class="function">
<dt>
<em></em>
<a id="#(POINT_VEC2).z" >
<strong>POINT_VEC2.z</strong>
</a>

View File

@ -1071,7 +1071,7 @@ true if metric.</p>
<dl class="function">
<dt>
<em>#boolean</em>
<em></em>
<a id="#(SETTINGS).Metric" >
<strong>SETTINGS.Metric</strong>
</a>

View File

@ -463,6 +463,12 @@ and any spaces before and after the resulting name are removed.</p>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnGroups">SPAWN.SpawnGroups</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnHookScheduler">SPAWN.SpawnHookScheduler</a></td>
<td class="summary">
</td>
</tr>
<tr>
@ -775,6 +781,12 @@ and any spaces before and after the resulting name are removed.</p>
<td class="name" nowrap="nowrap"><a href="##(SPAWN)._TranslateRotate">SPAWN:_TranslateRotate(SpawnIndex, SpawnRootX, SpawnRootY, SpawnX, SpawnY, SpawnAngle)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).uncontrolled">SPAWN.uncontrolled</a></td>
<td class="summary">
</td>
</tr>
</table>
@ -2450,6 +2462,23 @@ SpawnGroupName</p>
<p> Array containing the descriptions of each Group to be Spawned.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(SPAWN).SpawnHookScheduler" >
<strong>SPAWN.SpawnHookScheduler</strong>
</a>
</dt>
<dd>
<p> delay calling this for .1 seconds so that it hopefully comes after the BIRTH event of the group.</p>
</dd>
</dl>
<dl class="function">
@ -2532,9 +2561,6 @@ when nothing was spawned.</p>
<p> Overwrite unit names by default with group name.</p>
</dd>
</dl>
<dl class="function">
@ -2956,7 +2982,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
<p> Flag that indicates if all the Groups of the SpawnGroup need to be visible when Spawned.</p>
<p> When the first Spawn executes, all the Groups need to be made visible before start.</p>
</dd>
</dl>
@ -3522,6 +3548,20 @@ True = Continue Scheduler</p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(SPAWN).uncontrolled" >
<strong>SPAWN.uncontrolled</strong>
</a>
</dt>
<dd>
</dd>
</dl>

View File

@ -766,7 +766,6 @@ true if it is lasing</p>
<dl class="function">
<dt>
<em></em>
<a id="#(SPOT).ScheduleID" >
<strong>SPOT.ScheduleID</strong>
</a>
@ -780,7 +779,6 @@ true if it is lasing</p>
<dl class="function">
<dt>
<em></em>
<a id="#(SPOT).SpotIR" >
<strong>SPOT.SpotIR</strong>
</a>
@ -794,7 +792,6 @@ true if it is lasing</p>
<dl class="function">
<dt>
<em></em>
<a id="#(SPOT).SpotLaser" >
<strong>SPOT.SpotLaser</strong>
</a>
@ -808,7 +805,6 @@ true if it is lasing</p>
<dl class="function">
<dt>
<em></em>
<a id="#(SPOT).Target" >
<strong>SPOT.Target</strong>
</a>

View File

@ -456,7 +456,7 @@
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK).ReportDetails">TASK:ReportDetails(TaskGroup)</a></td>
<td class="name" nowrap="nowrap"><a href="##(TASK).ReportDetails">TASK:ReportDetails(TaskGroup, ReportGroup)</a></td>
<td class="summary">
<p>Create a detailed report of the Task.</p>
</td>
@ -2010,7 +2010,7 @@ self</p>
<dt>
<a id="#(TASK).ReportDetails" >
<strong>TASK:ReportDetails(TaskGroup)</strong>
<strong>TASK:ReportDetails(TaskGroup, ReportGroup)</strong>
</a>
</dt>
<dd>
@ -2020,12 +2020,17 @@ self</p>
<p>List the Task Status, and the Players assigned to the Task.</p>
<h3>Parameter</h3>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> TaskGroup </em></code>: </p>
</li>
<li>
<p><code><em> ReportGroup </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>

View File

@ -131,10 +131,6 @@ The TASK_A2A is implemented using a <a href="Statemachine.html##(FSM_TASK)">Stat
<li><a href="##(TASK_A2A).SetPenaltyOnFailed">TASK_A2A.SetPenaltyOnFailed</a>(): Set a penalty when the A2A attack has failed.</li>
</ul>
<h1>2) <a href="Task_A2A.html##(TASK_INTERCEPT)">Task<em>A2A#TASK</em>INTERCEPT</a> class, extends <a href="Task_A2A.html##(TASK_A2A)">Task<em>A2A#TASK</em>A2A</a></h1>
<p>The TASK<em>A2A</em>INTERCEPT class defines an INTERCEPT task for a <a href="Set.html">Set</a> of Target Units.</p>
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
@ -174,13 +170,25 @@ The TASK_A2A is implemented using a <a href="Statemachine.html##(FSM_TASK)">Stat
<tr>
<td class="name" nowrap="nowrap"><a href="#TASK_A2A_ENGAGE">TASK_A2A_ENGAGE</a></td>
<td class="summary">
<h1>TASK<em>A2A</em>ENGAGE class, extends <a href="Task_A2A.html##(TASK_A2A)">Task<em>A2A#TASK</em>A2A</a></h1>
<p>The TASK<em>A2A</em>ENGAGE class defines an engage task for a human player to be executed.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#TASK_A2A_INTERCEPT">TASK_A2A_INTERCEPT</a></td>
<td class="summary">
<h1>TASK<em>A2A</em>INTERCEPT class, extends <a href="Task_A2A.html##(TASK_A2A)">Task<em>A2A#TASK</em>A2A</a></h1>
<p>The TASK<em>A2A</em>INTERCEPT class defines an intercept task for a human player to be executed.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#TASK_A2A_SWEEP">TASK_A2A_SWEEP</a></td>
<td class="summary">
<h1>TASK<em>A2A</em>SWEEP class, extends <a href="Task_A2A.html##(TASK_A2A)">Task<em>A2A#TASK</em>A2A</a></h1>
<p>The TASK<em>A2A</em>SWEEP class defines a sweep task for a human player to be executed.</p>
</td>
</tr>
</table>
@ -281,12 +289,6 @@ The TASK_A2A is implemented using a <a href="Statemachine.html##(FSM_TASK)">Stat
<h2><a id="#(TASK_A2A_ENGAGE)">Type <code>TASK_A2A_ENGAGE</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2A_ENGAGE).ClassName">TASK_A2A_ENGAGE.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2A_ENGAGE).New">TASK_A2A_ENGAGE:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)</a></td>
<td class="summary">
<p>Instantiates a new TASK<em>A2A</em>ENGAGE.</p>
@ -303,12 +305,6 @@ The TASK_A2A is implemented using a <a href="Statemachine.html##(FSM_TASK)">Stat
<h2><a id="#(TASK_A2A_INTERCEPT)">Type <code>TASK_A2A_INTERCEPT</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2A_INTERCEPT).ClassName">TASK_A2A_INTERCEPT.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2A_INTERCEPT).New">TASK_A2A_INTERCEPT:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)</a></td>
<td class="summary">
<p>Instantiates a new TASK<em>A2A</em>INTERCEPT.</p>
@ -318,6 +314,22 @@ The TASK_A2A is implemented using a <a href="Statemachine.html##(FSM_TASK)">Stat
<td class="name" nowrap="nowrap"><a href="##(TASK_A2A_INTERCEPT).TargetSetUnit">TASK_A2A_INTERCEPT.TargetSetUnit</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(TASK_A2A_SWEEP)">Type <code>TASK_A2A_SWEEP</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2A_SWEEP).New">TASK_A2A_SWEEP:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)</a></td>
<td class="summary">
<p>Instantiates a new TASK<em>A2A</em>SWEEP.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2A_SWEEP).TargetSetUnit">TASK_A2A_SWEEP.TargetSetUnit</a></td>
<td class="summary">
</td>
</tr>
</table>
@ -347,6 +359,18 @@ The TASK_A2A is implemented using a <a href="Statemachine.html##(FSM_TASK)">Stat
</dt>
<dd>
<h1>TASK<em>A2A</em>ENGAGE class, extends <a href="Task_A2A.html##(TASK_A2A)">Task<em>A2A#TASK</em>A2A</a></h1>
<p>The TASK<em>A2A</em>ENGAGE class defines an engage task for a human player to be executed.</p>
<p>When enemy planes are close to human players, use this task type is used urge the players to get out there!</p>
<p>The TASK<em>A2A</em>ENGAGE is used by the <a href="Task_A2A_Dispatcher.html##(TASK_A2A_DISPATCHER)">Task<em>A2A</em>Dispatcher#TASK<em>A2A</em>DISPATCHER</a> to automatically create engage tasks
based on detected airborne enemy targets intruding friendly airspace.</p>
<p>The task is defined for a <a href="Mission.html##(MISSION)">Mission#MISSION</a>, where a friendly <a href="Set.html##(SET_GROUP)">Set#SET_GROUP</a> consisting of GROUPs with one human players each, is engaging the targets.
The task is given a name and a briefing, that is used in the menu structure and in the reporting.</p>
</dd>
@ -361,6 +385,46 @@ The TASK_A2A is implemented using a <a href="Statemachine.html##(FSM_TASK)">Stat
</dt>
<dd>
<h1>TASK<em>A2A</em>INTERCEPT class, extends <a href="Task_A2A.html##(TASK_A2A)">Task<em>A2A#TASK</em>A2A</a></h1>
<p>The TASK<em>A2A</em>INTERCEPT class defines an intercept task for a human player to be executed.</p>
<p>When enemy planes need to be intercepted by human players, use this task type to urgen the players to get out there!</p>
<p>The TASK<em>A2A</em>INTERCEPT is used by the <a href="Task_A2A_Dispatcher.html##(TASK_A2A_DISPATCHER)">Task<em>A2A</em>Dispatcher#TASK<em>A2A</em>DISPATCHER</a> to automatically create intercept tasks
based on detected airborne enemy targets intruding friendly airspace.</p>
<p>The task is defined for a <a href="Mission.html##(MISSION)">Mission#MISSION</a>, where a friendly <a href="Set.html##(SET_GROUP)">Set#SET_GROUP</a> consisting of GROUPs with one human players each, is intercepting the targets.
The task is given a name and a briefing, that is used in the menu structure and in the reporting.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(TASK_A2A_SWEEP)">#TASK_A2A_SWEEP</a></em>
<a id="TASK_A2A_SWEEP" >
<strong>TASK_A2A_SWEEP</strong>
</a>
</dt>
<dd>
<h1>TASK<em>A2A</em>SWEEP class, extends <a href="Task_A2A.html##(TASK_A2A)">Task<em>A2A#TASK</em>A2A</a></h1>
<p>The TASK<em>A2A</em>SWEEP class defines a sweep task for a human player to be executed.</p>
<p>A sweep task needs to be given when targets were detected but somehow the detection was lost.
Most likely, these enemy planes are hidden in the mountains or are flying under radar.
These enemy planes need to be sweeped by human players, and use this task type to urge the players to get out there and find those enemy fighters.</p>
<p>The TASK<em>A2A</em>SWEEP is used by the <a href="Task_A2A_Dispatcher.html##(TASK_A2A_DISPATCHER)">Task<em>A2A</em>Dispatcher#TASK<em>A2A</em>DISPATCHER</a> to automatically create sweep tasks
based on detected airborne enemy targets intruding friendly airspace, for which the detection has been lost for more than 60 seconds.</p>
<p>The task is defined for a <a href="Mission.html##(MISSION)">Mission#MISSION</a>, where a friendly <a href="Set.html##(SET_GROUP)">Set#SET_GROUP</a> consisting of GROUPs with one human players each, is sweeping the targets.
The task is given a name and a briefing, that is used in the menu structure and in the reporting.</p>
</dd>
@ -847,20 +911,6 @@ The Zone object where the Target is located on the map.</p>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(TASK_A2A_ENGAGE).ClassName" >
<strong>TASK_A2A_ENGAGE.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(TASK_A2A_ENGAGE).New" >
<strong>TASK_A2A_ENGAGE:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)</strong>
</a>
@ -930,20 +980,6 @@ self</p>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(TASK_A2A_INTERCEPT).ClassName" >
<strong>TASK_A2A_INTERCEPT.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(TASK_A2A_INTERCEPT).New" >
<strong>TASK_A2A_INTERCEPT:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)</strong>
</a>
@ -1002,6 +1038,75 @@ self</p>
</dd>
</dl>
<h2><a id="#(TASK_A2A_SWEEP)" >Type <code>TASK_A2A_SWEEP</code></a></h2>
<p>The TASK<em>A2A</em>SWEEP class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<a id="#(TASK_A2A_SWEEP).New" >
<strong>TASK_A2A_SWEEP:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)</strong>
</a>
</dt>
<dd>
<p>Instantiates a new TASK<em>A2A</em>SWEEP.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Tasking.Mission.html##(MISSION)">Tasking.Mission#MISSION</a> Mission </em></code>: </p>
</li>
<li>
<p><code><em><a href="Core.Set.html##(SET_GROUP)">Core.Set#SET_GROUP</a> SetGroup </em></code>:
The set of groups for which the Task can be assigned.</p>
</li>
<li>
<p><code><em>#string TaskName </em></code>:
The name of the Task.</p>
</li>
<li>
<p><code><em><a href="Core.Set.html##(SET_UNIT)">Core.Set#SET_UNIT</a> TargetSetUnit </em></code>: </p>
</li>
<li>
<p><code><em>#string TaskBriefing </em></code>:
The briefing of the task.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(TASK_A2A_SWEEP)">#TASK<em>A2A</em>SWEEP</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a></em>
<a id="#(TASK_A2A_SWEEP).TargetSetUnit" >
<strong>TASK_A2A_SWEEP.TargetSetUnit</strong>
</a>
</dt>
<dd>
</dd>
</dl>

View File

@ -104,38 +104,6 @@
<hr/>
<h1>1) <a href="##(TASK_A2A_DISPATCHER)">#TASK<em>A2A</em>DISPATCHER</a> class, extends <a href="##(DETECTION_MANAGER)">#DETECTION_MANAGER</a></h1>
<p>The <a href="##(TASK_A2A_DISPATCHER)">#TASK<em>A2A</em>DISPATCHER</a> class implements the dynamic dispatching of tasks upon groups of detected units determined a <a href="Set.html">Set</a> of EWR installation groups.
The EWR will detect units, will group them, and will dispatch <a href="Task.html">Task</a>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:</p>
<ul>
<li><strong>INTERCEPT Task</strong>: Is created when the target is known, is detected and within a danger zone, and there is no friendly airborne in range.</li>
<li><strong>SWEEP Task</strong>: 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.</li>
<li><strong>ENGAGE Task</strong>: 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.</li>
</ul>
<p>Other task types will follow...</p>
<h2>3.1) TASK<em>A2A</em>DISPATCHER constructor:</h2>
<p>The <a href="##(TASK_A2A_DISPATCHER).New">TASK<em>A2A</em>DISPATCHER.New</a>() method creates a new TASK<em>A2A</em>DISPATCHER instance.</p>
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
<p>The underlying change log documents the API changes. Please read this carefully. The following notation is used:</p>
<ul>
<li><strong>Added</strong> parts are expressed in bold type face.</li>
<li><em>Removed</em> parts are expressed in italic type face.</li>
</ul>
<p>Hereby the change log:</p>
<hr/>
<h1><strong>AUTHORS and CONTRIBUTIONS</strong></h1>
@ -154,22 +122,18 @@ Find a summary below describing for which situation a task type is created:</p>
<tr>
<td class="name" nowrap="nowrap"><a href="#TASK_A2A_DISPATCHER">TASK_A2A_DISPATCHER</a></td>
<td class="summary">
<h1>TASK<em>A2A</em>DISPATCHER class, extends <a href="Tasking.html##(DETECTION_MANAGER)">Tasking#DETECTION_MANAGER</a></h1>
<p>The <a href="##(TASK_A2A_DISPATCHER)">#TASK<em>A2A</em>DISPATCHER</a> class implements the dynamic dispatching of tasks upon groups of detected units determined a <a href="Set.html">Set</a> of EWR installation groups.</p>
</td>
</tr>
</table>
<h2><a id="#(TASK_A2A_DISPATCHER)">Type <code>TASK_A2A_DISPATCHER</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2A_DISPATCHER).ClassName">TASK_A2A_DISPATCHER.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2A_DISPATCHER).Detection">TASK_A2A_DISPATCHER.Detection</a></td>
<td class="summary">
<p>The DETECTION_BASE object that is used to report the detected objects. The Detection object will only function in RADAR mode!!!</p>
</td>
</tr>
<tr>
@ -188,6 +152,12 @@ Find a summary below describing for which situation a task type is created:</p>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2A_DISPATCHER).EvaluateRemoveTask">TASK_A2A_DISPATCHER:EvaluateRemoveTask(Mission, Task, Detection, DetectedItemID, DetectedItemChange, DetectedItem, DetectedItemIndex, DetectedItemChanged)</a></td>
<td class="summary">
<p>Evaluates the removal of the Task from the Mission.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2A_DISPATCHER).EvaluateSWEEP">TASK_A2A_DISPATCHER:EvaluateSWEEP(DetectedItem)</a></td>
<td class="summary">
<p>Creates an SWEEP task when there are targets for it.</p>
</td>
</tr>
<tr>
@ -224,18 +194,6 @@ Find a summary below describing for which situation a task type is created:</p>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2A_DISPATCHER).ProcessDetected">TASK_A2A_DISPATCHER:ProcessDetected(Detection)</a></td>
<td class="summary">
<p>Assigns tasks in relation to the detected items to the <a href="Set.html##(SET_GROUP)">Set#SET_GROUP</a>.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2A_DISPATCHER).SetGroup">TASK_A2A_DISPATCHER.SetGroup</a></td>
<td class="summary">
<p>The groups to which the FAC will report to.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2A_DISPATCHER).Tasks">TASK_A2A_DISPATCHER.Tasks</a></td>
<td class="summary">
</td>
</tr>
</table>
@ -251,6 +209,25 @@ Find a summary below describing for which situation a task type is created:</p>
</dt>
<dd>
<h1>TASK<em>A2A</em>DISPATCHER class, extends <a href="Tasking.html##(DETECTION_MANAGER)">Tasking#DETECTION_MANAGER</a></h1>
<p>The <a href="##(TASK_A2A_DISPATCHER)">#TASK<em>A2A</em>DISPATCHER</a> class implements the dynamic dispatching of tasks upon groups of detected units determined a <a href="Set.html">Set</a> of EWR installation groups.</p>
<p>The EWR will detect units, will group them, and will dispatch <a href="Task.html">Task</a>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:</p>
<ul>
<li><strong>INTERCEPT Task</strong>: Is created when the target is known, is detected and within a danger zone, and there is no friendly airborne in range.</li>
<li><strong>SWEEP Task</strong>: 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.</li>
<li><strong>ENGAGE Task</strong>: 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.</li>
</ul>
<p>Other task types will follow...</p>
<h1>TASK<em>A2A</em>DISPATCHER constructor:</h1>
<hr/>
<p>The <a href="##(TASK_A2A_DISPATCHER).New">TASK<em>A2A</em>DISPATCHER.New</a>() method creates a new TASK<em>A2A</em>DISPATCHER instance.</p>
</dd>
@ -265,28 +242,14 @@ Find a summary below describing for which situation a task type is created:</p>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(TASK_A2A_DISPATCHER).ClassName" >
<strong>TASK_A2A_DISPATCHER.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Functional.Detection.html##(DETECTION_BASE)">Functional.Detection#DETECTION_BASE</a></em>
<em></em>
<a id="#(TASK_A2A_DISPATCHER).Detection" >
<strong>TASK_A2A_DISPATCHER.Detection</strong>
</a>
</dt>
<dd>
<p>The DETECTION_BASE object that is used to report the detected objects. The Detection object will only function in RADAR mode!!!</p>
</dd>
</dl>
@ -430,6 +393,42 @@ The detection created by the <a href="Detection.html##(DETECTION_BASE)">Detectio
<dl class="function">
<dt>
<a id="#(TASK_A2A_DISPATCHER).EvaluateSWEEP" >
<strong>TASK_A2A_DISPATCHER:EvaluateSWEEP(DetectedItem)</strong>
</a>
</dt>
<dd>
<p>Creates an SWEEP task when there are targets for it.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Functional.Detection.html##(DETECTION_BASE.DetectedItem)">Functional.Detection#DETECTION_BASE.DetectedItem</a> DetectedItem </em></code>: </p>
</li>
</ul>
<h3>Return values</h3>
<ol>
<li>
<p><em><a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a>:</em>
TargetSetUnit: The target set of units.</p>
</li>
<li>
<p><em>#nil:</em>
If there are no targets to be set.</p>
</li>
</ol>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(TASK_A2A_DISPATCHER).GetFriendliesNearBy" >
<strong>TASK_A2A_DISPATCHER:GetFriendliesNearBy(DetectedItem)</strong>
</a>
@ -482,7 +481,7 @@ The detection created by the <a href="Detection.html##(DETECTION_BASE)">Detectio
<dl class="function">
<dt>
<em><a href="Tasking.Mission.html##(MISSION)">Tasking.Mission#MISSION</a></em>
<em></em>
<a id="#(TASK_A2A_DISPATCHER).Mission" >
<strong>TASK_A2A_DISPATCHER.Mission</strong>
</a>
@ -606,34 +605,6 @@ The detection created by the <a href="Detection.html##(DETECTION_BASE)">Detectio
<p><em>#boolean:</em>
Return true if you want the task assigning to continue... false will cancel the loop.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Set.html##(SET_GROUP)">Set#SET_GROUP</a></em>
<a id="#(TASK_A2A_DISPATCHER).SetGroup" >
<strong>TASK_A2A_DISPATCHER.SetGroup</strong>
</a>
</dt>
<dd>
<p>The groups to which the FAC will report to.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(TASK_A2A_DISPATCHER).Tasks" >
<strong>TASK_A2A_DISPATCHER.Tasks</strong>
</a>
</dt>
<dd>
</dd>
</dl>

View File

@ -131,22 +131,6 @@ The TASK_A2G is implemented using a <a href="Statemachine.html##(FSM_TASK)">Stat
<li><a href="##(TASK_A2G).SetPenaltyOnFailed">TASK_A2G.SetPenaltyOnFailed</a>(): Set a penalty when the A2G attack has failed.</li>
</ul>
<h1>2) <a href="Task_A2G.html##(TASK_SEAD)">Task<em>A2G#TASK</em>SEAD</a> class, extends <a href="Task_A2G.html##(TASK_A2G)">Task<em>A2G#TASK</em>A2G</a></h1>
<p>The <a href="##(TASK_SEAD)">#TASK_SEAD</a> class defines a SEAD task for a <a href="Set.html">Set</a> of Target Units.</p>
<hr/>
<h1>3) <a href="Task_A2G.html##(TASK_CAS)">Task<em>A2G#TASK</em>CAS</a> class, extends <a href="Task_A2G.html##(TASK_A2G)">Task<em>A2G#TASK</em>A2G</a></h1>
<p>The <a href="##(TASK_CAS)">#TASK_CAS</a> class defines a CAS task for a <a href="Set.html">Set</a> of Target Units.</p>
<hr/>
<h1>4) <a href="Task_A2G.html##(TASK_BAI)">Task<em>A2G#TASK</em>BAI</a> class, extends <a href="Task_A2G.html##(TASK_A2G)">Task<em>A2G#TASK</em>A2G</a></h1>
<p>The <a href="##(TASK_BAI)">#TASK_BAI</a> class defines a BAI task for a <a href="Set.html">Set</a> of Target Units.</p>
<hr/>
<h1><strong>API CHANGE HISTORY</strong></h1>
@ -188,21 +172,27 @@ The TASK_A2G is implemented using a <a href="Statemachine.html##(FSM_TASK)">Stat
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#TASK_BAI">TASK_BAI</a></td>
<td class="name" nowrap="nowrap"><a href="#TASK_A2G_BAI">TASK_A2G_BAI</a></td>
<td class="summary">
<h1>TASK<em>A2G</em>BAI class, extends <a href="Task_A2G.html##(TASK_A2G)">Task<em>A2G#TASK</em>A2G</a></h1>
<p>The TASK<em>A2G</em>BAI class defines an Battlefield Air Interdiction task for a human player to be executed.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#TASK_CAS">TASK_CAS</a></td>
<td class="name" nowrap="nowrap"><a href="#TASK_A2G_CAS">TASK_A2G_CAS</a></td>
<td class="summary">
<h1>TASK<em>A2G</em>CAS class, extends <a href="Task_A2G.html##(TASK_A2G)">Task<em>A2G#TASK</em>A2G</a></h1>
<p>The TASK<em>A2G</em>CAS class defines an Close Air Support task for a human player to be executed.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#TASK_SEAD">TASK_SEAD</a></td>
<td class="name" nowrap="nowrap"><a href="#TASK_A2G_SEAD">TASK_A2G_SEAD</a></td>
<td class="summary">
<h1>TASK<em>A2G</em>SEAD class, extends <a href="Task_A2G.html##(TASK_A2G)">Task<em>A2G#TASK</em>A2G</a></h1>
<p>The TASK<em>A2G</em>SEAD class defines an Suppression or Extermination of Air Defenses task for a human player to be executed.</p>
</td>
</tr>
</table>
@ -300,66 +290,48 @@ The TASK_A2G is implemented using a <a href="Statemachine.html##(FSM_TASK)">Stat
</tr>
</table>
<h2><a id="#(TASK_BAI)">Type <code>TASK_BAI</code></a></h2>
<h2><a id="#(TASK_A2G_BAI)">Type <code>TASK_A2G_BAI</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_BAI).ClassName">TASK_BAI.ClassName</a></td>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2G_BAI).New">TASK_A2G_BAI:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)</a></td>
<td class="summary">
<p>Instantiates a new TASK<em>A2G</em>BAI.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_BAI).New">TASK_BAI:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)</a></td>
<td class="summary">
<p>Instantiates a new TASK_BAI.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_BAI).TargetSetUnit">TASK_BAI.TargetSetUnit</a></td>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2G_BAI).TargetSetUnit">TASK_A2G_BAI.TargetSetUnit</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(TASK_CAS)">Type <code>TASK_CAS</code></a></h2>
<h2><a id="#(TASK_A2G_CAS)">Type <code>TASK_A2G_CAS</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_CAS).ClassName">TASK_CAS.ClassName</a></td>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2G_CAS).New">TASK_A2G_CAS:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)</a></td>
<td class="summary">
<p>Instantiates a new TASK<em>A2G</em>CAS.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_CAS).New">TASK_CAS:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)</a></td>
<td class="summary">
<p>Instantiates a new TASK_CAS.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_CAS).TargetSetUnit">TASK_CAS.TargetSetUnit</a></td>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2G_CAS).TargetSetUnit">TASK_A2G_CAS.TargetSetUnit</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(TASK_SEAD)">Type <code>TASK_SEAD</code></a></h2>
<h2><a id="#(TASK_A2G_SEAD)">Type <code>TASK_A2G_SEAD</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_SEAD).ClassName">TASK_SEAD.ClassName</a></td>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2G_SEAD).New">TASK_A2G_SEAD:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)</a></td>
<td class="summary">
<p>Instantiates a new TASK<em>A2G</em>SEAD.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_SEAD).New">TASK_SEAD:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)</a></td>
<td class="summary">
<p>Instantiates a new TASK_SEAD.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(TASK_SEAD).TargetSetUnit">TASK_SEAD.TargetSetUnit</a></td>
<td class="name" nowrap="nowrap"><a href="##(TASK_A2G_SEAD).TargetSetUnit">TASK_A2G_SEAD.TargetSetUnit</a></td>
<td class="summary">
</td>
@ -384,13 +356,23 @@ The TASK_A2G is implemented using a <a href="Statemachine.html##(FSM_TASK)">Stat
<dl class="function">
<dt>
<em><a href="##(TASK_BAI)">#TASK_BAI</a></em>
<a id="TASK_BAI" >
<strong>TASK_BAI</strong>
<em><a href="##(TASK_A2G_BAI)">#TASK_A2G_BAI</a></em>
<a id="TASK_A2G_BAI" >
<strong>TASK_A2G_BAI</strong>
</a>
</dt>
<dd>
<h1>TASK<em>A2G</em>BAI class, extends <a href="Task_A2G.html##(TASK_A2G)">Task<em>A2G#TASK</em>A2G</a></h1>
<p>The TASK<em>A2G</em>BAI class defines an Battlefield Air Interdiction task for a human player to be executed.</p>
<p>These tasks are more strategic in nature and are most of the time further away from friendly forces.
BAI tasks can also be used to express the abscence of friendly forces near the vicinity.</p>
<p>The TASK<em>A2G</em>BAI is used by the <a href="Task_A2G_Dispatcher.html##(TASK_A2G_DISPATCHER)">Task<em>A2G</em>Dispatcher#TASK<em>A2G</em>DISPATCHER</a> to automatically create BAI tasks
based on detected enemy ground targets.</p>
</dd>
@ -398,13 +380,22 @@ The TASK_A2G is implemented using a <a href="Statemachine.html##(FSM_TASK)">Stat
<dl class="function">
<dt>
<em><a href="##(TASK_CAS)">#TASK_CAS</a></em>
<a id="TASK_CAS" >
<strong>TASK_CAS</strong>
<em><a href="##(TASK_A2G_CAS)">#TASK_A2G_CAS</a></em>
<a id="TASK_A2G_CAS" >
<strong>TASK_A2G_CAS</strong>
</a>
</dt>
<dd>
<h1>TASK<em>A2G</em>CAS class, extends <a href="Task_A2G.html##(TASK_A2G)">Task<em>A2G#TASK</em>A2G</a></h1>
<p>The TASK<em>A2G</em>CAS class defines an Close Air Support task for a human player to be executed.</p>
<p>Friendly forces will be in the vicinity within 6km from the enemy.</p>
<p>The TASK<em>A2G</em>CAS is used by the <a href="Task_A2G_Dispatcher.html##(TASK_A2G_DISPATCHER)">Task<em>A2G</em>Dispatcher#TASK<em>A2G</em>DISPATCHER</a> to automatically create CAS tasks
based on detected enemy ground targets.</p>
</dd>
@ -412,13 +403,22 @@ The TASK_A2G is implemented using a <a href="Statemachine.html##(FSM_TASK)">Stat
<dl class="function">
<dt>
<em><a href="##(TASK_SEAD)">#TASK_SEAD</a></em>
<a id="TASK_SEAD" >
<strong>TASK_SEAD</strong>
<em><a href="##(TASK_A2G_SEAD)">#TASK_A2G_SEAD</a></em>
<a id="TASK_A2G_SEAD" >
<strong>TASK_A2G_SEAD</strong>
</a>
</dt>
<dd>
<h1>TASK<em>A2G</em>SEAD class, extends <a href="Task_A2G.html##(TASK_A2G)">Task<em>A2G#TASK</em>A2G</a></h1>
<p>The TASK<em>A2G</em>SEAD class defines an Suppression or Extermination of Air Defenses task for a human player to be executed.</p>
<p>These tasks are important to be executed as they will help to achieve air superiority at the vicinity.</p>
<p>The TASK<em>A2G</em>SEAD is used by the <a href="Task_A2G_Dispatcher.html##(TASK_A2G_DISPATCHER)">Task<em>A2G</em>Dispatcher#TASK<em>A2G</em>DISPATCHER</a> to automatically create SEAD tasks
based on detected enemy ground targets.</p>
</dd>
@ -887,35 +887,21 @@ The Zone object where the Target is located on the map.</p>
</dd>
</dl>
<h2><a id="#(TASK_BAI)" >Type <code>TASK_BAI</code></a></h2>
<h2><a id="#(TASK_A2G_BAI)" >Type <code>TASK_A2G_BAI</code></a></h2>
<p>The TASK_BAI class</p>
<p>The TASK<em>A2G</em>BAI class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(TASK_BAI).ClassName" >
<strong>TASK_BAI.ClassName</strong>
<a id="#(TASK_A2G_BAI).New" >
<strong>TASK_A2G_BAI:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(TASK_BAI).New" >
<strong>TASK_BAI:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)</strong>
</a>
</dt>
<dd>
<p>Instantiates a new TASK_BAI.</p>
<p>Instantiates a new TASK<em>A2G</em>BAI.</p>
<h3>Parameters</h3>
<ul>
@ -950,7 +936,7 @@ The briefing of the task.</p>
</ul>
<h3>Return value</h3>
<p><em><a href="##(TASK_BAI)">#TASK_BAI</a>:</em>
<p><em><a href="##(TASK_A2G_BAI)">#TASK<em>A2G</em>BAI</a>:</em>
self</p>
</dd>
@ -959,8 +945,8 @@ self</p>
<dt>
<em><a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a></em>
<a id="#(TASK_BAI).TargetSetUnit" >
<strong>TASK_BAI.TargetSetUnit</strong>
<a id="#(TASK_A2G_BAI).TargetSetUnit" >
<strong>TASK_A2G_BAI.TargetSetUnit</strong>
</a>
</dt>
<dd>
@ -970,35 +956,21 @@ self</p>
</dd>
</dl>
<h2><a id="#(TASK_CAS)" >Type <code>TASK_CAS</code></a></h2>
<h2><a id="#(TASK_A2G_CAS)" >Type <code>TASK_A2G_CAS</code></a></h2>
<p>The TASK_CAS class</p>
<p>The TASK<em>A2G</em>CAS class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(TASK_CAS).ClassName" >
<strong>TASK_CAS.ClassName</strong>
<a id="#(TASK_A2G_CAS).New" >
<strong>TASK_A2G_CAS:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(TASK_CAS).New" >
<strong>TASK_CAS:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)</strong>
</a>
</dt>
<dd>
<p>Instantiates a new TASK_CAS.</p>
<p>Instantiates a new TASK<em>A2G</em>CAS.</p>
<h3>Parameters</h3>
<ul>
@ -1033,7 +1005,7 @@ The briefing of the task.</p>
</ul>
<h3>Return value</h3>
<p><em><a href="##(TASK_CAS)">#TASK_CAS</a>:</em>
<p><em><a href="##(TASK_A2G_CAS)">#TASK<em>A2G</em>CAS</a>:</em>
self</p>
</dd>
@ -1042,8 +1014,8 @@ self</p>
<dt>
<em><a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a></em>
<a id="#(TASK_CAS).TargetSetUnit" >
<strong>TASK_CAS.TargetSetUnit</strong>
<a id="#(TASK_A2G_CAS).TargetSetUnit" >
<strong>TASK_A2G_CAS.TargetSetUnit</strong>
</a>
</dt>
<dd>
@ -1053,35 +1025,21 @@ self</p>
</dd>
</dl>
<h2><a id="#(TASK_SEAD)" >Type <code>TASK_SEAD</code></a></h2>
<h2><a id="#(TASK_A2G_SEAD)" >Type <code>TASK_A2G_SEAD</code></a></h2>
<p>The TASK_SEAD class</p>
<p>The TASK<em>A2G</em>SEAD class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(TASK_SEAD).ClassName" >
<strong>TASK_SEAD.ClassName</strong>
<a id="#(TASK_A2G_SEAD).New" >
<strong>TASK_A2G_SEAD:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(TASK_SEAD).New" >
<strong>TASK_SEAD:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)</strong>
</a>
</dt>
<dd>
<p>Instantiates a new TASK_SEAD.</p>
<p>Instantiates a new TASK<em>A2G</em>SEAD.</p>
<h3>Parameters</h3>
<ul>
@ -1116,7 +1074,7 @@ The briefing of the task.</p>
</ul>
<h3>Return value</h3>
<p><em><a href="##(TASK_SEAD)">#TASK_SEAD</a>:</em>
<p><em><a href="##(TASK_A2G_SEAD)">#TASK<em>A2G</em>SEAD</a>:</em>
self</p>
</dd>
@ -1125,8 +1083,8 @@ self</p>
<dt>
<em><a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a></em>
<a id="#(TASK_SEAD).TargetSetUnit" >
<strong>TASK_SEAD.TargetSetUnit</strong>
<a id="#(TASK_A2G_SEAD).TargetSetUnit" >
<strong>TASK_A2G_SEAD.TargetSetUnit</strong>
</a>
</dt>
<dd>

View File

@ -524,7 +524,7 @@ based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TA
<dl class="function">
<dt>
<em></em>
<em><a href="Core.Cargo.html##(CARGO_GROUP)">Core.Cargo#CARGO_GROUP</a></em>
<a id="#(FSM_PROCESS).Cargo" >
<strong>FSM_PROCESS.Cargo</strong>
</a>
@ -538,7 +538,6 @@ based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TA
<dl class="function">
<dt>
<em></em>
<a id="#(FSM_PROCESS).DeployZone" >
<strong>FSM_PROCESS.DeployZone</strong>
</a>

View File

@ -260,7 +260,7 @@
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_BASE).GetCoordinate">ZONE_BASE:GetCoordinate(Height)</a></td>
<td class="name" nowrap="nowrap"><a href="##(ZONE_BASE).GetCoordinate">ZONE_BASE:GetCoordinate()</a></td>
<td class="summary">
<p>Returns a <a href="Point.html##(COORDINATE)">Point#COORDINATE</a> of the zone.</p>
</td>
@ -945,22 +945,13 @@ The bounding square.</p>
<dt>
<a id="#(ZONE_BASE).GetCoordinate" >
<strong>ZONE_BASE:GetCoordinate(Height)</strong>
<strong>ZONE_BASE:GetCoordinate()</strong>
</a>
</dt>
<dd>
<p>Returns a <a href="Point.html##(COORDINATE)">Point#COORDINATE</a> of the zone.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Dcs.DCSTypes.html##(Distance)">Dcs.DCSTypes#Distance</a> Height </em></code>:
The height to add to the land height where the center of the zone is located.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="Core.Point.html##(COORDINATE)">Core.Point#COORDINATE</a>:</em>