Optimized comments and documentation set

This commit is contained in:
FlightControl_Master 2018-05-23 10:42:27 +02:00
parent fe2f59660d
commit 1b39f5d6e6
83 changed files with 538 additions and 525 deletions

View File

@ -8,7 +8,7 @@
-- --
-- === -- ===
-- --
-- @module AI_A2A -- @module AI.AI_A2A
--BASE:TraceClass("AI_A2A") --BASE:TraceClass("AI_A2A")
@ -18,7 +18,7 @@
--- # AI_A2A class, extends @{Fsm#FSM_CONTROLLABLE} --- # AI_A2A class, extends @{Fsm#FSM_CONTROLLABLE}
-- --
-- The AI_A2A class implements the core functions to operate an AI @{Group} A2A tasking. -- The AI_A2A class implements the core functions to operate an AI @{Wrapper.Group} A2A tasking.
-- --
-- --
-- ## AI_A2A constructor -- ## AI_A2A constructor
@ -295,8 +295,8 @@ end
--- Sets (modifies) the minimum and maximum speed of the patrol. --- Sets (modifies) the minimum and maximum speed of the patrol.
-- @param #AI_A2A self -- @param #AI_A2A self
-- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Controllable} in km/h. -- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Wrapper.Controllable} in km/h.
-- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Controllable} in km/h. -- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Wrapper.Controllable} in km/h.
-- @return #AI_A2A self -- @return #AI_A2A self
function AI_A2A:SetSpeed( PatrolMinSpeed, PatrolMaxSpeed ) function AI_A2A:SetSpeed( PatrolMinSpeed, PatrolMaxSpeed )
self:F2( { PatrolMinSpeed, PatrolMaxSpeed } ) self:F2( { PatrolMinSpeed, PatrolMaxSpeed } )

View File

@ -8,7 +8,7 @@
-- --
-- === -- ===
-- --
-- @module AI_A2A_Cap -- @module AI.AI_A2A_Cap
--BASE:TraceClass("AI_A2A_CAP") --BASE:TraceClass("AI_A2A_CAP")
@ -16,14 +16,14 @@
-- @extends AI.AI_A2A_Patrol#AI_A2A_PATROL -- @extends AI.AI_A2A_Patrol#AI_A2A_PATROL
--- # AI_A2A_CAP class, extends @{AI_CAP#AI_PATROL_ZONE} --- # AI_A2A_CAP class, extends @{AI.AI_A2A_Patrol#AI_A2A_PATROL}
-- --
-- The AI_A2A_CAP class implements the core functions to patrol a @{Zone} by an AI @{Group} or @{Group} -- The AI_A2A_CAP class implements the core functions to patrol a @{Zone} by an AI @{Wrapper.Group} or @{Wrapper.Group}
-- and automatically engage any airborne enemies that are within a certain range or within a certain zone. -- and automatically engage any airborne enemies that are within a certain range or within a certain zone.
-- --
-- ![Process](..\Presentations\AI_CAP\Dia3.JPG) -- ![Process](..\Presentations\AI_CAP\Dia3.JPG)
-- --
-- The AI_A2A_CAP is assigned a @{Group} and this must be done before the AI_A2A_CAP process can be started using the **Start** event. -- The AI_A2A_CAP is assigned a @{Wrapper.Group} and this must be done before the AI_A2A_CAP process can be started using the **Start** event.
-- --
-- ![Process](..\Presentations\AI_CAP\Dia4.JPG) -- ![Process](..\Presentations\AI_CAP\Dia4.JPG)
-- --
@ -73,8 +73,8 @@
-- * **@{AI_Patrol#AI_PATROL_ZONE.RTB}**: Route the AI to the home base. -- * **@{AI_Patrol#AI_PATROL_ZONE.RTB}**: Route the AI to the home base.
-- * **@{AI_Patrol#AI_PATROL_ZONE.Detect}**: The AI is detecting targets. -- * **@{AI_Patrol#AI_PATROL_ZONE.Detect}**: The AI is detecting targets.
-- * **@{AI_Patrol#AI_PATROL_ZONE.Detected}**: The AI has detected new targets. -- * **@{AI_Patrol#AI_PATROL_ZONE.Detected}**: The AI has detected new targets.
-- * **@{#AI_A2A_CAP.Destroy}**: The AI has destroyed a bogey @{Unit}. -- * **@{#AI_A2A_CAP.Destroy}**: The AI has destroyed a bogey @{Wrapper.Unit}.
-- * **@{#AI_A2A_CAP.Destroyed}**: The AI has destroyed all bogeys @{Unit}s assigned in the CAS task. -- * **@{#AI_A2A_CAP.Destroyed}**: The AI has destroyed all bogeys @{Wrapper.Unit}s assigned in the CAS task.
-- * **Status** ( Group ): The AI is checking status (fuel and damage). When the tresholds have been reached, the AI will RTB. -- * **Status** ( Group ): The AI is checking status (fuel and damage). When the tresholds have been reached, the AI will RTB.
-- --
-- ## 3. Set the Range of Engagement -- ## 3. Set the Range of Engagement
@ -108,10 +108,10 @@ AI_A2A_CAP = {
-- @param Core.Zone#ZONE_BASE PatrolZone The @{Zone} where the patrol needs to be executed. -- @param Core.Zone#ZONE_BASE PatrolZone The @{Zone} where the patrol needs to be executed.
-- @param Dcs.DCSTypes#Altitude PatrolFloorAltitude The lowest altitude in meters where to execute the patrol. -- @param Dcs.DCSTypes#Altitude PatrolFloorAltitude The lowest altitude in meters where to execute the patrol.
-- @param Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol. -- @param Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol.
-- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Group} in km/h. -- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Wrapper.Group} in km/h.
-- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Group} in km/h. -- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Wrapper.Group} in km/h.
-- @param Dcs.DCSTypes#Speed EngageMinSpeed The minimum speed of the @{Group} in km/h when engaging a target. -- @param Dcs.DCSTypes#Speed EngageMinSpeed The minimum speed of the @{Wrapper.Group} in km/h when engaging a target.
-- @param Dcs.DCSTypes#Speed EngageMaxSpeed The maximum speed of the @{Group} in km/h when engaging a target. -- @param Dcs.DCSTypes#Speed EngageMaxSpeed The maximum speed of the @{Wrapper.Group} in km/h when engaging a target.
-- @param Dcs.DCSTypes#AltitudeType PatrolAltType The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO -- @param Dcs.DCSTypes#AltitudeType PatrolAltType The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO
-- @return #AI_A2A_CAP -- @return #AI_A2A_CAP
function AI_A2A_CAP:New( AICap, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, EngageMinSpeed, EngageMaxSpeed, PatrolAltType ) function AI_A2A_CAP:New( AICap, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, EngageMinSpeed, EngageMaxSpeed, PatrolAltType )

View File

@ -165,7 +165,7 @@ do -- AI_A2A_DISPATCHER
-- @type AI_A2A_DISPATCHER -- @type AI_A2A_DISPATCHER
-- @extends Tasking.DetectionManager#DETECTION_MANAGER -- @extends Tasking.DetectionManager#DETECTION_MANAGER
--- # AI\_A2A\_DISPATCHER class, extends @{Tasking#DETECTION_MANAGER} --- # AI\_A2A\_DISPATCHER class, extends @{Tasking.DetectionManage#DETECTION_MANAGER}
-- --
-- ![Banner Image](..\Presentations\AI_A2A_DISPATCHER\Dia1.JPG) -- ![Banner Image](..\Presentations\AI_A2A_DISPATCHER\Dia1.JPG)
-- --
@ -346,7 +346,7 @@ do -- AI_A2A_DISPATCHER
-- --
-- ![Banner Image](..\Presentations\AI_A2A_DISPATCHER\Dia9.JPG) -- ![Banner Image](..\Presentations\AI_A2A_DISPATCHER\Dia9.JPG)
-- --
-- If its a cold war then the **borders of red and blue territory** need to be defined using a @{zone} object derived from @{Zone#ZONE_BASE}. -- If its a cold war then the **borders of red and blue territory** need to be defined using a @{zone} object derived from @{Core.Zone#ZONE_BASE}.
-- If a hot war is chosen then **no borders** actually need to be defined using the helicopter units other than -- If a hot war is chosen then **no borders** actually need to be defined using the helicopter units other than
-- it makes it easier sometimes for the mission maker to envisage where the red and blue territories roughly are. -- it makes it easier sometimes for the mission maker to envisage where the red and blue territories roughly are.
-- In a hot war the borders are effectively defined by the ground based radar coverage of a coalition. -- In a hot war the borders are effectively defined by the ground based radar coverage of a coalition.
@ -544,7 +544,7 @@ do -- AI_A2A_DISPATCHER
-- * As the CAP flights wander around within the zone waiting to be tasked, these zones need to be large enough that the aircraft are not constantly turning -- * As the CAP flights wander around within the zone waiting to be tasked, these zones need to be large enough that the aircraft are not constantly turning
-- but do not have to be big and numerous enough to completely cover a border. -- but do not have to be big and numerous enough to completely cover a border.
-- --
-- * CAP zones can be of any type, and are derived from the @{Zone#ZONE_BASE} class. Zones can be @{Zone#ZONE}, @{Zone#ZONE_POLYGON}, @{Zone#ZONE_UNIT}, @{Zone#ZONE_GROUP}, etc. -- * CAP zones can be of any type, and are derived from the @{Core.Zone#ZONE_BASE} class. Zones can be @{Core.Zone#ZONE}, @{Core.Zone#ZONE_POLYGON}, @{Core.Zone#ZONE_UNIT}, @{Core.Zone#ZONE_GROUP}, etc.
-- This allows to setup **static, moving and/or complex zones** wherein aircraft will perform the CAP. -- This allows to setup **static, moving and/or complex zones** wherein aircraft will perform the CAP.
-- --
-- * Typically 20000-50000 metres width is used and they are spaced so that aircraft in the zone waiting for tasks dont have to far to travel to protect their coalitions important targets. -- * Typically 20000-50000 metres width is used and they are spaced so that aircraft in the zone waiting for tasks dont have to far to travel to protect their coalitions important targets.
@ -1142,7 +1142,7 @@ do -- AI_A2A_DISPATCHER
--- Define a border area to simulate a **cold war** scenario. --- Define a border area to simulate a **cold war** scenario.
-- A **cold war** is one where CAP aircraft patrol their territory but will not attack enemy aircraft or launch GCI aircraft unless enemy aircraft enter their territory. In other words the EWR may detect an enemy aircraft but will only send aircraft to attack it if it crosses the border. -- A **cold war** is one where CAP aircraft patrol their territory but will not attack enemy aircraft or launch GCI aircraft unless enemy aircraft enter their territory. In other words the EWR may detect an enemy aircraft but will only send aircraft to attack it if it crosses the border.
-- A **hot war** is one where CAP aircraft will intercept any detected enemy aircraft and GCI aircraft will launch against detected enemy aircraft without regard for territory. In other words if the ground radar can detect the enemy aircraft then it will send CAP and GCI aircraft to attack it. -- A **hot war** is one where CAP aircraft will intercept any detected enemy aircraft and GCI aircraft will launch against detected enemy aircraft without regard for territory. In other words if the ground radar can detect the enemy aircraft then it will send CAP and GCI aircraft to attack it.
-- If its a cold war then the **borders of red and blue territory** need to be defined using a @{zone} object derived from @{Zone#ZONE_BASE}. This method needs to be used for this. -- If its a cold war then the **borders of red and blue territory** need to be defined using a @{zone} object derived from @{Core.Zone#ZONE_BASE}. This method needs to be used for this.
-- If a hot war is chosen then **no borders** actually need to be defined using the helicopter units other than it makes it easier sometimes for the mission maker to envisage where the red and blue territories roughly are. In a hot war the borders are effectively defined by the ground based radar coverage of a coalition. Set the noborders parameter to 1 -- If a hot war is chosen then **no borders** actually need to be defined using the helicopter units other than it makes it easier sometimes for the mission maker to envisage where the red and blue territories roughly are. In a hot war the borders are effectively defined by the ground based radar coverage of a coalition. Set the noborders parameter to 1
-- @param #AI_A2A_DISPATCHER self -- @param #AI_A2A_DISPATCHER self
-- @param Core.Zone#ZONE_BASE BorderZone An object derived from ZONE_BASE, or a list of objects derived from ZONE_BASE. -- @param Core.Zone#ZONE_BASE BorderZone An object derived from ZONE_BASE, or a list of objects derived from ZONE_BASE.
@ -1423,11 +1423,11 @@ do -- AI_A2A_DISPATCHER
-- You need to specify here EXACTLY the name of the airbase as you see it in the mission editor. -- You need to specify here EXACTLY the name of the airbase as you see it in the mission editor.
-- Examples are `"Batumi"` or `"Tbilisi-Lochini"`. -- Examples are `"Batumi"` or `"Tbilisi-Lochini"`.
-- EXACTLY the airbase name, between quotes `""`. -- EXACTLY the airbase name, between quotes `""`.
-- To ease the airbase naming when using the LDT editor and IntelliSense, the @{Airbase#AIRBASE} class contains enumerations of the airbases of each map. -- To ease the airbase naming when using the LDT editor and IntelliSense, the @{Wrapper.Airbase#AIRBASE} class contains enumerations of the airbases of each map.
-- --
-- * Caucasus: @{Airbase#AIRBASE.Caucaus} -- * Caucasus: @{Wrapper.Airbase#AIRBASE.Caucaus}
-- * Nevada or NTTR: @{Airbase#AIRBASE.Nevada} -- * Nevada or NTTR: @{Wrapper.Airbase#AIRBASE.Nevada}
-- * Normandy: @{Airbase#AIRBASE.Normandy} -- * Normandy: @{Wrapper.Airbase#AIRBASE.Normandy}
-- --
-- @param #string TemplatePrefixes A string or an array of strings specifying the **prefix names of the templates** (not going to explain what is templates here again). -- @param #string TemplatePrefixes A string or an array of strings specifying the **prefix names of the templates** (not going to explain what is templates here again).
-- Examples are `{ "104th", "105th" }` or `"104th"` or `"Template 1"` or `"BLUE PLANES"`. -- Examples are `{ "104th", "105th" }` or `"104th"` or `"Template 1"` or `"BLUE PLANES"`.
@ -1512,7 +1512,7 @@ do -- AI_A2A_DISPATCHER
--- Set a CAP for a Squadron. --- Set a CAP for a Squadron.
-- @param #AI_A2A_DISPATCHER self -- @param #AI_A2A_DISPATCHER self
-- @param #string SquadronName The squadron name. -- @param #string SquadronName The squadron name.
-- @param Core.Zone#ZONE_BASE Zone The @{Zone} object derived from @{Zone#ZONE_BASE} that defines the zone wherein the CAP will be executed. -- @param Core.Zone#ZONE_BASE Zone The @{Zone} object derived from @{Core.Zone#ZONE_BASE} that defines the zone wherein the CAP will be executed.
-- @param #number FloorAltitude The minimum altitude at which the cap can be executed. -- @param #number FloorAltitude The minimum altitude at which the cap can be executed.
-- @param #number CeilingAltitude the maximum altitude at which the cap can be executed. -- @param #number CeilingAltitude the maximum altitude at which the cap can be executed.
-- @param #number PatrolMinSpeed The minimum speed at which the cap can be executed. -- @param #number PatrolMinSpeed The minimum speed at which the cap can be executed.
@ -2391,7 +2391,7 @@ do -- AI_A2A_DISPATCHER
--- Set the default tanker where defenders will Refuel in the air. --- Set the default tanker where defenders will Refuel in the air.
-- @param #AI_A2A_DISPATCHER self -- @param #AI_A2A_DISPATCHER self
-- @param #strig TankerName A string defining the group name of the Tanker as defined within the Mission Editor. -- @param #string TankerName A string defining the group name of the Tanker as defined within the Mission Editor.
-- @return #AI_A2A_DISPATCHER -- @return #AI_A2A_DISPATCHER
-- @usage -- @usage
-- --
@ -2414,7 +2414,7 @@ do -- AI_A2A_DISPATCHER
--- Set the squadron tanker where defenders will Refuel in the air. --- Set the squadron tanker where defenders will Refuel in the air.
-- @param #AI_A2A_DISPATCHER self -- @param #AI_A2A_DISPATCHER self
-- @param #string SquadronName The name of the squadron. -- @param #string SquadronName The name of the squadron.
-- @param #strig TankerName A string defining the group name of the Tanker as defined within the Mission Editor. -- @param #string TankerName A string defining the group name of the Tanker as defined within the Mission Editor.
-- @return #AI_A2A_DISPATCHER -- @return #AI_A2A_DISPATCHER
-- @usage -- @usage
-- --
@ -2470,7 +2470,7 @@ do -- AI_A2A_DISPATCHER
--- Creates an SWEEP task when there are targets for it. --- Creates an SWEEP task when there are targets for it.
-- @param #AI_A2A_DISPATCHER self -- @param #AI_A2A_DISPATCHER self
-- @param Functional.Detection#DETECTION_BASE.DetectedItem DetectedItem -- @param Functional.Detection#DETECTION_BASE.DetectedItem DetectedItem
-- @return Set#SET_UNIT TargetSetUnit: The target set of units. -- @return Core.Set#SET_UNIT TargetSetUnit: The target set of units.
-- @return #nil If there are no targets to be set. -- @return #nil If there are no targets to be set.
function AI_A2A_DISPATCHER:EvaluateSWEEP( DetectedItem ) function AI_A2A_DISPATCHER:EvaluateSWEEP( DetectedItem )
self:F( { DetectedItem.ItemID } ) self:F( { DetectedItem.ItemID } )
@ -2891,7 +2891,7 @@ do -- AI_A2A_DISPATCHER
--- Creates an ENGAGE task when there are human friendlies airborne near the targets. --- Creates an ENGAGE task when there are human friendlies airborne near the targets.
-- @param #AI_A2A_DISPATCHER self -- @param #AI_A2A_DISPATCHER self
-- @param Functional.Detection#DETECTION_BASE.DetectedItem DetectedItem -- @param Functional.Detection#DETECTION_BASE.DetectedItem DetectedItem
-- @return Set#SET_UNIT TargetSetUnit: The target set of units. -- @return Core.Set#SET_UNIT TargetSetUnit: The target set of units.
-- @return #nil If there are no targets to be set. -- @return #nil If there are no targets to be set.
function AI_A2A_DISPATCHER:EvaluateENGAGE( DetectedItem ) function AI_A2A_DISPATCHER:EvaluateENGAGE( DetectedItem )
self:F( { DetectedItem.ItemID } ) self:F( { DetectedItem.ItemID } )
@ -2918,7 +2918,7 @@ do -- AI_A2A_DISPATCHER
--- Creates an GCI task when there are targets for it. --- Creates an GCI task when there are targets for it.
-- @param #AI_A2A_DISPATCHER self -- @param #AI_A2A_DISPATCHER self
-- @param Functional.Detection#DETECTION_BASE.DetectedItem DetectedItem -- @param Functional.Detection#DETECTION_BASE.DetectedItem DetectedItem
-- @return Set#SET_UNIT TargetSetUnit: The target set of units. -- @return Core.Set#SET_UNIT TargetSetUnit: The target set of units.
-- @return #nil If there are no targets to be set. -- @return #nil If there are no targets to be set.
function AI_A2A_DISPATCHER:EvaluateGCI( DetectedItem ) function AI_A2A_DISPATCHER:EvaluateGCI( DetectedItem )
self:F( { DetectedItem.ItemID } ) self:F( { DetectedItem.ItemID } )

View File

@ -8,7 +8,7 @@
-- --
-- === -- ===
-- --
-- @module AI_A2A_GCI -- @module AI.AI_A2A_GCI
@ -16,13 +16,13 @@
-- @extends AI.AI_A2A#AI_A2A -- @extends AI.AI_A2A#AI_A2A
--- # AI_A2A_GCI class, extends @{AI_A2A#AI_A2A} --- # AI_A2A_GCI class, extends @{AI.AI_A2A#AI_A2A}
-- --
-- The AI_A2A_GCI class implements the core functions to intercept intruders. The Engage function will intercept intruders. -- The AI_A2A_GCI class implements the core functions to intercept intruders. The Engage function will intercept intruders.
-- --
-- ![Process](..\Presentations\AI_GCI\Dia3.JPG) -- ![Process](..\Presentations\AI_GCI\Dia3.JPG)
-- --
-- The AI_A2A_GCI is assigned a @{Group} and this must be done before the AI_A2A_GCI process can be started using the **Start** event. -- The AI_A2A_GCI is assigned a @{Wrapper.Group} and this must be done before the AI_A2A_GCI process can be started using the **Start** event.
-- --
-- ![Process](..\Presentations\AI_GCI\Dia4.JPG) -- ![Process](..\Presentations\AI_GCI\Dia4.JPG)
-- --
@ -72,8 +72,8 @@
-- * **@{AI_Patrol#AI_PATROL_ZONE.RTB}**: Route the AI to the home base. -- * **@{AI_Patrol#AI_PATROL_ZONE.RTB}**: Route the AI to the home base.
-- * **@{AI_Patrol#AI_PATROL_ZONE.Detect}**: The AI is detecting targets. -- * **@{AI_Patrol#AI_PATROL_ZONE.Detect}**: The AI is detecting targets.
-- * **@{AI_Patrol#AI_PATROL_ZONE.Detected}**: The AI has detected new targets. -- * **@{AI_Patrol#AI_PATROL_ZONE.Detected}**: The AI has detected new targets.
-- * **@{#AI_A2A_GCI.Destroy}**: The AI has destroyed a bogey @{Unit}. -- * **@{#AI_A2A_GCI.Destroy}**: The AI has destroyed a bogey @{Wrapper.Unit}.
-- * **@{#AI_A2A_GCI.Destroyed}**: The AI has destroyed all bogeys @{Unit}s assigned in the CAS task. -- * **@{#AI_A2A_GCI.Destroyed}**: The AI has destroyed all bogeys @{Wrapper.Unit}s assigned in the CAS task.
-- * **Status** ( Group ): The AI is checking status (fuel and damage). When the tresholds have been reached, the AI will RTB. -- * **Status** ( Group ): The AI is checking status (fuel and damage). When the tresholds have been reached, the AI will RTB.
-- --
-- ## 3. Set the Range of Engagement -- ## 3. Set the Range of Engagement

View File

@ -8,19 +8,19 @@
-- --
-- === -- ===
-- --
-- @module AI_A2A_Patrol -- @module AI.AI_A2A_Patrol
--- @type AI_A2A_PATROL --- @type AI_A2A_PATROL
-- @extends AI.AI_A2A#AI_A2A -- @extends AI.AI_A2A#AI_A2A
--- # AI_A2A_PATROL class, extends @{Fsm#FSM_CONTROLLABLE} --- # AI_A2A_PATROL class, extends @{AI.AI_A2A#AI_A2A}
-- --
-- The AI_A2A_PATROL class implements the core functions to patrol a @{Zone} by an AI @{Group} or @{Group}. -- The AI_A2A_PATROL class implements the core functions to patrol a @{Zone} by an AI @{Wrapper.Group} or @{Wrapper.Group}.
-- --
-- ![Process](..\Presentations\AI_PATROL\Dia3.JPG) -- ![Process](..\Presentations\AI_PATROL\Dia3.JPG)
-- --
-- The AI_A2A_PATROL is assigned a @{Group} and this must be done before the AI_A2A_PATROL process can be started using the **Start** event. -- The AI_A2A_PATROL is assigned a @{Wrapper.Group} and this must be done before the AI_A2A_PATROL process can be started using the **Start** event.
-- --
-- ![Process](..\Presentations\AI_PATROL\Dia4.JPG) -- ![Process](..\Presentations\AI_PATROL\Dia4.JPG)
-- --
@ -93,7 +93,7 @@
-- * @{#AI_A2A_PATROL.SetDetectionOff}(): Set the detection off, the AI will not detect for targets. The existing target list will NOT be erased. -- * @{#AI_A2A_PATROL.SetDetectionOff}(): Set the detection off, the AI will not detect for targets. The existing target list will NOT be erased.
-- --
-- The detection frequency can be set with @{#AI_A2A_PATROL.SetRefreshTimeInterval}( seconds ), where the amount of seconds specify how much seconds will be waited before the next detection. -- The detection frequency can be set with @{#AI_A2A_PATROL.SetRefreshTimeInterval}( seconds ), where the amount of seconds specify how much seconds will be waited before the next detection.
-- Use the method @{#AI_A2A_PATROL.GetDetectedUnits}() to obtain a list of the @{Unit}s detected by the AI. -- Use the method @{#AI_A2A_PATROL.GetDetectedUnits}() to obtain a list of the @{Wrapper.Unit}s detected by the AI.
-- --
-- The detection can be filtered to potential targets in a specific zone. -- The detection can be filtered to potential targets in a specific zone.
-- Use the method @{#AI_A2A_PATROL.SetDetectionZone}() to set the zone where targets need to be detected. -- Use the method @{#AI_A2A_PATROL.SetDetectionZone}() to set the zone where targets need to be detected.
@ -128,8 +128,8 @@ AI_A2A_PATROL = {
-- @param Core.Zone#ZONE_BASE PatrolZone The @{Zone} where the patrol needs to be executed. -- @param Core.Zone#ZONE_BASE PatrolZone The @{Zone} where the patrol needs to be executed.
-- @param Dcs.DCSTypes#Altitude PatrolFloorAltitude The lowest altitude in meters where to execute the patrol. -- @param Dcs.DCSTypes#Altitude PatrolFloorAltitude The lowest altitude in meters where to execute the patrol.
-- @param Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol. -- @param Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol.
-- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Group} in km/h. -- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Wrapper.Group} in km/h.
-- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Group} in km/h. -- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Wrapper.Group} in km/h.
-- @param Dcs.DCSTypes#AltitudeType PatrolAltType The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO -- @param Dcs.DCSTypes#AltitudeType PatrolAltType The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO
-- @return #AI_A2A_PATROL self -- @return #AI_A2A_PATROL self
-- @usage -- @usage
@ -236,8 +236,8 @@ end
--- Sets (modifies) the minimum and maximum speed of the patrol. --- Sets (modifies) the minimum and maximum speed of the patrol.
-- @param #AI_A2A_PATROL self -- @param #AI_A2A_PATROL self
-- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Group} in km/h. -- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Wrapper.Group} in km/h.
-- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Group} in km/h. -- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Wrapper.Group} in km/h.
-- @return #AI_A2A_PATROL self -- @return #AI_A2A_PATROL self
function AI_A2A_PATROL:SetSpeed( PatrolMinSpeed, PatrolMaxSpeed ) function AI_A2A_PATROL:SetSpeed( PatrolMinSpeed, PatrolMaxSpeed )
self:F2( { PatrolMinSpeed, PatrolMaxSpeed } ) self:F2( { PatrolMinSpeed, PatrolMaxSpeed } )
@ -358,7 +358,7 @@ function AI_A2A_PATROL.Resume( AIPatrol )
AIPatrol:F( { "AI_A2A_PATROL.Resume:", AIPatrol:GetName() } ) AIPatrol:F( { "AI_A2A_PATROL.Resume:", AIPatrol:GetName() } )
if AIPatrol:IsAlive() then if AIPatrol:IsAlive() then
local _AI_A2A = AIPatrol:GetState( AIPatrol, "AI_A2A" ) -- #AI_A2A local _AI_A2A = AIPatrol:GetState( AIPatrol, "AI_A2A" ) -- AI.AI_A2A#AI_A2A
_AI_A2A:__Reset( 1 ) _AI_A2A:__Reset( 1 )
_AI_A2A:__Route( 5 ) _AI_A2A:__Route( 5 )
end end

View File

@ -21,25 +21,25 @@
-- --
-- === -- ===
-- --
-- @module AI_Bai -- @module AI.AI_Bai
--- AI_BAI_ZONE class --- AI_BAI_ZONE class
-- @type AI_BAI_ZONE -- @type AI_BAI_ZONE
-- @field Wrapper.Controllable#CONTROLLABLE AIControllable The @{Controllable} patrolling. -- @field Wrapper.Controllable#CONTROLLABLE AIControllable The @{Wrapper.Controllable} patrolling.
-- @field Core.Zone#ZONE_BASE TargetZone The @{Zone} where the patrol needs to be executed. -- @field Core.Zone#ZONE_BASE TargetZone The @{Zone} where the patrol needs to be executed.
-- @extends AI.AI_Patrol#AI_PATROL_ZONE -- @extends AI.AI_Patrol#AI_PATROL_ZONE
--- # AI_BAI_ZONE class, extends @{AI_Patrol#AI_PATROL_ZONE} --- # AI_BAI_ZONE class, extends @{AI.AI_Patrol#AI_PATROL_ZONE}
-- --
-- AI_BAI_ZONE derives from the @{AI_Patrol#AI_PATROL_ZONE}, inheriting its methods and behaviour. -- AI_BAI_ZONE derives from the @{AI.AI_Patrol#AI_PATROL_ZONE}, inheriting its methods and behaviour.
-- --
-- The AI_BAI_ZONE class implements the core functions to provide BattleGround Air Interdiction in an Engage @{Zone} by an AIR @{Controllable} or @{Group}. -- The AI_BAI_ZONE class implements the core functions to provide BattleGround Air Interdiction in an Engage @{Zone} by an AIR @{Wrapper.Controllable} or @{Wrapper.Group}.
-- The AI_BAI_ZONE runs a process. It holds an AI in a Patrol Zone and when the AI is commanded to engage, it will fly to an Engage Zone. -- The AI_BAI_ZONE runs a process. It holds an AI in a Patrol Zone and when the AI is commanded to engage, it will fly to an Engage Zone.
-- --
-- ![HoldAndEngage](..\Presentations\AI_BAI\Dia3.JPG) -- ![HoldAndEngage](..\Presentations\AI_BAI\Dia3.JPG)
-- --
-- The AI_BAI_ZONE is assigned a @{Group} and this must be done before the AI_BAI_ZONE process can be started through the **Start** event. -- The AI_BAI_ZONE is assigned a @{Wrapper.Group} and this must be done before the AI_BAI_ZONE process can be started through the **Start** event.
-- --
-- ![Start Event](..\Presentations\AI_BAI\Dia4.JPG) -- ![Start Event](..\Presentations\AI_BAI\Dia4.JPG)
-- --
@ -112,8 +112,8 @@
-- * **@{AI_Patrol#AI_PATROL_ZONE.RTB}**: Route the AI to the home base. -- * **@{AI_Patrol#AI_PATROL_ZONE.RTB}**: Route the AI to the home base.
-- * **@{AI_Patrol#AI_PATROL_ZONE.Detect}**: The AI is detecting targets. -- * **@{AI_Patrol#AI_PATROL_ZONE.Detect}**: The AI is detecting targets.
-- * **@{AI_Patrol#AI_PATROL_ZONE.Detected}**: The AI has detected new targets. -- * **@{AI_Patrol#AI_PATROL_ZONE.Detected}**: The AI has detected new targets.
-- * **@{#AI_BAI_ZONE.Destroy}**: The AI has destroyed a target @{Unit}. -- * **@{#AI_BAI_ZONE.Destroy}**: The AI has destroyed a target @{Wrapper.Unit}.
-- * **@{#AI_BAI_ZONE.Destroyed}**: The AI has destroyed all target @{Unit}s assigned in the BOMB task. -- * **@{#AI_BAI_ZONE.Destroyed}**: The AI has destroyed all target @{Wrapper.Unit}s assigned in the BOMB task.
-- * **Status**: The AI is checking status (fuel and damage). When the tresholds have been reached, the AI will RTB. -- * **Status**: The AI is checking status (fuel and damage). When the tresholds have been reached, the AI will RTB.
-- --
-- ## 3. Modify the Engage Zone behaviour to pinpoint a **map object** or **scenery object** -- ## 3. Modify the Engage Zone behaviour to pinpoint a **map object** or **scenery object**
@ -142,8 +142,8 @@ AI_BAI_ZONE = {
-- @param Core.Zone#ZONE_BASE PatrolZone The @{Zone} where the patrol needs to be executed. -- @param Core.Zone#ZONE_BASE PatrolZone The @{Zone} where the patrol needs to be executed.
-- @param Dcs.DCSTypes#Altitude PatrolFloorAltitude The lowest altitude in meters where to execute the patrol. -- @param Dcs.DCSTypes#Altitude PatrolFloorAltitude The lowest altitude in meters where to execute the patrol.
-- @param Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol. -- @param Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol.
-- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Controllable} in km/h. -- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Wrapper.Controllable} in km/h.
-- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Controllable} in km/h. -- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Wrapper.Controllable} in km/h.
-- @param Core.Zone#ZONE_BASE EngageZone The zone where the engage will happen. -- @param Core.Zone#ZONE_BASE EngageZone The zone where the engage will happen.
-- @param Dcs.DCSTypes#AltitudeType PatrolAltType The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO -- @param Dcs.DCSTypes#AltitudeType PatrolAltType The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO
-- @return #AI_BAI_ZONE self -- @return #AI_BAI_ZONE self

View File

@ -21,7 +21,7 @@
-- --
-- === -- ===
-- --
-- @module AI_Balancer -- @module AI.AI_Balancer
--- @type AI_BALANCER --- @type AI_BALANCER
-- @field Core.Set#SET_CLIENT SetClient -- @field Core.Set#SET_CLIENT SetClient
@ -30,7 +30,7 @@
-- @extends Core.Fsm#FSM_SET -- @extends Core.Fsm#FSM_SET
--- # AI_BALANCER class, extends @{Fsm#FSM_SET} --- # AI_BALANCER class, extends @{Core.Fsm#FSM_SET}
-- --
-- The AI_BALANCER class monitors and manages as many replacement AI groups as there are -- The AI_BALANCER class monitors and manages as many replacement AI groups as there are
-- CLIENTS in a SET_CLIENT collection, which are not occupied by human players. -- CLIENTS in a SET_CLIENT collection, which are not occupied by human players.
@ -78,8 +78,8 @@
-- However, there are 2 additional options that you can use to customize the destroy behaviour. -- However, there are 2 additional options that you can use to customize the destroy behaviour.
-- When a human player joins a slot, you can configure to let the AI return to: -- When a human player joins a slot, you can configure to let the AI return to:
-- --
-- * @{#AI_BALANCER.ReturnToHomeAirbase}: Returns the AI to the **home** @{Airbase#AIRBASE}. -- * @{#AI_BALANCER.ReturnToHomeAirbase}: Returns the AI to the **home** @{Wrapper.Airbase#AIRBASE}.
-- * @{#AI_BALANCER.ReturnToNearestAirbases}: Returns the AI to the **nearest friendly** @{Airbase#AIRBASE}. -- * @{#AI_BALANCER.ReturnToNearestAirbases}: Returns the AI to the **nearest friendly** @{Wrapper.Airbase#AIRBASE}.
-- --
-- Note that when AI returns to an airbase, the AI_BALANCER will trigger the **Return** event and the AI will return, -- Note that when AI returns to an airbase, the AI_BALANCER will trigger the **Return** event and the AI will return,
-- otherwise the AI_BALANCER will trigger a **Destroy** event, and the AI will be destroyed. -- otherwise the AI_BALANCER will trigger a **Destroy** event, and the AI will be destroyed.
@ -141,10 +141,10 @@ function AI_BALANCER:InitSpawnInterval( Earliest, Latest )
return self return self
end end
--- Returns the AI to the nearest friendly @{Airbase#AIRBASE}. --- Returns the AI to the nearest friendly @{Wrapper.Airbase#AIRBASE}.
-- @param #AI_BALANCER self -- @param #AI_BALANCER self
-- @param Dcs.DCSTypes#Distance ReturnThresholdRange If there is an enemy @{Client#CLIENT} within the ReturnThresholdRange given in meters, the AI will not return to the nearest @{Airbase#AIRBASE}. -- @param Dcs.DCSTypes#Distance ReturnThresholdRange If there is an enemy @{Wrapper.Client#CLIENT} within the ReturnThresholdRange given in meters, the AI will not return to the nearest @{Wrapper.Airbase#AIRBASE}.
-- @param Core.Set#SET_AIRBASE ReturnAirbaseSet The SET of @{Set#SET_AIRBASE}s to evaluate where to return to. -- @param Core.Set#SET_AIRBASE ReturnAirbaseSet The SET of @{Core.Set#SET_AIRBASE}s to evaluate where to return to.
function AI_BALANCER:ReturnToNearestAirbases( ReturnThresholdRange, ReturnAirbaseSet ) function AI_BALANCER:ReturnToNearestAirbases( ReturnThresholdRange, ReturnAirbaseSet )
self.ToNearestAirbase = true self.ToNearestAirbase = true
@ -152,9 +152,9 @@ function AI_BALANCER:ReturnToNearestAirbases( ReturnThresholdRange, ReturnAirbas
self.ReturnAirbaseSet = ReturnAirbaseSet self.ReturnAirbaseSet = ReturnAirbaseSet
end end
--- Returns the AI to the home @{Airbase#AIRBASE}. --- Returns the AI to the home @{Wrapper.Airbase#AIRBASE}.
-- @param #AI_BALANCER self -- @param #AI_BALANCER self
-- @param Dcs.DCSTypes#Distance ReturnThresholdRange If there is an enemy @{Client#CLIENT} within the ReturnThresholdRange given in meters, the AI will not return to the nearest @{Airbase#AIRBASE}. -- @param Dcs.DCSTypes#Distance ReturnThresholdRange If there is an enemy @{Wrapper.Client#CLIENT} within the ReturnThresholdRange given in meters, the AI will not return to the nearest @{Wrapper.Airbase#AIRBASE}.
function AI_BALANCER:ReturnToHomeAirbase( ReturnThresholdRange ) function AI_BALANCER:ReturnToHomeAirbase( ReturnThresholdRange )
self.ToHomeAirbase = true self.ToHomeAirbase = true

View File

@ -25,23 +25,23 @@
-- --
-- === -- ===
-- --
-- @module AI_Cap -- @module AI.AI_Cap
--- @type AI_CAP_ZONE --- @type AI_CAP_ZONE
-- @field Wrapper.Controllable#CONTROLLABLE AIControllable The @{Controllable} patrolling. -- @field Wrapper.Controllable#CONTROLLABLE AIControllable The @{Wrapper.Controllable} patrolling.
-- @field Core.Zone#ZONE_BASE TargetZone The @{Zone} where the patrol needs to be executed. -- @field Core.Zone#ZONE_BASE TargetZone The @{Zone} where the patrol needs to be executed.
-- @extends AI.AI_Patrol#AI_PATROL_ZONE -- @extends AI.AI_Patrol#AI_PATROL_ZONE
--- # AI_CAP_ZONE class, extends @{AI_CAP#AI_PATROL_ZONE} --- # AI_CAP_ZONE class, extends @{AI.AI_Patrol#AI_PATROL_ZONE}
-- --
-- The AI_CAP_ZONE class implements the core functions to patrol a @{Zone} by an AI @{Controllable} or @{Group} -- The AI_CAP_ZONE class implements the core functions to patrol a @{Zone} by an AI @{Wrapper.Controllable} or @{Wrapper.Group}
-- and automatically engage any airborne enemies that are within a certain range or within a certain zone. -- and automatically engage any airborne enemies that are within a certain range or within a certain zone.
-- --
-- ![Process](..\Presentations\AI_CAP\Dia3.JPG) -- ![Process](..\Presentations\AI_CAP\Dia3.JPG)
-- --
-- The AI_CAP_ZONE is assigned a @{Group} and this must be done before the AI_CAP_ZONE process can be started using the **Start** event. -- The AI_CAP_ZONE is assigned a @{Wrapper.Group} and this must be done before the AI_CAP_ZONE process can be started using the **Start** event.
-- --
-- ![Process](..\Presentations\AI_CAP\Dia4.JPG) -- ![Process](..\Presentations\AI_CAP\Dia4.JPG)
-- --
@ -91,8 +91,8 @@
-- * **@{AI_Patrol#AI_PATROL_ZONE.RTB}**: Route the AI to the home base. -- * **@{AI_Patrol#AI_PATROL_ZONE.RTB}**: Route the AI to the home base.
-- * **@{AI_Patrol#AI_PATROL_ZONE.Detect}**: The AI is detecting targets. -- * **@{AI_Patrol#AI_PATROL_ZONE.Detect}**: The AI is detecting targets.
-- * **@{AI_Patrol#AI_PATROL_ZONE.Detected}**: The AI has detected new targets. -- * **@{AI_Patrol#AI_PATROL_ZONE.Detected}**: The AI has detected new targets.
-- * **@{#AI_CAP_ZONE.Destroy}**: The AI has destroyed a bogey @{Unit}. -- * **@{#AI_CAP_ZONE.Destroy}**: The AI has destroyed a bogey @{Wrapper.Unit}.
-- * **@{#AI_CAP_ZONE.Destroyed}**: The AI has destroyed all bogeys @{Unit}s assigned in the CAS task. -- * **@{#AI_CAP_ZONE.Destroyed}**: The AI has destroyed all bogeys @{Wrapper.Unit}s assigned in the CAS task.
-- * **Status** ( Group ): The AI is checking status (fuel and damage). When the tresholds have been reached, the AI will RTB. -- * **Status** ( Group ): The AI is checking status (fuel and damage). When the tresholds have been reached, the AI will RTB.
-- --
-- ## 3. Set the Range of Engagement -- ## 3. Set the Range of Engagement
@ -127,8 +127,8 @@ AI_CAP_ZONE = {
-- @param Core.Zone#ZONE_BASE PatrolZone The @{Zone} where the patrol needs to be executed. -- @param Core.Zone#ZONE_BASE PatrolZone The @{Zone} where the patrol needs to be executed.
-- @param Dcs.DCSTypes#Altitude PatrolFloorAltitude The lowest altitude in meters where to execute the patrol. -- @param Dcs.DCSTypes#Altitude PatrolFloorAltitude The lowest altitude in meters where to execute the patrol.
-- @param Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol. -- @param Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol.
-- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Controllable} in km/h. -- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Wrapper.Controllable} in km/h.
-- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Controllable} in km/h. -- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Wrapper.Controllable} in km/h.
-- @param Dcs.DCSTypes#AltitudeType PatrolAltType The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO -- @param Dcs.DCSTypes#AltitudeType PatrolAltType The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO
-- @return #AI_CAP_ZONE self -- @return #AI_CAP_ZONE self
function AI_CAP_ZONE:New( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType ) function AI_CAP_ZONE:New( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType )

View File

@ -23,25 +23,25 @@
-- --
-- === -- ===
-- --
-- @module AI_Cas -- @module AI.AI_Cas
--- AI_CAS_ZONE class --- AI_CAS_ZONE class
-- @type AI_CAS_ZONE -- @type AI_CAS_ZONE
-- @field Wrapper.Controllable#CONTROLLABLE AIControllable The @{Controllable} patrolling. -- @field Wrapper.Controllable#CONTROLLABLE AIControllable The @{Wrapper.Controllable} patrolling.
-- @field Core.Zone#ZONE_BASE TargetZone The @{Zone} where the patrol needs to be executed. -- @field Core.Zone#ZONE_BASE TargetZone The @{Zone} where the patrol needs to be executed.
-- @extends AI.AI_Patrol#AI_PATROL_ZONE -- @extends AI.AI_Patrol#AI_PATROL_ZONE
--- # AI_CAS_ZONE class, extends @{AI_Patrol#AI_PATROL_ZONE} --- # AI_CAS_ZONE class, extends @{AI.AI_Patrol#AI_PATROL_ZONE}
-- --
-- AI_CAS_ZONE derives from the @{AI_Patrol#AI_PATROL_ZONE}, inheriting its methods and behaviour. -- AI_CAS_ZONE derives from the @{AI.AI_Patrol#AI_PATROL_ZONE}, inheriting its methods and behaviour.
-- --
-- The AI_CAS_ZONE class implements the core functions to provide Close Air Support in an Engage @{Zone} by an AIR @{Controllable} or @{Group}. -- The AI_CAS_ZONE class implements the core functions to provide Close Air Support in an Engage @{Zone} by an AIR @{Wrapper.Controllable} or @{Wrapper.Group}.
-- The AI_CAS_ZONE runs a process. It holds an AI in a Patrol Zone and when the AI is commanded to engage, it will fly to an Engage Zone. -- The AI_CAS_ZONE runs a process. It holds an AI in a Patrol Zone and when the AI is commanded to engage, it will fly to an Engage Zone.
-- --
-- ![HoldAndEngage](..\Presentations\AI_CAS\Dia3.JPG) -- ![HoldAndEngage](..\Presentations\AI_CAS\Dia3.JPG)
-- --
-- The AI_CAS_ZONE is assigned a @{Group} and this must be done before the AI_CAS_ZONE process can be started through the **Start** event. -- The AI_CAS_ZONE is assigned a @{Wrapper.Group} and this must be done before the AI_CAS_ZONE process can be started through the **Start** event.
-- --
-- ![Start Event](..\Presentations\AI_CAS\Dia4.JPG) -- ![Start Event](..\Presentations\AI_CAS\Dia4.JPG)
-- --
@ -114,8 +114,8 @@
-- * **@{AI_Patrol#AI_PATROL_ZONE.RTB}**: Route the AI to the home base. -- * **@{AI_Patrol#AI_PATROL_ZONE.RTB}**: Route the AI to the home base.
-- * **@{AI_Patrol#AI_PATROL_ZONE.Detect}**: The AI is detecting targets. -- * **@{AI_Patrol#AI_PATROL_ZONE.Detect}**: The AI is detecting targets.
-- * **@{AI_Patrol#AI_PATROL_ZONE.Detected}**: The AI has detected new targets. -- * **@{AI_Patrol#AI_PATROL_ZONE.Detected}**: The AI has detected new targets.
-- * **@{#AI_CAS_ZONE.Destroy}**: The AI has destroyed a target @{Unit}. -- * **@{#AI_CAS_ZONE.Destroy}**: The AI has destroyed a target @{Wrapper.Unit}.
-- * **@{#AI_CAS_ZONE.Destroyed}**: The AI has destroyed all target @{Unit}s assigned in the CAS task. -- * **@{#AI_CAS_ZONE.Destroyed}**: The AI has destroyed all target @{Wrapper.Unit}s assigned in the CAS task.
-- * **Status**: The AI is checking status (fuel and damage). When the tresholds have been reached, the AI will RTB. -- * **Status**: The AI is checking status (fuel and damage). When the tresholds have been reached, the AI will RTB.
-- --
-- === -- ===
@ -132,8 +132,8 @@ AI_CAS_ZONE = {
-- @param Core.Zone#ZONE_BASE PatrolZone The @{Zone} where the patrol needs to be executed. -- @param Core.Zone#ZONE_BASE PatrolZone The @{Zone} where the patrol needs to be executed.
-- @param Dcs.DCSTypes#Altitude PatrolFloorAltitude The lowest altitude in meters where to execute the patrol. -- @param Dcs.DCSTypes#Altitude PatrolFloorAltitude The lowest altitude in meters where to execute the patrol.
-- @param Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol. -- @param Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol.
-- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Controllable} in km/h. -- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Wrapper.Controllable} in km/h.
-- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Controllable} in km/h. -- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Wrapper.Controllable} in km/h.
-- @param Core.Zone#ZONE_BASE EngageZone The zone where the engage will happen. -- @param Core.Zone#ZONE_BASE EngageZone The zone where the engage will happen.
-- @param Dcs.DCSTypes#AltitudeType PatrolAltType The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO -- @param Dcs.DCSTypes#AltitudeType PatrolAltType The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO
-- @return #AI_CAS_ZONE self -- @return #AI_CAS_ZONE self

View File

@ -6,13 +6,13 @@
-- --
-- === -- ===
-- --
-- @module AI_Cargo_APC -- @module AI.AI_Cargo_APC
--- @type AI_CARGO_APC --- @type AI_CARGO_APC
-- @extends Core.Fsm#FSM_CONTROLLABLE -- @extends Core.Fsm#FSM_CONTROLLABLE
--- # AI\_CARGO\_APC class, extends @{Core.Base#BASE} --- # AI\_CARGO\_APC class, extends @{Core.Fsm#FSM_CONTROLLABLE}
-- --
-- === -- ===
-- --
@ -656,7 +656,7 @@ function AI_CARGO_APC:onafterDeploy( APC, From, Event, To, Coordinate )
end end
--- @param #AI_CARGO_HELICOPTER self --- @param #AI_CARGO_APC self
-- @param Wrapper.Group#GROUP APC -- @param Wrapper.Group#GROUP APC
-- @param From -- @param From
-- @param Event -- @param Event

View File

@ -6,13 +6,13 @@
-- --
-- === -- ===
-- --
-- @module AI_Cargo_Airplane -- @module AI.AI_Cargo_Airplane
--- @type AI_CARGO_AIRPLANE --- @type AI_CARGO_AIRPLANE
-- @extends Core.Fsm#FSM_CONTROLLABLE -- @extends Core.Fsm#FSM_CONTROLLABLE
--- # AI\_CARGO\_AIRPLANE class, extends @{Core.Base@BASE} --- # AI\_CARGO\_AIRPLANE class, extends @{Core.Fsm#FSM_CONTROLLABLE}
-- --
-- === -- ===
-- --

View File

@ -6,7 +6,7 @@
-- --
-- === -- ===
-- --
-- @module AI_Cargo_Dispatcher -- @module AI.AI_Cargo_Dispatcher
--- @type AI_CARGO_DISPATCHER --- @type AI_CARGO_DISPATCHER
-- @extends Core.Fsm#FSM -- @extends Core.Fsm#FSM

View File

@ -6,13 +6,13 @@
-- --
-- === -- ===
-- --
-- @module AI_Cargo_Dispatcher_APC -- @module AI.AI_Cargo_Dispatcher_APC
--- @type AI_CARGO_DISPATCHER_APC --- @type AI_CARGO_DISPATCHER_APC
-- @extends AI.AI_Cargo_Dispatcher#AI_CARGO_DISPATCHER -- @extends AI.AI_Cargo_Dispatcher#AI_CARGO_DISPATCHER
--- # AI\_CARGO\_DISPATCHER\_APC class, extends @{Core.Base#BASE} --- # AI\_CARGO\_DISPATCHER\_APC class, extends @{AI.AI_Cargo_Dispatcher#AI_CARGO_DISPATCHER}
-- --
-- ![Banner Image](..\Presentations\AI_CARGO_DISPATCHER_APC\Dia1.JPG) -- ![Banner Image](..\Presentations\AI_CARGO_DISPATCHER_APC\Dia1.JPG)
-- --
@ -81,7 +81,7 @@ AI_CARGO_DISPATCHER_APC = {
--- Creates a new AI_CARGO_DISPATCHER_APC object. --- Creates a new AI_CARGO_DISPATCHER_APC object.
-- @param #AI_CARGO_DISPATCHER_APC self -- @param #AI_CARGO_DISPATCHER_APC self
-- @param Core.Set#SET_GROUP SetAPC The collection of APC @{Group}s. -- @param Core.Set#SET_GROUP SetAPC The collection of APC @{Wrapper.Group}s.
-- @param Core.Set#SET_CARGO SetCargo The collection of @{Cargo} derived objects. -- @param Core.Set#SET_CARGO SetCargo The collection of @{Cargo} derived objects.
-- @param Core.Set#SET_ZONE SetDeployZone The collection of deploy @{Zone}s, which are used to where the cargo will be deployed by the APCs. -- @param Core.Set#SET_ZONE SetDeployZone The collection of deploy @{Zone}s, which are used to where the cargo will be deployed by the APCs.
-- @param #number CombatRadius The cargo will be unloaded from the APC and engage the enemy if the enemy is within CombatRadius range. The radius is in meters, the default value is 500 meters. -- @param #number CombatRadius The cargo will be unloaded from the APC and engage the enemy if the enemy is within CombatRadius range. The radius is in meters, the default value is 500 meters.

View File

@ -6,13 +6,13 @@
-- --
-- === -- ===
-- --
-- @module AI_Cargo_Dispatcher_Airplane -- @module AI.AI_Cargo_Dispatcher_Airplane
--- @type AI_CARGO_DISPATCHER_AIRPLANE --- @type AI_CARGO_DISPATCHER_AIRPLANE
-- @extends AI.AI_Cargo_Dispatcher#AI_CARGO_DISPATCHER -- @extends AI.AI_Cargo_Dispatcher#AI_CARGO_DISPATCHER
--- # AI\_CARGO\_DISPATCHER\_AIRPLANE class, extends @{Core.Base#BASE} --- # AI\_CARGO\_DISPATCHER\_AIRPLANE class, extends @{AI.AI_Cargo_Dispatcher#AI_CARGO_DISPATCHER}
-- --
-- === -- ===
-- --

View File

@ -8,7 +8,7 @@
-- --
-- === -- ===
-- --
-- @module AI_Cargo_Dispatcher_Helicopter -- @module AI.AI_Cargo_Dispatcher_Helicopter
--- @type AI_CARGO_DISPATCHER_HELICOPTER --- @type AI_CARGO_DISPATCHER_HELICOPTER
-- @extends AI.AI_Cargo_Dispatcher#AI_CARGO_DISPATCHER -- @extends AI.AI_Cargo_Dispatcher#AI_CARGO_DISPATCHER
@ -93,7 +93,7 @@ AI_CARGO_DISPATCHER_HELICOPTER = {
--- Creates a new AI_CARGO_DISPATCHER_HELICOPTER object. --- Creates a new AI_CARGO_DISPATCHER_HELICOPTER object.
-- @param #AI_CARGO_DISPATCHER_HELICOPTER self -- @param #AI_CARGO_DISPATCHER_HELICOPTER self
-- @param Core.Set#SET_GROUP SetHelicopter The collection of Helicopter @{Group}s. -- @param Core.Set#SET_GROUP SetHelicopter The collection of Helicopter @{Wrapper.Group}s.
-- @param Core.Set#SET_CARGO SetCargo The collection of @{Cargo} derived objects. -- @param Core.Set#SET_CARGO SetCargo The collection of @{Cargo} derived objects.
-- @param Core.Set#SET_ZONE SetDeployZone The collection of deploy @{Zone}s, which are used to where the cargo will be deployed by the Helicopters. -- @param Core.Set#SET_ZONE SetDeployZone The collection of deploy @{Zone}s, which are used to where the cargo will be deployed by the Helicopters.
-- @return #AI_CARGO_DISPATCHER_HELICOPTER -- @return #AI_CARGO_DISPATCHER_HELICOPTER

View File

@ -6,13 +6,13 @@
-- --
-- === -- ===
-- --
-- @module AI_Cargo_Helicopter -- @module AI.AI_Cargo_Helicopter
--- @type AI_CARGO_HELICOPTER --- @type AI_CARGO_HELICOPTER
-- @extends Core.Fsm#FSM_CONTROLLABLE -- @extends Core.Fsm#FSM_CONTROLLABLE
--- # AI\_CARGO\_TROOPS class, extends @{Core.Base@BASE} --- # AI\_CARGO\_TROOPS class, extends @{Core.Fsm#FSM_CONTROLLABLE}
-- --
-- === -- ===
-- --

View File

@ -6,7 +6,7 @@
-- --
-- === -- ===
-- --
-- AI_FORMATION makes AI @{GROUP}s fly in formation of various compositions. -- AI_FORMATION makes AI @{Wrapper.Group}s fly in formation of various compositions.
-- The AI_FORMATION class models formations in a different manner than the internal DCS formation logic!!! -- The AI_FORMATION class models formations in a different manner than the internal DCS formation logic!!!
-- The purpose of the class is to: -- The purpose of the class is to:
-- --
@ -45,13 +45,13 @@
-- --
-- === -- ===
-- --
-- @module AI_Formation -- @module AI.AI_Formation
--- AI_FORMATION class --- AI_FORMATION class
-- @type AI_FORMATION -- @type AI_FORMATION
-- @extends Fsm#FSM_SET -- @extends Core.Fsm#FSM_SET
-- @field Unit#UNIT FollowUnit -- @field Wrapper.Unit#UNIT FollowUnit
-- @field Set#SET_GROUP FollowGroupSet -- @field Core.Set#SET_GROUP FollowGroupSet
-- @field #string FollowName -- @field #string FollowName
-- @field #AI_FORMATION.MODE FollowMode The mode the escort is in. -- @field #AI_FORMATION.MODE FollowMode The mode the escort is in.
-- @field Scheduler#SCHEDULER FollowScheduler The instance of the SCHEDULER class. -- @field Scheduler#SCHEDULER FollowScheduler The instance of the SCHEDULER class.
@ -61,9 +61,9 @@
-- @field DCSTypes#AI.Option.Air.val.REACTION_ON_THREAT OptionReactionOnThreat Which REACTION_ON_THREAT is set to the FollowGroup. -- @field DCSTypes#AI.Option.Air.val.REACTION_ON_THREAT OptionReactionOnThreat Which REACTION_ON_THREAT is set to the FollowGroup.
--- # AI_FORMATION class, extends @{Fsm#FSM_SET} --- # AI_FORMATION class, extends @{Core.Fsm#FSM_SET}
-- --
-- The #AI_FORMATION class allows you to build large formations, make AI follow a @{Client#CLIENT} (player) leader or a @{Unit#UNIT} (AI) leader. -- The #AI_FORMATION class allows you to build large formations, make AI follow a @{Wrapper.Client#CLIENT} (player) leader or a @{Unit#UNIT} (AI) leader.
-- --
-- AI_FORMATION makes AI @{GROUP}s fly in formation of various compositions. -- AI_FORMATION makes AI @{GROUP}s fly in formation of various compositions.
-- The AI_FORMATION class models formations in a different manner than the internal DCS formation logic!!! -- The AI_FORMATION class models formations in a different manner than the internal DCS formation logic!!!
@ -89,7 +89,7 @@
-- --
-- Create a new SPAWN object with the @{#AI_FORMATION.New} method: -- Create a new SPAWN object with the @{#AI_FORMATION.New} method:
-- --
-- * @{Follow#AI_FORMATION.New}(): Creates a new AI_FORMATION object from a @{Group#GROUP} for a @{Client#CLIENT} or a @{Unit#UNIT}, with an optional briefing text. -- * @{Follow#AI_FORMATION.New}(): Creates a new AI_FORMATION object from a @{Wrapper.Group#GROUP} for a @{Wrapper.Client#CLIENT} or a @{Unit#UNIT}, with an optional briefing text.
-- --
-- ## Formation methods -- ## Formation methods
-- --
@ -147,7 +147,7 @@ AI_FORMATION = {
--- AI_FORMATION class constructor for an AI group --- AI_FORMATION class constructor for an AI group
-- @param #AI_FORMATION self -- @param #AI_FORMATION self
-- @param Unit#UNIT FollowUnit The UNIT leading the FolllowGroupSet. -- @param Wrapper.Unit#UNIT FollowUnit The UNIT leading the FolllowGroupSet.
-- @param Core.Set#SET_GROUP FollowGroupSet The group AI escorting the FollowUnit. -- @param Core.Set#SET_GROUP FollowGroupSet The group AI escorting the FollowUnit.
-- @param #string FollowName Name of the escort. -- @param #string FollowName Name of the escort.
-- @return #AI_FORMATION self -- @return #AI_FORMATION self
@ -155,8 +155,8 @@ function AI_FORMATION:New( FollowUnit, FollowGroupSet, FollowName, FollowBriefin
local self = BASE:Inherit( self, FSM_SET:New( FollowGroupSet ) ) local self = BASE:Inherit( self, FSM_SET:New( FollowGroupSet ) )
self:F( { FollowUnit, FollowGroupSet, FollowName } ) self:F( { FollowUnit, FollowGroupSet, FollowName } )
self.FollowUnit = FollowUnit -- Unit#UNIT self.FollowUnit = FollowUnit -- Wrapper.Unit#UNIT
self.FollowGroupSet = FollowGroupSet -- Set#SET_GROUP self.FollowGroupSet = FollowGroupSet -- Core.Set#SET_GROUP
self:SetFlightRandomization( 2 ) self:SetFlightRandomization( 2 )

View File

@ -30,27 +30,27 @@
-- --
-- === -- ===
-- --
-- @module AI_Patrol -- @module AI.AI_Patrol
--- AI_PATROL_ZONE class --- AI_PATROL_ZONE class
-- @type AI_PATROL_ZONE -- @type AI_PATROL_ZONE
-- @field Wrapper.Controllable#CONTROLLABLE AIControllable The @{Controllable} patrolling. -- @field Wrapper.Controllable#CONTROLLABLE AIControllable The @{Wrapper.Controllable} patrolling.
-- @field Core.Zone#ZONE_BASE PatrolZone The @{Zone} where the patrol needs to be executed. -- @field Core.Zone#ZONE_BASE PatrolZone The @{Zone} where the patrol needs to be executed.
-- @field Dcs.DCSTypes#Altitude PatrolFloorAltitude The lowest altitude in meters where to execute the patrol. -- @field Dcs.DCSTypes#Altitude PatrolFloorAltitude The lowest altitude in meters where to execute the patrol.
-- @field Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol. -- @field Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol.
-- @field Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Controllable} in km/h. -- @field Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Wrapper.Controllable} in km/h.
-- @field Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Controllable} in km/h. -- @field Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Wrapper.Controllable} in km/h.
-- @field Core.Spawn#SPAWN CoordTest -- @field Core.Spawn#SPAWN CoordTest
-- @extends Core.Fsm#FSM_CONTROLLABLE -- @extends Core.Fsm#FSM_CONTROLLABLE
--- # AI_PATROL_ZONE class, extends @{Fsm#FSM_CONTROLLABLE} --- # AI_PATROL_ZONE class, extends @{Core.Fsm#FSM_CONTROLLABLE}
-- --
-- The AI_PATROL_ZONE class implements the core functions to patrol a @{Zone} by an AI @{Controllable} or @{Group}. -- The AI_PATROL_ZONE class implements the core functions to patrol a @{Zone} by an AI @{Wrapper.Controllable} or @{Wrapper.Group}.
-- --
-- ![Process](..\Presentations\AI_PATROL\Dia3.JPG) -- ![Process](..\Presentations\AI_PATROL\Dia3.JPG)
-- --
-- The AI_PATROL_ZONE is assigned a @{Group} and this must be done before the AI_PATROL_ZONE process can be started using the **Start** event. -- The AI_PATROL_ZONE is assigned a @{Wrapper.Group} and this must be done before the AI_PATROL_ZONE process can be started using the **Start** event.
-- --
-- ![Process](..\Presentations\AI_PATROL\Dia4.JPG) -- ![Process](..\Presentations\AI_PATROL\Dia4.JPG)
-- --
@ -123,7 +123,7 @@
-- * @{#AI_PATROL_ZONE.SetDetectionOff}(): Set the detection off, the AI will not detect for targets. The existing target list will NOT be erased. -- * @{#AI_PATROL_ZONE.SetDetectionOff}(): Set the detection off, the AI will not detect for targets. The existing target list will NOT be erased.
-- --
-- The detection frequency can be set with @{#AI_PATROL_ZONE.SetRefreshTimeInterval}( seconds ), where the amount of seconds specify how much seconds will be waited before the next detection. -- The detection frequency can be set with @{#AI_PATROL_ZONE.SetRefreshTimeInterval}( seconds ), where the amount of seconds specify how much seconds will be waited before the next detection.
-- Use the method @{#AI_PATROL_ZONE.GetDetectedUnits}() to obtain a list of the @{Unit}s detected by the AI. -- Use the method @{#AI_PATROL_ZONE.GetDetectedUnits}() to obtain a list of the @{Wrapper.Unit}s detected by the AI.
-- --
-- The detection can be filtered to potential targets in a specific zone. -- The detection can be filtered to potential targets in a specific zone.
-- Use the method @{#AI_PATROL_ZONE.SetDetectionZone}() to set the zone where targets need to be detected. -- Use the method @{#AI_PATROL_ZONE.SetDetectionZone}() to set the zone where targets need to be detected.
@ -157,8 +157,8 @@ AI_PATROL_ZONE = {
-- @param Core.Zone#ZONE_BASE PatrolZone The @{Zone} where the patrol needs to be executed. -- @param Core.Zone#ZONE_BASE PatrolZone The @{Zone} where the patrol needs to be executed.
-- @param Dcs.DCSTypes#Altitude PatrolFloorAltitude The lowest altitude in meters where to execute the patrol. -- @param Dcs.DCSTypes#Altitude PatrolFloorAltitude The lowest altitude in meters where to execute the patrol.
-- @param Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol. -- @param Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol.
-- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Controllable} in km/h. -- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Wrapper.Controllable} in km/h.
-- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Controllable} in km/h. -- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Wrapper.Controllable} in km/h.
-- @param Dcs.DCSTypes#AltitudeType PatrolAltType The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO -- @param Dcs.DCSTypes#AltitudeType PatrolAltType The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO
-- @return #AI_PATROL_ZONE self -- @return #AI_PATROL_ZONE self
-- @usage -- @usage
@ -454,8 +454,8 @@ end
--- Sets (modifies) the minimum and maximum speed of the patrol. --- Sets (modifies) the minimum and maximum speed of the patrol.
-- @param #AI_PATROL_ZONE self -- @param #AI_PATROL_ZONE self
-- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Controllable} in km/h. -- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Wrapper.Controllable} in km/h.
-- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Controllable} in km/h. -- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Wrapper.Controllable} in km/h.
-- @return #AI_PATROL_ZONE self -- @return #AI_PATROL_ZONE self
function AI_PATROL_ZONE:SetSpeed( PatrolMinSpeed, PatrolMaxSpeed ) function AI_PATROL_ZONE:SetSpeed( PatrolMinSpeed, PatrolMaxSpeed )
self:F2( { PatrolMinSpeed, PatrolMaxSpeed } ) self:F2( { PatrolMinSpeed, PatrolMaxSpeed } )
@ -564,7 +564,7 @@ end
--- Gets a list of @{Unit#UNIT}s that were detected by the AI. --- Gets a list of @{Unit#UNIT}s that were detected by the AI.
-- No filtering is applied, so, ANY detected UNIT can be in this list. -- No filtering is applied, so, ANY detected UNIT can be in this list.
-- It is up to the mission designer to use the @{Unit} class and methods to filter the targets. -- It is up to the mission designer to use the @{Wrapper.Unit} class and methods to filter the targets.
-- @param #AI_PATROL_ZONE self -- @param #AI_PATROL_ZONE self
-- @return #table The list of @{Unit#UNIT}s -- @return #table The list of @{Unit#UNIT}s
function AI_PATROL_ZONE:GetDetectedUnits() function AI_PATROL_ZONE:GetDetectedUnits()

View File

@ -1,4 +1,4 @@
--- **Actions** - ACT_ACCOUNT_ classes **account for** (detect, count & report) various DCS events occuring on @{Unit}s. --- **Actions** - ACT_ACCOUNT_ classes **account for** (detect, count & report) various DCS events occuring on @{Wrapper.Unit}s.
-- --
-- ![Banner Image](..\Presentations\ACT_ACCOUNT\Dia1.JPG) -- ![Banner Image](..\Presentations\ACT_ACCOUNT\Dia1.JPG)
-- --
@ -55,7 +55,7 @@ do -- ACT_ACCOUNT
-- These state transition methods need to provide a return value, which is specified at the function description. -- These state transition methods need to provide a return value, which is specified at the function description.
-- --
-- @type ACT_ACCOUNT -- @type ACT_ACCOUNT
-- @field Set#SET_UNIT TargetSetUnit -- @field Core.Set#SET_UNIT TargetSetUnit
-- @extends Core.Fsm#FSM_PROCESS -- @extends Core.Fsm#FSM_PROCESS
ACT_ACCOUNT = { ACT_ACCOUNT = {
ClassName = "ACT_ACCOUNT", ClassName = "ACT_ACCOUNT",
@ -151,7 +151,7 @@ do -- ACT_ACCOUNT_DEADS
-- * @{#ACT_ACCOUNT_DEADS.New}(): Creates a new ACT_ACCOUNT_DEADS object. -- * @{#ACT_ACCOUNT_DEADS.New}(): Creates a new ACT_ACCOUNT_DEADS object.
-- --
-- @type ACT_ACCOUNT_DEADS -- @type ACT_ACCOUNT_DEADS
-- @field Set#SET_UNIT TargetSetUnit -- @field Core.Set#SET_UNIT TargetSetUnit
-- @extends #ACT_ACCOUNT -- @extends #ACT_ACCOUNT
ACT_ACCOUNT_DEADS = { ACT_ACCOUNT_DEADS = {
ClassName = "ACT_ACCOUNT_DEADS", ClassName = "ACT_ACCOUNT_DEADS",
@ -160,7 +160,7 @@ do -- ACT_ACCOUNT_DEADS
--- Creates a new DESTROY process. --- Creates a new DESTROY process.
-- @param #ACT_ACCOUNT_DEADS self -- @param #ACT_ACCOUNT_DEADS self
-- @param Set#SET_UNIT TargetSetUnit -- @param Core.Set#SET_UNIT TargetSetUnit
-- @param #string TaskName -- @param #string TaskName
function ACT_ACCOUNT_DEADS:New() function ACT_ACCOUNT_DEADS:New()
-- Inherits from BASE -- Inherits from BASE
@ -285,7 +285,7 @@ do -- ACT_ACCOUNT_DEADS
end end
--- @param #ACT_ACCOUNT_DEADS self --- @param #ACT_ACCOUNT_DEADS self
-- @param Event#EVENTDATA EventData -- @param Core.Event#EVENTDATA EventData
function ACT_ACCOUNT_DEADS:onfuncEventDead( EventData ) function ACT_ACCOUNT_DEADS:onfuncEventDead( EventData )
self:T( { "EventDead", EventData } ) self:T( { "EventDead", EventData } )
@ -297,7 +297,7 @@ do -- ACT_ACCOUNT_DEADS
--- DCS Events --- DCS Events
--- @param #ACT_ACCOUNT_DEADS self --- @param #ACT_ACCOUNT_DEADS self
-- @param Event#EVENTDATA EventData -- @param Core.Event#EVENTDATA EventData
function ACT_ACCOUNT_DEADS:onfuncEventCrash( EventData ) function ACT_ACCOUNT_DEADS:onfuncEventCrash( EventData )
self:T( { "EventDead", EventData } ) self:T( { "EventDead", EventData } )

View File

@ -142,7 +142,7 @@ do -- ACT_ASSIST_SMOKE_TARGETS_ZONE
--- ACT_ASSIST_SMOKE_TARGETS_ZONE class --- ACT_ASSIST_SMOKE_TARGETS_ZONE class
-- @type ACT_ASSIST_SMOKE_TARGETS_ZONE -- @type ACT_ASSIST_SMOKE_TARGETS_ZONE
-- @field Set#SET_UNIT TargetSetUnit -- @field Core.Set#SET_UNIT TargetSetUnit
-- @field Core.Zone#ZONE_BASE TargetZone -- @field Core.Zone#ZONE_BASE TargetZone
-- @extends #ACT_ASSIST -- @extends #ACT_ASSIST
ACT_ASSIST_SMOKE_TARGETS_ZONE = { ACT_ASSIST_SMOKE_TARGETS_ZONE = {
@ -158,7 +158,7 @@ do -- ACT_ASSIST_SMOKE_TARGETS_ZONE
--- Creates a new target smoking state machine. The process will request from the menu if it accepts the task, if not, the unit is removed from the simulator. --- Creates a new target smoking state machine. The process will request from the menu if it accepts the task, if not, the unit is removed from the simulator.
-- @param #ACT_ASSIST_SMOKE_TARGETS_ZONE self -- @param #ACT_ASSIST_SMOKE_TARGETS_ZONE self
-- @param Set#SET_UNIT TargetSetUnit -- @param Core.Set#SET_UNIT TargetSetUnit
-- @param Core.Zone#ZONE_BASE TargetZone -- @param Core.Zone#ZONE_BASE TargetZone
function ACT_ASSIST_SMOKE_TARGETS_ZONE:New( TargetSetUnit, TargetZone ) function ACT_ASSIST_SMOKE_TARGETS_ZONE:New( TargetSetUnit, TargetZone )
local self = BASE:Inherit( self, ACT_ASSIST:New() ) -- #ACT_ASSIST local self = BASE:Inherit( self, ACT_ASSIST:New() ) -- #ACT_ASSIST
@ -177,7 +177,7 @@ do -- ACT_ASSIST_SMOKE_TARGETS_ZONE
--- Creates a new target smoking state machine. The process will request from the menu if it accepts the task, if not, the unit is removed from the simulator. --- Creates a new target smoking state machine. The process will request from the menu if it accepts the task, if not, the unit is removed from the simulator.
-- @param #ACT_ASSIST_SMOKE_TARGETS_ZONE self -- @param #ACT_ASSIST_SMOKE_TARGETS_ZONE self
-- @param Set#SET_UNIT TargetSetUnit -- @param Core.Set#SET_UNIT TargetSetUnit
-- @param Core.Zone#ZONE_BASE TargetZone -- @param Core.Zone#ZONE_BASE TargetZone
-- @return #ACT_ASSIST_SMOKE_TARGETS_ZONE self -- @return #ACT_ASSIST_SMOKE_TARGETS_ZONE self
function ACT_ASSIST_SMOKE_TARGETS_ZONE:Init( TargetSetUnit, TargetZone ) function ACT_ASSIST_SMOKE_TARGETS_ZONE:Init( TargetSetUnit, TargetZone )

View File

@ -62,7 +62,7 @@
-- --
-- # 1) @{#ACT_ROUTE_ZONE} class, extends @{Fsm.Route#ACT_ROUTE} -- # 1) @{#ACT_ROUTE_ZONE} class, extends @{Fsm.Route#ACT_ROUTE}
-- --
-- The ACT_ROUTE_ZONE class implements the core functions to route an AIR @{Controllable} player @{Unit} to a @{Zone}. -- The ACT_ROUTE_ZONE class implements the core functions to route an AIR @{Wrapper.Controllable} player @{Wrapper.Unit} to a @{Zone}.
-- The player receives on perioding times messages with the coordinates of the route to follow. -- The player receives on perioding times messages with the coordinates of the route to follow.
-- Upon arrival at the zone, a confirmation of arrival is sent, and the process will be ended. -- Upon arrival at the zone, a confirmation of arrival is sent, and the process will be ended.
-- --

View File

@ -16,7 +16,7 @@
-- --
-- === -- ===
-- --
-- @module Cargo -- @module Cargo.Cargo
-- Events -- Events
@ -152,7 +152,7 @@ do -- CARGO
-- @field #boolean Representable This flag defines if the cargo can be represented by a DCS Unit. -- @field #boolean Representable This flag defines if the cargo can be represented by a DCS Unit.
-- @field #boolean Containable This flag defines if the cargo can be contained within a DCS Unit. -- @field #boolean Containable This flag defines if the cargo can be contained within a DCS Unit.
--- # (R2.4) CARGO class, extends @{Fsm#FSM_PROCESS} --- # (R2.4) CARGO class, extends @{Core.Fsm#FSM_PROCESS}
-- --
-- The CARGO class defines the core functions that defines a cargo object within MOOSE. -- The CARGO class defines the core functions that defines a cargo object within MOOSE.
-- A cargo is a **logical object** defined that is available for transport, and has a life status within a simulation. -- A cargo is a **logical object** defined that is available for transport, and has a life status within a simulation.
@ -708,11 +708,11 @@ do -- CARGO
return self return self
end end
--- Send a CC message to a @{Group}. --- Send a CC message to a @{Wrapper.Group}.
-- @param #CARGO self -- @param #CARGO self
-- @param #string Message -- @param #string Message
-- @param Wrapper.Group#GROUP CarrierGroup The Carrier Group. -- @param Wrapper.Group#GROUP CarrierGroup The Carrier Group.
-- @param #sring Name (optional) The name of the Group used as a prefix for the message to the Group. If not provided, there will be nothing shown. -- @param #string Name (optional) The name of the Group used as a prefix for the message to the Group. If not provided, there will be nothing shown.
function CARGO:MessageToGroup( Message, CarrierGroup, Name ) function CARGO:MessageToGroup( Message, CarrierGroup, Name )
MESSAGE:New( Message, 20, "Cargo " .. self:GetName() ):ToGroup( CarrierGroup ) MESSAGE:New( Message, 20, "Cargo " .. self:GetName() ):ToGroup( CarrierGroup )
@ -864,11 +864,11 @@ do -- CARGO_REPRESENTABLE
return self return self
end end
--- Send a message to a @{Group} through a communication channel near the cargo. --- Send a message to a @{Wrapper.Group} through a communication channel near the cargo.
-- @param #CARGO_REPRESENTABLE self -- @param #CARGO_REPRESENTABLE self
-- @param #string Message -- @param #string Message
-- @param Wrapper.Group#GROUP TaskGroup -- @param Wrapper.Group#GROUP TaskGroup
-- @param #sring Name (optional) The name of the Group used as a prefix for the message to the Group. If not provided, there will be nothing shown. -- @param #string Name (optional) The name of the Group used as a prefix for the message to the Group. If not provided, there will be nothing shown.
function CARGO_REPRESENTABLE:MessageToGroup( Message, TaskGroup, Name ) function CARGO_REPRESENTABLE:MessageToGroup( Message, TaskGroup, Name )
local CoordinateZone = ZONE_RADIUS:New( "Zone" , self:GetCoordinate():GetVec2(), 500 ) local CoordinateZone = ZONE_RADIUS:New( "Zone" , self:GetCoordinate():GetVec2(), 500 )
@ -916,11 +916,11 @@ do -- CARGO_REPORTABLE
return self return self
end end
--- Send a CC message to a @{Group}. --- Send a CC message to a @{Wrapper.Group}.
-- @param #CARGO_REPORTABLE self -- @param #CARGO_REPORTABLE self
-- @param #string Message -- @param #string Message
-- @param Wrapper.Group#GROUP TaskGroup -- @param Wrapper.Group#GROUP TaskGroup
-- @param #sring Name (optional) The name of the Group used as a prefix for the message to the Group. If not provided, there will be nothing shown. -- @param #string Name (optional) The name of the Group used as a prefix for the message to the Group. If not provided, there will be nothing shown.
function CARGO_REPORTABLE:MessageToGroup( Message, TaskGroup, Name ) function CARGO_REPORTABLE:MessageToGroup( Message, TaskGroup, Name )
MESSAGE:New( Message, 20, "Cargo " .. self:GetName() .. " reporting" ):ToGroup( TaskGroup ) MESSAGE:New( Message, 20, "Cargo " .. self:GetName() .. " reporting" ):ToGroup( TaskGroup )

View File

@ -17,7 +17,7 @@
-- --
-- === -- ===
-- --
-- @module CargoCrate -- @module Cargo.CargoCrate
do -- CARGO_CRATE do -- CARGO_CRATE
@ -25,7 +25,7 @@ do -- CARGO_CRATE
-- @type CARGO_CRATE -- @type CARGO_CRATE
-- @extends Cargo.Cargo#CARGO_REPRESENTABLE -- @extends Cargo.Cargo#CARGO_REPRESENTABLE
--- # CARGO\_CRATE class, extends @{#CARGO_REPRESENTABLE} --- # CARGO\_CRATE class, extends @{Cargo.Cargo#CARGO_REPRESENTABLE}
-- --
-- The CARGO\_CRATE class defines a cargo that is represented by a UNIT object within the simulator, and can be transported by a carrier. -- The CARGO\_CRATE class defines a cargo that is represented by a UNIT object within the simulator, and can be transported by a carrier.
-- Use the event functions as described above to Load, UnLoad, Board, UnBoard the CARGO\_CRATE objects to and from carriers. -- Use the event functions as described above to Load, UnLoad, Board, UnBoard the CARGO\_CRATE objects to and from carriers.
@ -165,7 +165,7 @@ do -- CARGO_CRATE
end end
--- Check if Cargo Crate is in the radius for the Cargo to be reported. --- Check if Cargo Crate is in the radius for the Cargo to be reported.
-- @param #CARGO self -- @param #CARGO_CRATE self
-- @param Core.Point#COORDINATE Coordinate -- @param Core.Point#COORDINATE Coordinate
-- @return #boolean true if the Cargo Crate is within the report radius. -- @return #boolean true if the Cargo Crate is within the report radius.
function CARGO_CRATE:IsInReportRadius( Coordinate ) function CARGO_CRATE:IsInReportRadius( Coordinate )
@ -185,7 +185,7 @@ do -- CARGO_CRATE
--- Check if Cargo Crate is in the radius for the Cargo to be Boarded or Loaded. --- Check if Cargo Crate is in the radius for the Cargo to be Boarded or Loaded.
-- @param #CARGO self -- @param #CARGO_CRATE self
-- @param Core.Point#Coordinate Coordinate -- @param Core.Point#Coordinate Coordinate
-- @return #boolean true if the Cargo Crate is within the loading radius. -- @return #boolean true if the Cargo Crate is within the loading radius.
function CARGO_CRATE:IsInLoadRadius( Coordinate ) function CARGO_CRATE:IsInLoadRadius( Coordinate )

View File

@ -1,4 +1,4 @@
--- **Cargo** -- Management of grouped cargo logistics, which are based on a @{Group} object. --- **Cargo** -- Management of grouped cargo logistics, which are based on a @{Wrapper.Group} object.
-- --
-- === -- ===
-- --
@ -17,7 +17,7 @@
-- --
-- === -- ===
-- --
-- @module CargoGroup -- @module Cargo.CargoGroup
do -- CARGO_GROUP do -- CARGO_GROUP
@ -27,9 +27,9 @@ do -- CARGO_GROUP
-- @field Core.Set#SET_CARGO CargoSet The collection of derived CARGO objects. -- @field Core.Set#SET_CARGO CargoSet The collection of derived CARGO objects.
-- @field #string GroupName The name of the CargoGroup. -- @field #string GroupName The name of the CargoGroup.
--- # CARGO\_GROUP class --- # CARGO\_GROUP class, extends @{Cargo.Cargo#CARGO_REPORTABLE}
-- --
-- The CARGO\_GROUP class defines a cargo that is represented by a @{Group} object within the simulator. -- The CARGO\_GROUP class defines a cargo that is represented by a @{Wrapper.Group} object within the simulator.
-- The cargo can be Loaded, UnLoaded, Boarded, UnBoarded to and from Carriers. -- The cargo can be Loaded, UnLoaded, Boarded, UnBoarded to and from Carriers.
-- --
-- The above cargo classes are used by the AI\_CARGO\_ classes to allow AI groups to transport cargo: -- The above cargo classes are used by the AI\_CARGO\_ classes to allow AI groups to transport cargo:
@ -53,7 +53,7 @@ do -- CARGO_GROUP
} }
--- CARGO_GROUP constructor. --- CARGO_GROUP constructor.
-- This make a new CARGO_GROUP from a @{Group} object. -- This make a new CARGO_GROUP from a @{Wrapper.Group} object.
-- It will "ungroup" the group object within the sim, and will create a @{Set} of individual Unit objects. -- It will "ungroup" the group object within the sim, and will create a @{Set} of individual Unit objects.
-- @param #CARGO_GROUP self -- @param #CARGO_GROUP self
-- @param Wrapper.Group#GROUP CargoGroup -- @param Wrapper.Group#GROUP CargoGroup
@ -233,7 +233,7 @@ do -- CARGO_GROUP
if self:IsDestroyed() or self:IsUnLoaded() or self:IsBoarding() or self:IsUnboarding() then if self:IsDestroyed() or self:IsUnLoaded() or self:IsBoarding() or self:IsUnboarding() then
Destroyed = true Destroyed = true
for CargoID, CargoData in pairs( self.CargoSet:GetSet() ) do for CargoID, CargoData in pairs( self.CargoSet:GetSet() ) do
local Cargo = CargoData -- #CARGO local Cargo = CargoData -- Cargo.Cargo#CARGO
if Cargo:IsAlive() then if Cargo:IsAlive() then
Destroyed = false Destroyed = false
else else
@ -667,7 +667,7 @@ do -- CARGO_GROUP
self:F( { "Respawning" } ) self:F( { "Respawning" } )
for CargoID, CargoData in pairs( self.CargoSet:GetSet() ) do for CargoID, CargoData in pairs( self.CargoSet:GetSet() ) do
local Cargo = CargoData -- #CARGO local Cargo = CargoData -- Cargo.Cargo#CARGO
Cargo:Destroy() Cargo:Destroy()
Cargo:SetStartState( "UnLoaded" ) Cargo:SetStartState( "UnLoaded" )
end end
@ -713,7 +713,7 @@ do -- CARGO_GROUP
-- @param Utilities.Utils#FLARECOLOR FlareColor -- @param Utilities.Utils#FLARECOLOR FlareColor
function CARGO_GROUP:Flare( FlareColor ) function CARGO_GROUP:Flare( FlareColor )
local Cargo = self.CargoSet:GetFirst() -- #CARGO local Cargo = self.CargoSet:GetFirst() -- Cargo.Cargo#CARGO
if Cargo then if Cargo then
Cargo:Flare( FlareColor ) Cargo:Flare( FlareColor )
end end
@ -725,7 +725,7 @@ do -- CARGO_GROUP
-- @param #number Radius The radius of randomization around the center of the first element of the CargoGroup. -- @param #number Radius The radius of randomization around the center of the first element of the CargoGroup.
function CARGO_GROUP:Smoke( SmokeColor, Radius ) function CARGO_GROUP:Smoke( SmokeColor, Radius )
local Cargo = self.CargoSet:GetFirst() -- #CARGO local Cargo = self.CargoSet:GetFirst() -- Cargo.Cargo#CARGO
if Cargo then if Cargo then
Cargo:Smoke( SmokeColor, Radius ) Cargo:Smoke( SmokeColor, Radius )
@ -733,14 +733,14 @@ do -- CARGO_GROUP
end end
--- Check if the first element of the CargoGroup is the given @{Zone}. --- Check if the first element of the CargoGroup is the given @{Zone}.
-- @param #CARGO self -- @param #CARGO_GROUP self
-- @param Core.Zone#ZONE_BASE Zone -- @param Core.Zone#ZONE_BASE Zone
-- @return #boolean **true** if the first element of the CargoGroup is in the Zone -- @return #boolean **true** if the first element of the CargoGroup is in the Zone
-- @return #boolean **false** if there is no element of the CargoGroup in the Zone. -- @return #boolean **false** if there is no element of the CargoGroup in the Zone.
function CARGO_GROUP:IsInZone( Zone ) function CARGO_GROUP:IsInZone( Zone )
--self:F( { Zone } ) --self:F( { Zone } )
local Cargo = self.CargoSet:GetFirst() -- #CARGO local Cargo = self.CargoSet:GetFirst() -- Cargo.Cargo#CARGO
if Cargo then if Cargo then
return Cargo:IsInZone( Zone ) return Cargo:IsInZone( Zone )

View File

@ -17,7 +17,7 @@
-- --
-- === -- ===
-- --
-- @module CargoCrate -- @module Cargo.CargoSlingload
do -- CARGO_SLINGLOAD do -- CARGO_SLINGLOAD
@ -26,7 +26,7 @@ do -- CARGO_SLINGLOAD
-- @type CARGO_SLINGLOAD -- @type CARGO_SLINGLOAD
-- @extends Cargo.Cargo#CARGO_REPRESENTABLE -- @extends Cargo.Cargo#CARGO_REPRESENTABLE
--- # CARGO\_CRATE class, extends @{#CARGO_REPRESENTABLE} --- # CARGO\_CRATE class, extends @{Cargo.Cargo#CARGO_REPRESENTABLE}
-- --
-- The CARGO\_CRATE class defines a cargo that is represented by a UNIT object within the simulator, and can be transported by a carrier. -- The CARGO\_CRATE class defines a cargo that is represented by a UNIT object within the simulator, and can be transported by a carrier.
-- --
@ -87,8 +87,8 @@ do -- CARGO_SLINGLOAD
--- Check if the cargo can be Slingloaded. --- Check if the cargo can be Slingloaded.
-- @param #CARGO self -- @param #CARGO_SLINGLOAD self
function CARGO:CanSlingload() function CARGO_SLINGLOAD:CanSlingload()
return true return true
end end

View File

@ -1,4 +1,4 @@
--- **Cargo** -- Management of single cargo logistics, which are based on a @{Unit} object. --- **Cargo** -- Management of single cargo logistics, which are based on a @{Wrapper.Unit} object.
-- --
-- === -- ===
-- --
@ -17,7 +17,7 @@
-- --
-- === -- ===
-- --
-- @module CargoUnit -- @module Cargo.CargoUnit
do -- CARGO_UNIT do -- CARGO_UNIT
@ -25,7 +25,7 @@ do -- CARGO_UNIT
-- @type CARGO_UNIT -- @type CARGO_UNIT
-- @extends Cargo.Cargo#CARGO_REPRESENTABLE -- @extends Cargo.Cargo#CARGO_REPRESENTABLE
--- # CARGO\_UNIT class, extends @{#CARGO_REPRESENTABLE} --- # CARGO\_UNIT class, extends @{Cargo.Cargo#CARGO_REPRESENTABLEE}
-- --
-- The CARGO\_UNIT class defines a cargo that is represented by a UNIT object within the simulator, and can be transported by a carrier. -- The CARGO\_UNIT class defines a cargo that is represented by a UNIT object within the simulator, and can be transported by a carrier.
-- Use the event functions as described above to Load, UnLoad, Board, UnBoard the CARGO\_UNIT objects to and from carriers. -- Use the event functions as described above to Load, UnLoad, Board, UnBoard the CARGO\_UNIT objects to and from carriers.

View File

@ -42,8 +42,8 @@ local _ClassID = 0
-- --
-- ## 1.1) BASE constructor -- ## 1.1) BASE constructor
-- --
-- Any class derived from BASE, will use the @{Base#BASE.New} constructor embedded in the @{Base#BASE.Inherit} method. -- Any class derived from BASE, will use the @{Core.Base#BASE.New} constructor embedded in the @{Core.Base#BASE.Inherit} method.
-- See an example at the @{Base#BASE.New} method how this is done. -- See an example at the @{Core.Base#BASE.New} method how this is done.
-- --
-- ## 1.2) Trace information for debugging -- ## 1.2) Trace information for debugging
-- --

View File

@ -13,7 +13,7 @@
--- @type DATABASE --- @type DATABASE
-- @extends Core.Base#BASE -- @extends Core.Base#BASE
--- # DATABASE class, extends @{Base#BASE} --- # DATABASE class, extends @{Core.Base#BASE}
-- --
-- Mission designers can use the DATABASE class to refer to: -- Mission designers can use the DATABASE class to refer to:
-- --

View File

@ -61,8 +61,8 @@
-- So, when the DCS event occurs, the class will be notified of that event. -- So, when the DCS event occurs, the class will be notified of that event.
-- There are two functions which you use to subscribe to or unsubscribe from an event. -- There are two functions which you use to subscribe to or unsubscribe from an event.
-- --
-- * @{Base#BASE.HandleEvent}(): Subscribe to a DCS Event. -- * @{Core.Base#BASE.HandleEvent}(): Subscribe to a DCS Event.
-- * @{Base#BASE.UnHandleEvent}(): Unsubscribe from a DCS Event. -- * @{Core.Base#BASE.UnHandleEvent}(): Unsubscribe from a DCS Event.
-- --
-- Note that for a UNIT, the event will be handled **for that UNIT only**! -- Note that for a UNIT, the event will be handled **for that UNIT only**!
-- Note that for a GROUP, the event will be handled **for all the UNITs in that GROUP only**! -- Note that for a GROUP, the event will be handled **for all the UNITs in that GROUP only**!
@ -112,7 +112,7 @@
-- # 2) EVENTS type -- # 2) EVENTS type
-- --
-- The EVENTS structure contains names for all the different DCS events that objects can subscribe to using the -- The EVENTS structure contains names for all the different DCS events that objects can subscribe to using the
-- @{Base#BASE.HandleEvent}() method. -- @{Core.Base#BASE.HandleEvent}() method.
-- --
-- # 3) EVENTDATA type -- # 3) EVENTDATA type
-- --
@ -183,7 +183,7 @@ world.event.S_EVENT_NEW_ZONE = world.event.S_EVENT_MAX + 1002
world.event.S_EVENT_DELETE_ZONE = world.event.S_EVENT_MAX + 1003 world.event.S_EVENT_DELETE_ZONE = world.event.S_EVENT_MAX + 1003
--- The different types of events supported by MOOSE. --- The different types of events supported by MOOSE.
-- Use this structure to subscribe to events using the @{Base#BASE.HandleEvent}() method. -- Use this structure to subscribe to events using the @{Core.Base#BASE.HandleEvent}() method.
-- @type EVENTS -- @type EVENTS
EVENTS = { EVENTS = {
Shot = world.event.S_EVENT_SHOT, Shot = world.event.S_EVENT_SHOT,
@ -235,7 +235,7 @@ EVENTS = {
-- @field #string IniUnitName (UNIT/STATIC) The initiating UNIT name (same as IniDCSUnitName). -- @field #string IniUnitName (UNIT/STATIC) The initiating UNIT name (same as IniDCSUnitName).
-- @field Dcs.DCSGroup#Group IniDCSGroup (UNIT) The initiating {DCSGroup#Group}. -- @field Dcs.DCSGroup#Group IniDCSGroup (UNIT) The initiating {DCSGroup#Group}.
-- @field #string IniDCSGroupName (UNIT) The initiating Group name. -- @field #string IniDCSGroupName (UNIT) The initiating Group name.
-- @field Wrapper.Group#GROUP IniGroup (UNIT) The initiating MOOSE wrapper @{Group#GROUP} of the initiator Group object. -- @field Wrapper.Group#GROUP IniGroup (UNIT) The initiating MOOSE wrapper @{Wrapper.Group#GROUP} of the initiator Group object.
-- @field #string IniGroupName UNIT) The initiating GROUP name (same as IniDCSGroupName). -- @field #string IniGroupName UNIT) The initiating GROUP name (same as IniDCSGroupName).
-- @field #string IniPlayerName (UNIT) The name of the initiating player in case the Unit is a client or player slot. -- @field #string IniPlayerName (UNIT) The name of the initiating player in case the Unit is a client or player slot.
-- @field Dcs.DCScoalition#coalition.side IniCoalition (UNIT) The coalition of the initiator. -- @field Dcs.DCScoalition#coalition.side IniCoalition (UNIT) The coalition of the initiator.
@ -250,7 +250,7 @@ EVENTS = {
-- @field #string TgtUnitName (UNIT/STATIC) The target UNIT name (same as TgtDCSUnitName). -- @field #string TgtUnitName (UNIT/STATIC) The target UNIT name (same as TgtDCSUnitName).
-- @field Dcs.DCSGroup#Group TgtDCSGroup (UNIT) The target {DCSGroup#Group}. -- @field Dcs.DCSGroup#Group TgtDCSGroup (UNIT) The target {DCSGroup#Group}.
-- @field #string TgtDCSGroupName (UNIT) The target Group name. -- @field #string TgtDCSGroupName (UNIT) The target Group name.
-- @field Wrapper.Group#GROUP TgtGroup (UNIT) The target MOOSE wrapper @{Group#GROUP} of the target Group object. -- @field Wrapper.Group#GROUP TgtGroup (UNIT) The target MOOSE wrapper @{Wrapper.Group#GROUP} of the target Group object.
-- @field #string TgtGroupName (UNIT) The target GROUP name (same as TgtDCSGroupName). -- @field #string TgtGroupName (UNIT) The target GROUP name (same as TgtDCSGroupName).
-- @field #string TgtPlayerName (UNIT) The name of the target player in case the Unit is a client or player slot. -- @field #string TgtPlayerName (UNIT) The name of the target player in case the Unit is a client or player slot.
-- @field Dcs.DCScoalition#coalition.side TgtCoalition (UNIT) The coalition of the target. -- @field Dcs.DCScoalition#coalition.side TgtCoalition (UNIT) The coalition of the target.
@ -527,7 +527,7 @@ end
--- Clears all event subscriptions for a @{Base#BASE} derived object. --- Clears all event subscriptions for a @{Core.Base#BASE} derived object.
-- @param #EVENT self -- @param #EVENT self
-- @param Core.Base#BASE EventObject -- @param Core.Base#BASE EventObject
function EVENT:RemoveAll( EventObject ) function EVENT:RemoveAll( EventObject )

View File

@ -52,7 +52,7 @@
-- --
-- * @{#FSM_TASK}: Models Finite State Machines for @{Task}s. -- * @{#FSM_TASK}: Models Finite State Machines for @{Task}s.
-- * @{#FSM_PROCESS}: Models Finite State Machines for @{Task} actions, which control @{Client}s. -- * @{#FSM_PROCESS}: Models Finite State Machines for @{Task} actions, which control @{Client}s.
-- * @{#FSM_CONTROLLABLE}: Models Finite State Machines for @{Controllable}s, which are @{Group}s, @{Unit}s, @{Client}s. -- * @{#FSM_CONTROLLABLE}: Models Finite State Machines for @{Wrapper.Controllable}s, which are @{Wrapper.Group}s, @{Wrapper.Unit}s, @{Client}s.
-- * @{#FSM_SET}: Models Finite State Machines for @{Set}s. Note that these FSMs control multiple objects!!! So State concerns here -- * @{#FSM_SET}: Models Finite State Machines for @{Set}s. Note that these FSMs control multiple objects!!! So State concerns here
-- for multiple objects or the position of the state machine in the process. -- for multiple objects or the position of the state machine in the process.
-- --
@ -72,7 +72,7 @@ do -- FSM
-- @extends Core.Base#BASE -- @extends Core.Base#BASE
--- # FSM class, extends @{Base#BASE} --- # FSM class, extends @{Core.Base#BASE}
-- --
-- A Finite State Machine (FSM) models a process flow that transitions between various **States** through triggered **Events**. -- A Finite State Machine (FSM) models a process flow that transitions between various **States** through triggered **Events**.
-- --
@ -410,7 +410,7 @@ do -- FSM
return self._Transitions or {} return self._Transitions or {}
end end
--- Set the default @{Process} template with key ProcessName providing the ProcessClass and the process object when it is assigned to a @{Controllable} by the task. --- Set the default @{Process} template with key ProcessName providing the ProcessClass and the process object when it is assigned to a @{Wrapper.Controllable} by the task.
-- @param #FSM self -- @param #FSM self
-- @param #table From Can contain a string indicating the From state or a table of strings containing multiple From states. -- @param #table From Can contain a string indicating the From state or a table of strings containing multiple From states.
-- @param #string Event The Event name. -- @param #string Event The Event name.
@ -806,7 +806,7 @@ do -- FSM_CONTROLLABLE
--- # FSM_CONTROLLABLE, extends @{#FSM} --- # FSM_CONTROLLABLE, extends @{#FSM}
-- --
-- FSM_CONTROLLABLE class models Finite State Machines for @{Controllable}s, which are @{Group}s, @{Unit}s, @{Client}s. -- FSM_CONTROLLABLE class models Finite State Machines for @{Wrapper.Controllable}s, which are @{Wrapper.Group}s, @{Wrapper.Unit}s, @{Client}s.
-- --
-- === -- ===
-- --
@ -1116,7 +1116,7 @@ do -- FSM_PROCESS
--- Assign the process to a @{Unit} and activate the process. --- Assign the process to a @{Wrapper.Unit} and activate the process.
-- @param #FSM_PROCESS self -- @param #FSM_PROCESS self
-- @param Task.Tasking#TASK Task -- @param Task.Tasking#TASK Task
-- @param Wrapper.Unit#UNIT ProcessUnit -- @param Wrapper.Unit#UNIT ProcessUnit

View File

@ -18,7 +18,7 @@ do -- Goal
-- @extends Core.Fsm#FSM -- @extends Core.Fsm#FSM
--- # GOAL class, extends @{Fsm#FSM} --- # GOAL class, extends @{Core.Fsm#FSM}
-- --
-- GOAL models processes that have an objective with a defined achievement. Derived classes implement the ways how the achievements can be realized. -- GOAL models processes that have an objective with a defined achievement. Derived classes implement the ways how the achievements can be realized.
-- --

View File

@ -182,7 +182,7 @@ do -- MENU_BASE
--- @type MENU_BASE --- @type MENU_BASE
-- @extends Base#BASE -- @extends Base#BASE
--- # MENU_BASE class, extends @{Base#BASE} --- # MENU_BASE class, extends @{Core.Base#BASE}
-- The MENU_BASE class defines the main MENU class where other MENU classes are derived from. -- The MENU_BASE class defines the main MENU class where other MENU classes are derived from.
-- This is an abstract class, so don't use it. -- This is an abstract class, so don't use it.
-- @field #MENU_BASE -- @field #MENU_BASE
@ -286,7 +286,7 @@ do -- MENU_COMMAND_BASE
-- @field #function MenuCallHandler -- @field #function MenuCallHandler
-- @extends Core.Menu#MENU_BASE -- @extends Core.Menu#MENU_BASE
--- # MENU_COMMAND_BASE class, extends @{Base#BASE} --- # MENU_COMMAND_BASE class, extends @{Core.Base#BASE}
-- ---------------------------------------------------------- -- ----------------------------------------------------------
-- The MENU_COMMAND_BASE class defines the main MENU class where other MENU COMMAND_ -- The MENU_COMMAND_BASE class defines the main MENU class where other MENU COMMAND_
-- classes are derived from, in order to set commands. -- classes are derived from, in order to set commands.
@ -469,7 +469,7 @@ do -- MENU_MISSION_COMMAND
--- MENU_MISSION constructor. Creates a new radio command item for a complete mission file, which can invoke a function with parameters. --- MENU_MISSION constructor. Creates a new radio command item for a complete mission file, which can invoke a function with parameters.
-- @param #MENU_MISSION_COMMAND self -- @param #MENU_MISSION_COMMAND self
-- @param #string MenuText The text for the menu. -- @param #string MenuText The text for the menu.
-- @param Menu#MENU_MISSION ParentMenu The parent menu. -- @param Core.Menu#MENU_MISSION ParentMenu The parent menu.
-- @param CommandMenuFunction A function that is called when the menu key is pressed. -- @param CommandMenuFunction A function that is called when the menu key is pressed.
-- @param CommandMenuArgument An argument for the function. There can only be ONE argument given. So multiple arguments must be wrapped into a table. See the below example how to do this. -- @param CommandMenuArgument An argument for the function. There can only be ONE argument given. So multiple arguments must be wrapped into a table. See the below example how to do this.
-- @return #MENU_MISSION_COMMAND self -- @return #MENU_MISSION_COMMAND self
@ -695,7 +695,7 @@ do -- MENU_COALITION_COMMAND
-- @param #MENU_COALITION_COMMAND self -- @param #MENU_COALITION_COMMAND self
-- @param Dcs.DCSCoalition#coalition.side Coalition The coalition owning the menu. -- @param Dcs.DCSCoalition#coalition.side Coalition The coalition owning the menu.
-- @param #string MenuText The text for the menu. -- @param #string MenuText The text for the menu.
-- @param Menu#MENU_COALITION ParentMenu The parent menu. -- @param Core.Menu#MENU_COALITION ParentMenu The parent menu.
-- @param CommandMenuFunction A function that is called when the menu key is pressed. -- @param CommandMenuFunction A function that is called when the menu key is pressed.
-- @param CommandMenuArgument An argument for the function. There can only be ONE argument given. So multiple arguments must be wrapped into a table. See the below example how to do this. -- @param CommandMenuArgument An argument for the function. There can only be ONE argument given. So multiple arguments must be wrapped into a table. See the below example how to do this.
-- @return #MENU_COALITION_COMMAND -- @return #MENU_COALITION_COMMAND

View File

@ -10,7 +10,7 @@
-- @type MESSAGE -- @type MESSAGE
-- @extends Core.Base#BASE -- @extends Core.Base#BASE
--- # MESSAGE class, extends @{Base#BASE} --- # MESSAGE class, extends @{Core.Base#BASE}
-- --
-- Message System to display Messages to Clients, Coalitions or All. -- Message System to display Messages to Clients, Coalitions or All.
-- Messages are shown on the display panel for an amount of seconds, and will then disappear. -- Messages are shown on the display panel for an amount of seconds, and will then disappear.
@ -26,7 +26,7 @@
-- Messages are sent: -- Messages are sent:
-- --
-- * To a @{Client} using @{Message#MESSAGE.ToClient}(). -- * To a @{Client} using @{Message#MESSAGE.ToClient}().
-- * To a @{Group} using @{Message#MESSAGE.ToGroup}() -- * To a @{Wrapper.Group} using @{Message#MESSAGE.ToGroup}()
-- * To a coalition using @{Message#MESSAGE.ToCoalition}(). -- * To a coalition using @{Message#MESSAGE.ToCoalition}().
-- * To the red coalition using @{Message#MESSAGE.ToRed}(). -- * To the red coalition using @{Message#MESSAGE.ToRed}().
-- * To the blue coalition using @{Message#MESSAGE.ToBlue}(). -- * To the blue coalition using @{Message#MESSAGE.ToBlue}().

View File

@ -38,7 +38,7 @@ do -- COORDINATE
-- @extends Core.Base#BASE -- @extends Core.Base#BASE
--- # COORDINATE class, extends @{Base#BASE} --- # COORDINATE class, extends @{Core.Base#BASE}
-- --
-- COORDINATE defines a 3D point in the simulator and with its methods, you can use or manipulate the point in 3D space. -- COORDINATE defines a 3D point in the simulator and with its methods, you can use or manipulate the point in 3D space.
-- --
@ -57,7 +57,7 @@ do -- COORDINATE
-- * @{#COORDINATE.WaypointAir}(): Build an air route point. -- * @{#COORDINATE.WaypointAir}(): Build an air route point.
-- * @{#COORDINATE.WaypointGround}(): Build a ground route point. -- * @{#COORDINATE.WaypointGround}(): Build a ground route point.
-- --
-- Route points can be used in the Route methods of the @{Group#GROUP} class. -- Route points can be used in the Route methods of the @{Wrapper.Group#GROUP} class.
-- --
-- --
-- ## Smoke, flare, explode, illuminate -- ## Smoke, flare, explode, illuminate
@ -1189,7 +1189,7 @@ do -- COORDINATE
--- Mark to Group --- Mark to Group
-- @param #COORDINATE self -- @param #COORDINATE self
-- @param #string MarkText Free format text that shows the marking clarification. -- @param #string MarkText Free format text that shows the marking clarification.
-- @param Wrapper.Group#GROUP MarkGroup The @{Group} that receives the mark. -- @param Wrapper.Group#GROUP MarkGroup The @{Wrapper.Group} that receives the mark.
-- @return #number The resulting Mark ID which is a number. -- @return #number The resulting Mark ID which is a number.
-- @usage -- @usage
-- local TargetCoord = TargetGroup:GetCoordinate() -- local TargetCoord = TargetGroup:GetCoordinate()

View File

@ -18,9 +18,9 @@
-- * They need to be added in .\l10n\DEFAULT\ in you .miz file (wich can be decompressed like a .zip file), -- * They need to be added in .\l10n\DEFAULT\ in you .miz file (wich can be decompressed like a .zip file),
-- * For simplicty sake, you can **let DCS' Mission Editor add the file** itself, by creating a new Trigger with the action "Sound to Country", and choosing your sound file and a country you don't use in your mission. -- * For simplicty sake, you can **let DCS' Mission Editor add the file** itself, by creating a new Trigger with the action "Sound to Country", and choosing your sound file and a country you don't use in your mission.
-- --
-- Due to weird DCS quirks, **radio communications behave differently** if sent by a @{Unit#UNIT} or a @{Group#GROUP} or by any other @{Positionable#POSITIONABLE} -- Due to weird DCS quirks, **radio communications behave differently** if sent by a @{Unit#UNIT} or a @{Wrapper.Group#GROUP} or by any other @{Positionable#POSITIONABLE}
-- --
-- * If the transmitter is a @{Unit#UNIT} or a @{Group#GROUP}, DCS will set the power of the transmission automatically, -- * If the transmitter is a @{Unit#UNIT} or a @{Wrapper.Group#GROUP}, DCS will set the power of the transmission automatically,
-- * If the transmitter is any other @{Positionable#POSITIONABLE}, the transmisison can't be subtitled or looped. -- * If the transmitter is any other @{Positionable#POSITIONABLE}, the transmisison can't be subtitled or looped.
-- --
-- Note that obviously, the **frequency** and the **modulation** of the transmission are important only if the players are piloting an **Advanced System Modelling** enabled aircraft, -- Note that obviously, the **frequency** and the **modulation** of the transmission are important only if the players are piloting an **Advanced System Modelling** enabled aircraft,
@ -35,7 +35,7 @@
-- @module Core.Radio -- @module Core.Radio
--- # RADIO class, extends @{Base#BASE} --- # RADIO class, extends @{Core.Base#BASE}
-- --
-- ## RADIO usage -- ## RADIO usage
-- --
@ -45,14 +45,14 @@
-- * Then, you will **set the relevant parameters** to the transmission (see below), -- * Then, you will **set the relevant parameters** to the transmission (see below),
-- * When done, you can actually **broadcast the transmission** (i.e. play the sound) with the @{RADIO.Broadcast}() function. -- * When done, you can actually **broadcast the transmission** (i.e. play the sound) with the @{RADIO.Broadcast}() function.
-- --
-- Methods to set relevant parameters for both a @{Unit#UNIT} or a @{Group#GROUP} or any other @{Positionable#POSITIONABLE} -- Methods to set relevant parameters for both a @{Unit#UNIT} or a @{Wrapper.Group#GROUP} or any other @{Positionable#POSITIONABLE}
-- --
-- * @{#RADIO.SetFileName}() : Sets the file name of your sound file (e.g. "Noise.ogg"), -- * @{#RADIO.SetFileName}() : Sets the file name of your sound file (e.g. "Noise.ogg"),
-- * @{#RADIO.SetFrequency}() : Sets the frequency of your transmission. -- * @{#RADIO.SetFrequency}() : Sets the frequency of your transmission.
-- * @{#RADIO.SetModulation}() : Sets the modulation of your transmission. -- * @{#RADIO.SetModulation}() : Sets the modulation of your transmission.
-- * @{#RADIO.SetLoop}() : Choose if you want the transmission to be looped. If you need your transmission to be looped, you might need a @{#BEACON} instead... -- * @{#RADIO.SetLoop}() : Choose if you want the transmission to be looped. If you need your transmission to be looped, you might need a @{#BEACON} instead...
-- --
-- Additional Methods to set relevant parameters if the transmiter is a @{Unit#UNIT} or a @{Group#GROUP} -- Additional Methods to set relevant parameters if the transmiter is a @{Unit#UNIT} or a @{Wrapper.Group#GROUP}
-- --
-- * @{#RADIO.SetSubtitle}() : Set both the subtitle and its duration, -- * @{#RADIO.SetSubtitle}() : Set both the subtitle and its duration,
-- * @{#RADIO.NewUnitTransmission}() : Shortcut to set all the relevant parameters in one method call -- * @{#RADIO.NewUnitTransmission}() : Shortcut to set all the relevant parameters in one method call
@ -64,7 +64,7 @@
-- --
-- What is this power thing ? -- What is this power thing ?
-- --
-- * If your transmission is sent by a @{Positionable#POSITIONABLE} other than a @{Unit#UNIT} or a @{Group#GROUP}, you can set the power of the antenna, -- * If your transmission is sent by a @{Positionable#POSITIONABLE} other than a @{Unit#UNIT} or a @{Wrapper.Group#GROUP}, you can set the power of the antenna,
-- * Otherwise, DCS sets it automatically, depending on what's available on your Unit, -- * Otherwise, DCS sets it automatically, depending on what's available on your Unit,
-- * If the player gets **too far** from the transmiter, or if the antenna is **too weak**, the transmission will **fade** and **become noisyer**, -- * If the player gets **too far** from the transmiter, or if the antenna is **too weak**, the transmission will **fade** and **become noisyer**,
-- * This an automated DCS calculation you have no say on, -- * This an automated DCS calculation you have no say on,
@ -339,7 +339,7 @@ function RADIO:StopBroadcast()
end end
--- # BEACON class, extends @{Base#BASE} --- # BEACON class, extends @{Core.Base#BASE}
-- --
-- After attaching a @{#BEACON} to your @{Positionable#POSITIONABLE}, you need to select the right function to activate the kind of beacon you want. -- After attaching a @{#BEACON} to your @{Positionable#POSITIONABLE}, you need to select the right function to activate the kind of beacon you want.
-- There are two types of BEACONs available : the AA TACAN Beacon and the general purpose Radio Beacon. -- There are two types of BEACONs available : the AA TACAN Beacon and the general purpose Radio Beacon.
@ -348,7 +348,7 @@ end
-- --
-- ## AA TACAN Beacon usage -- ## AA TACAN Beacon usage
-- --
-- This beacon only works with airborne @{Unit#UNIT} or a @{Group#GROUP}. Use @{#BEACON:AATACAN}() to set the beacon parameters and start the beacon. -- This beacon only works with airborne @{Unit#UNIT} or a @{Wrapper.Group#GROUP}. Use @{#BEACON:AATACAN}() to set the beacon parameters and start the beacon.
-- Use @#BEACON:StopAATACAN}() to stop it. -- Use @#BEACON:StopAATACAN}() to stop it.
-- --
-- ## General Purpose Radio Beacon usage -- ## General Purpose Radio Beacon usage

View File

@ -1,3 +1,16 @@
--- **Core** -- **REPORT** class provides a handy means to create messages and reports.
--
-- ===
--
-- ### Authors:
--
-- * FlightControl : Design & Programming
--
-- ### Contributions:
--
-- @module Core.Report
--- The REPORT class --- The REPORT class
-- @type REPORT -- @type REPORT
-- @extends Core.Base#BASE -- @extends Core.Base#BASE

View File

@ -48,7 +48,7 @@
-- @extends Core.Base#BASE -- @extends Core.Base#BASE
--- # SCHEDULER class, extends @{Base#BASE} --- # SCHEDULER class, extends @{Core.Base#BASE}
-- --
-- The SCHEDULER class creates schedule. -- The SCHEDULER class creates schedule.
-- --

View File

@ -11,10 +11,10 @@
-- --
-- Various types of SET_ classes are available: -- Various types of SET_ classes are available:
-- --
-- * @{#SET_UNIT}: Defines a colleciton of @{Unit}s filtered by filter criteria. -- * @{#SET_UNIT}: Defines a colleciton of @{Wrapper.Unit}s filtered by filter criteria.
-- * @{#SET_GROUP}: Defines a collection of @{Group}s filtered by filter criteria. -- * @{#SET_GROUP}: Defines a collection of @{Wrapper.Group}s filtered by filter criteria.
-- * @{#SET_CLIENT}: Defines a collection of @{Client}s filterd by filter criteria. -- * @{#SET_CLIENT}: Defines a collection of @{Client}s filterd by filter criteria.
-- * @{#SET_AIRBASE}: Defines a collection of @{Airbase}s filtered by filter criteria. -- * @{#SET_AIRBASE}: Defines a collection of @{Wrapper.Airbase}s filtered by filter criteria.
-- --
-- These classes are derived from @{#SET_BASE}, which contains the main methods to manage SETs. -- These classes are derived from @{#SET_BASE}, which contains the main methods to manage SETs.
-- --
@ -41,8 +41,8 @@
-- @extends Core.Base#BASE -- @extends Core.Base#BASE
--- # 1) SET_BASE class, extends @{Base#BASE} --- # 1) SET_BASE class, extends @{Core.Base#BASE}
-- The @{Set#SET_BASE} class defines the core functions that define a collection of objects. -- The @{Core.Set#SET_BASE} class defines the core functions that define a collection of objects.
-- A SET provides iterators to iterate the SET, but will **temporarily** yield the ForEach interator loop at defined **"intervals"** to the mail simulator loop. -- A SET provides iterators to iterate the SET, but will **temporarily** yield the ForEach interator loop at defined **"intervals"** to the mail simulator loop.
-- In this way, large loops can be done while not blocking the simulator main processing loop. -- In this way, large loops can be done while not blocking the simulator main processing loop.
-- The default **"yield interval"** is after 10 objects processed. -- The default **"yield interval"** is after 10 objects processed.
@ -50,11 +50,11 @@
-- --
-- ## 1.1) Add or remove objects from the SET -- ## 1.1) Add or remove objects from the SET
-- --
-- Some key core functions are @{Set#SET_BASE.Add} and @{Set#SET_BASE.Remove} to add or remove objects from the SET in your logic. -- Some key core functions are @{Core.Set#SET_BASE.Add} and @{Core.Set#SET_BASE.Remove} to add or remove objects from the SET in your logic.
-- --
-- ## 1.2) Define the SET iterator **"yield interval"** and the **"time interval"** -- ## 1.2) Define the SET iterator **"yield interval"** and the **"time interval"**
-- --
-- Modify the iterator intervals with the @{Set#SET_BASE.SetInteratorIntervals} method. -- Modify the iterator intervals with the @{Core.Set#SET_BASE.SetInteratorIntervals} method.
-- You can set the **"yield interval"**, and the **"time interval"**. (See above). -- You can set the **"yield interval"**, and the **"time interval"**. (See above).
-- --
-- @field #SET_BASE SET_BASE -- @field #SET_BASE SET_BASE
@ -118,7 +118,7 @@ function SET_BASE:New( Database )
return self return self
end end
--- Finds an @{Base#BASE} object based on the object Name. --- Finds an @{Core.Base#BASE} object based on the object Name.
-- @param #SET_BASE self -- @param #SET_BASE self
-- @param #string ObjectName -- @param #string ObjectName
-- @return Core.Base#BASE The Object found. -- @return Core.Base#BASE The Object found.
@ -170,7 +170,7 @@ function SET_BASE:GetSetObjects() -- R2.3
end end
--- Removes a @{Base#BASE} object from the @{Set#SET_BASE} and derived classes, based on the Object Name. --- Removes a @{Core.Base#BASE} object from the @{Core.Set#SET_BASE} and derived classes, based on the Object Name.
-- @param #SET_BASE self -- @param #SET_BASE self
-- @param #string ObjectName -- @param #string ObjectName
-- @param NoTriggerEvent (optional) When `true`, the :Remove() method will not trigger a **Removed** event. -- @param NoTriggerEvent (optional) When `true`, the :Remove() method will not trigger a **Removed** event.
@ -195,7 +195,7 @@ function SET_BASE:Remove( ObjectName, NoTriggerEvent )
end end
--- Adds a @{Base#BASE} object in the @{Set#SET_BASE}, using a given ObjectName as the index. --- Adds a @{Core.Base#BASE} object in the @{Core.Set#SET_BASE}, using a given ObjectName as the index.
-- @param #SET_BASE self -- @param #SET_BASE self
-- @param #string ObjectName -- @param #string ObjectName
-- @param Core.Base#BASE Object -- @param Core.Base#BASE Object
@ -213,7 +213,7 @@ function SET_BASE:Add( ObjectName, Object )
self:Added( ObjectName, Object ) self:Added( ObjectName, Object )
end end
--- Adds a @{Base#BASE} object in the @{Set#SET_BASE}, using the Object Name as the index. --- Adds a @{Core.Base#BASE} object in the @{Core.Set#SET_BASE}, using the Object Name as the index.
-- @param #SET_BASE self -- @param #SET_BASE self
-- @param Wrapper.Object#OBJECT Object -- @param Wrapper.Object#OBJECT Object
-- @return Core.Base#BASE The added BASE Object. -- @return Core.Base#BASE The added BASE Object.
@ -229,7 +229,7 @@ end
--- Gets a @{Base#BASE} object from the @{Set#SET_BASE} and derived classes, based on the Object Name. --- Gets a @{Core.Base#BASE} object from the @{Core.Set#SET_BASE} and derived classes, based on the Object Name.
-- @param #SET_BASE self -- @param #SET_BASE self
-- @param #string ObjectName -- @param #string ObjectName
-- @return Core.Base#BASE -- @return Core.Base#BASE
@ -242,7 +242,7 @@ function SET_BASE:Get( ObjectName )
return Object return Object
end end
--- Gets the first object from the @{Set#SET_BASE} and derived classes. --- Gets the first object from the @{Core.Set#SET_BASE} and derived classes.
-- @param #SET_BASE self -- @param #SET_BASE self
-- @return Core.Base#BASE -- @return Core.Base#BASE
function SET_BASE:GetFirst() function SET_BASE:GetFirst()
@ -253,7 +253,7 @@ function SET_BASE:GetFirst()
return FirstObject return FirstObject
end end
--- Gets the last object from the @{Set#SET_BASE} and derived classes. --- Gets the last object from the @{Core.Set#SET_BASE} and derived classes.
-- @param #SET_BASE self -- @param #SET_BASE self
-- @return Core.Base#BASE -- @return Core.Base#BASE
function SET_BASE:GetLast() function SET_BASE:GetLast()
@ -264,7 +264,7 @@ function SET_BASE:GetLast()
return LastObject return LastObject
end end
--- Gets a random object from the @{Set#SET_BASE} and derived classes. --- Gets a random object from the @{Core.Set#SET_BASE} and derived classes.
-- @param #SET_BASE self -- @param #SET_BASE self
-- @return Core.Base#BASE -- @return Core.Base#BASE
function SET_BASE:GetRandom() function SET_BASE:GetRandom()
@ -275,7 +275,7 @@ function SET_BASE:GetRandom()
end end
--- Retrieves the amount of objects in the @{Set#SET_BASE} and derived classes. --- Retrieves the amount of objects in the @{Core.Set#SET_BASE} and derived classes.
-- @param #SET_BASE self -- @param #SET_BASE self
-- @return #number Count -- @return #number Count
function SET_BASE:Count() function SET_BASE:Count()
@ -647,9 +647,9 @@ end
--- @type SET_GROUP --- @type SET_GROUP
-- @extends Core.Set#SET_BASE -- @extends Core.Set#SET_BASE
--- # SET_GROUP class, extends @{Set#SET_BASE} --- # SET_GROUP class, extends @{Core.Set#SET_BASE}
-- --
-- Mission designers can use the @{Set#SET_GROUP} class to build sets of groups belonging to certain: -- Mission designers can use the @{Core.Set#SET_GROUP} class to build sets of groups belonging to certain:
-- --
-- * Coalitions -- * Coalitions
-- * Categories -- * Categories
@ -664,7 +664,7 @@ end
-- --
-- ## 2. Add or Remove GROUP(s) from SET_GROUP -- ## 2. Add or Remove GROUP(s) from SET_GROUP
-- --
-- GROUPS can be added and removed using the @{Set#SET_GROUP.AddGroupsByName} and @{Set#SET_GROUP.RemoveGroupsByName} respectively. -- GROUPS can be added and removed using the @{Core.Set#SET_GROUP.AddGroupsByName} and @{Core.Set#SET_GROUP.RemoveGroupsByName} respectively.
-- These methods take a single GROUP name or an array of GROUP names to be added or removed from SET_GROUP. -- These methods take a single GROUP name or an array of GROUP names to be added or removed from SET_GROUP.
-- --
-- ## 3. SET_GROUP filter criteria -- ## 3. SET_GROUP filter criteria
@ -692,7 +692,7 @@ end
-- --
-- Planned filter criteria within development are (so these are not yet available): -- Planned filter criteria within development are (so these are not yet available):
-- --
-- * @{#SET_GROUP.FilterZones}: Builds the SET_GROUP with the groups within a @{Zone#ZONE}. -- * @{#SET_GROUP.FilterZones}: Builds the SET_GROUP with the groups within a @{Core.Zone#ZONE}.
-- --
-- ## 4. SET_GROUP iterators -- ## 4. SET_GROUP iterators
-- --
@ -1423,7 +1423,7 @@ do -- SET_UNIT
--- @type SET_UNIT --- @type SET_UNIT
-- @extends Core.Set#SET_BASE -- @extends Core.Set#SET_BASE
--- # 3) SET_UNIT class, extends @{Set#SET_BASE} --- # 3) SET_UNIT class, extends @{Core.Set#SET_BASE}
-- --
-- Mission designers can use the SET_UNIT class to build sets of units belonging to certain: -- Mission designers can use the SET_UNIT class to build sets of units belonging to certain:
-- --
@ -1441,7 +1441,7 @@ do -- SET_UNIT
-- --
-- ## 3.2) Add or Remove UNIT(s) from SET_UNIT -- ## 3.2) Add or Remove UNIT(s) from SET_UNIT
-- --
-- UNITs can be added and removed using the @{Set#SET_UNIT.AddUnitsByName} and @{Set#SET_UNIT.RemoveUnitsByName} respectively. -- UNITs can be added and removed using the @{Core.Set#SET_UNIT.AddUnitsByName} and @{Core.Set#SET_UNIT.RemoveUnitsByName} respectively.
-- These methods take a single UNIT name or an array of UNIT names to be added or removed from SET_UNIT. -- These methods take a single UNIT name or an array of UNIT names to be added or removed from SET_UNIT.
-- --
-- ## 3.3) SET_UNIT filter criteria -- ## 3.3) SET_UNIT filter criteria
@ -1461,7 +1461,7 @@ do -- SET_UNIT
-- --
-- Planned filter criteria within development are (so these are not yet available): -- Planned filter criteria within development are (so these are not yet available):
-- --
-- * @{#SET_UNIT.FilterZones}: Builds the SET_UNIT with the units within a @{Zone#ZONE}. -- * @{#SET_UNIT.FilterZones}: Builds the SET_UNIT with the units within a @{Core.Zone#ZONE}.
-- --
-- ## 3.4) SET_UNIT iterators -- ## 3.4) SET_UNIT iterators
-- --
@ -1483,7 +1483,7 @@ do -- SET_UNIT
-- --
-- Various methods exist for a SET_UNIT to perform actions or calculations and retrieve results from the SET_UNIT: -- Various methods exist for a SET_UNIT to perform actions or calculations and retrieve results from the SET_UNIT:
-- --
-- * @{#SET_UNIT.GetTypeNames}(): Retrieve the type names of the @{Unit}s in the SET, delimited by a comma. -- * @{#SET_UNIT.GetTypeNames}(): Retrieve the type names of the @{Wrapper.Unit}s in the SET, delimited by a comma.
-- --
-- ## 4. SET_UNIT iterators -- ## 4. SET_UNIT iterators
-- --
@ -2392,10 +2392,10 @@ do -- SET_UNIT
end end
--- Retrieve the type names of the @{Unit}s in the SET, delimited by an optional delimiter. --- Retrieve the type names of the @{Wrapper.Unit}s in the SET, delimited by an optional delimiter.
-- @param #SET_UNIT self -- @param #SET_UNIT self
-- @param #string Delimiter (optional) The delimiter, which is default a comma. -- @param #string Delimiter (optional) The delimiter, which is default a comma.
-- @return #string The types of the @{Unit}s delimited. -- @return #string The types of the @{Wrapper.Unit}s delimited.
function SET_UNIT:GetTypeNames( Delimiter ) function SET_UNIT:GetTypeNames( Delimiter )
Delimiter = Delimiter or ", " Delimiter = Delimiter or ", "
@ -2423,7 +2423,7 @@ do -- SET_STATIC
--- @type SET_STATIC --- @type SET_STATIC
-- @extends Core.Set#SET_BASE -- @extends Core.Set#SET_BASE
--- # 3) SET_STATIC class, extends @{Set#SET_BASE} --- # 3) SET_STATIC class, extends @{Core.Set#SET_BASE}
-- --
-- Mission designers can use the SET_STATIC class to build sets of Statics belonging to certain: -- Mission designers can use the SET_STATIC class to build sets of Statics belonging to certain:
-- --
@ -2441,7 +2441,7 @@ do -- SET_STATIC
-- --
-- ## 3.2) Add or Remove STATIC(s) from SET_STATIC -- ## 3.2) Add or Remove STATIC(s) from SET_STATIC
-- --
-- STATICs can be added and removed using the @{Set#SET_STATIC.AddStaticsByName} and @{Set#SET_STATIC.RemoveStaticsByName} respectively. -- STATICs can be added and removed using the @{Core.Set#SET_STATIC.AddStaticsByName} and @{Core.Set#SET_STATIC.RemoveStaticsByName} respectively.
-- These methods take a single STATIC name or an array of STATIC names to be added or removed from SET_STATIC. -- These methods take a single STATIC name or an array of STATIC names to be added or removed from SET_STATIC.
-- --
-- ## 3.3) SET_STATIC filter criteria -- ## 3.3) SET_STATIC filter criteria
@ -2461,7 +2461,7 @@ do -- SET_STATIC
-- --
-- Planned filter criteria within development are (so these are not yet available): -- Planned filter criteria within development are (so these are not yet available):
-- --
-- * @{#SET_STATIC.FilterZones}: Builds the SET_STATIC with the units within a @{Zone#ZONE}. -- * @{#SET_STATIC.FilterZones}: Builds the SET_STATIC with the units within a @{Core.Zone#ZONE}.
-- --
-- ## 3.4) SET_STATIC iterators -- ## 3.4) SET_STATIC iterators
-- --
@ -3099,9 +3099,9 @@ end
--- # 4) SET_CLIENT class, extends @{Set#SET_BASE} --- # 4) SET_CLIENT class, extends @{Core.Set#SET_BASE}
-- --
-- Mission designers can use the @{Set#SET_CLIENT} class to build sets of units belonging to certain: -- Mission designers can use the @{Core.Set#SET_CLIENT} class to build sets of units belonging to certain:
-- --
-- * Coalitions -- * Coalitions
-- * Categories -- * Categories
@ -3117,7 +3117,7 @@ end
-- --
-- ## 4.2) Add or Remove CLIENT(s) from SET_CLIENT -- ## 4.2) Add or Remove CLIENT(s) from SET_CLIENT
-- --
-- CLIENTs can be added and removed using the @{Set#SET_CLIENT.AddClientsByName} and @{Set#SET_CLIENT.RemoveClientsByName} respectively. -- CLIENTs can be added and removed using the @{Core.Set#SET_CLIENT.AddClientsByName} and @{Core.Set#SET_CLIENT.RemoveClientsByName} respectively.
-- These methods take a single CLIENT name or an array of CLIENT names to be added or removed from SET_CLIENT. -- These methods take a single CLIENT name or an array of CLIENT names to be added or removed from SET_CLIENT.
-- --
-- ## 4.3) SET_CLIENT filter criteria -- ## 4.3) SET_CLIENT filter criteria
@ -3137,7 +3137,7 @@ end
-- --
-- Planned filter criteria within development are (so these are not yet available): -- Planned filter criteria within development are (so these are not yet available):
-- --
-- * @{#SET_CLIENT.FilterZones}: Builds the SET_CLIENT with the clients within a @{Zone#ZONE}. -- * @{#SET_CLIENT.FilterZones}: Builds the SET_CLIENT with the clients within a @{Core.Zone#ZONE}.
-- --
-- ## 4.4) SET_CLIENT iterators -- ## 4.4) SET_CLIENT iterators
-- --
@ -3512,9 +3512,9 @@ end
--- # 4) SET_PLAYER class, extends @{Set#SET_BASE} --- # 4) SET_PLAYER class, extends @{Core.Set#SET_BASE}
-- --
-- Mission designers can use the @{Set#SET_PLAYER} class to build sets of units belonging to alive players: -- Mission designers can use the @{Core.Set#SET_PLAYER} class to build sets of units belonging to alive players:
-- --
-- ## 4.1) SET_PLAYER constructor -- ## 4.1) SET_PLAYER constructor
-- --
@ -3539,7 +3539,7 @@ end
-- --
-- Planned filter criteria within development are (so these are not yet available): -- Planned filter criteria within development are (so these are not yet available):
-- --
-- * @{#SET_PLAYER.FilterZones}: Builds the SET_PLAYER with the clients within a @{Zone#ZONE}. -- * @{#SET_PLAYER.FilterZones}: Builds the SET_PLAYER with the clients within a @{Core.Zone#ZONE}.
-- --
-- ## 4.4) SET_PLAYER iterators -- ## 4.4) SET_PLAYER iterators
-- --
@ -3909,9 +3909,9 @@ end
--- @type SET_AIRBASE --- @type SET_AIRBASE
-- @extends Core.Set#SET_BASE -- @extends Core.Set#SET_BASE
--- # 5) SET_AIRBASE class, extends @{Set#SET_BASE} --- # 5) SET_AIRBASE class, extends @{Core.Set#SET_BASE}
-- --
-- Mission designers can use the @{Set#SET_AIRBASE} class to build sets of airbases optionally belonging to certain: -- Mission designers can use the @{Core.Set#SET_AIRBASE} class to build sets of airbases optionally belonging to certain:
-- --
-- * Coalitions -- * Coalitions
-- --
@ -3923,7 +3923,7 @@ end
-- --
-- ## 5.2) Add or Remove AIRBASEs from SET_AIRBASE -- ## 5.2) Add or Remove AIRBASEs from SET_AIRBASE
-- --
-- AIRBASEs can be added and removed using the @{Set#SET_AIRBASE.AddAirbasesByName} and @{Set#SET_AIRBASE.RemoveAirbasesByName} respectively. -- AIRBASEs can be added and removed using the @{Core.Set#SET_AIRBASE.AddAirbasesByName} and @{Core.Set#SET_AIRBASE.RemoveAirbasesByName} respectively.
-- These methods take a single AIRBASE name or an array of AIRBASE names to be added or removed from SET_AIRBASE. -- These methods take a single AIRBASE name or an array of AIRBASE names to be added or removed from SET_AIRBASE.
-- --
-- ## 5.3) SET_AIRBASE filter criteria -- ## 5.3) SET_AIRBASE filter criteria
@ -4139,10 +4139,10 @@ function SET_AIRBASE:ForEachAirbase( IteratorFunction, ... )
return self return self
end end
--- Iterate the SET_AIRBASE while identifying the nearest @{Airbase#AIRBASE} from a @{Point#POINT_VEC2}. --- Iterate the SET_AIRBASE while identifying the nearest @{Wrapper.Airbase#AIRBASE} from a @{Point#POINT_VEC2}.
-- @param #SET_AIRBASE self -- @param #SET_AIRBASE self
-- @param Core.Point#POINT_VEC2 PointVec2 A @{Point#POINT_VEC2} object from where to evaluate the closest @{Airbase#AIRBASE}. -- @param Core.Point#POINT_VEC2 PointVec2 A @{Point#POINT_VEC2} object from where to evaluate the closest @{Wrapper.Airbase#AIRBASE}.
-- @return Wrapper.Airbase#AIRBASE The closest @{Airbase#AIRBASE}. -- @return Wrapper.Airbase#AIRBASE The closest @{Wrapper.Airbase#AIRBASE}.
function SET_AIRBASE:FindNearestAirbaseFromPointVec2( PointVec2 ) function SET_AIRBASE:FindNearestAirbaseFromPointVec2( PointVec2 )
self:F2( PointVec2 ) self:F2( PointVec2 )
@ -4198,9 +4198,9 @@ end
--- @type SET_CARGO --- @type SET_CARGO
-- @extends Core.Set#SET_BASE -- @extends Core.Set#SET_BASE
--- # (R2.1) SET_CARGO class, extends @{Set#SET_BASE} --- # (R2.1) SET_CARGO class, extends @{Core.Set#SET_BASE}
-- --
-- Mission designers can use the @{Set#SET_CARGO} class to build sets of cargos optionally belonging to certain: -- Mission designers can use the @{Core.Set#SET_CARGO} class to build sets of cargos optionally belonging to certain:
-- --
-- * Coalitions -- * Coalitions
-- * Types -- * Types
@ -4214,7 +4214,7 @@ end
-- --
-- ## Add or Remove CARGOs from SET_CARGO -- ## Add or Remove CARGOs from SET_CARGO
-- --
-- CARGOs can be added and removed using the @{Set#SET_CARGO.AddCargosByName} and @{Set#SET_CARGO.RemoveCargosByName} respectively. -- CARGOs can be added and removed using the @{Core.Set#SET_CARGO.AddCargosByName} and @{Core.Set#SET_CARGO.RemoveCargosByName} respectively.
-- These methods take a single CARGO name or an array of CARGO names to be added or removed from SET_CARGO. -- These methods take a single CARGO name or an array of CARGO names to be added or removed from SET_CARGO.
-- --
-- ## SET_CARGO filter criteria -- ## SET_CARGO filter criteria
@ -4632,9 +4632,9 @@ end
--- @type SET_ZONE --- @type SET_ZONE
-- @extends Core.Set#SET_BASE -- @extends Core.Set#SET_BASE
--- # SET_ZONE class, extends @{Set#SET_BASE} --- # SET_ZONE class, extends @{Core.Set#SET_BASE}
-- --
-- Mission designers can use the @{Set#SET_ZONE} class to build sets of zones of various types. -- Mission designers can use the @{Core.Set#SET_ZONE} class to build sets of zones of various types.
-- --
-- ## SET_ZONE constructor -- ## SET_ZONE constructor
-- --
@ -4644,7 +4644,7 @@ end
-- --
-- ## Add or Remove ZONEs from SET_ZONE -- ## Add or Remove ZONEs from SET_ZONE
-- --
-- ZONEs can be added and removed using the @{Set#SET_ZONE.AddZonesByName} and @{Set#SET_ZONE.RemoveZonesByName} respectively. -- ZONEs can be added and removed using the @{Core.Set#SET_ZONE.AddZonesByName} and @{Core.Set#SET_ZONE.RemoveZonesByName} respectively.
-- These methods take a single ZONE name or an array of ZONE names to be added or removed from SET_ZONE. -- These methods take a single ZONE name or an array of ZONE names to be added or removed from SET_ZONE.
-- --
-- ## 5.3) SET_ZONE filter criteria -- ## 5.3) SET_ZONE filter criteria

View File

@ -22,7 +22,7 @@
--- @type SETTINGS --- @type SETTINGS
-- @extends Core.Base#BASE -- @extends Core.Base#BASE
--- # SETTINGS class, extends @{Base#BASE} --- # SETTINGS class, extends @{Core.Base#BASE}
-- The SETTINGS class takes care of various settings that influence the behaviour of certain functionalities and classes within the MOOSE framework. -- The SETTINGS class takes care of various settings that influence the behaviour of certain functionalities and classes within the MOOSE framework.
-- --
-- === -- ===

View File

@ -37,7 +37,7 @@
-- @extends Core.Base#BASE -- @extends Core.Base#BASE
--- # SPAWN class, extends @{Base#BASE} --- # SPAWN class, extends @{Core.Base#BASE}
-- --
-- -- ![Banner Image](..\Presentations\SPAWN\SPAWN.JPG) -- -- ![Banner Image](..\Presentations\SPAWN\SPAWN.JPG)
-- --
@ -67,8 +67,8 @@
-- **Limits** can be set on how many groups can be spawn in each SPAWN object, -- **Limits** can be set on how many groups can be spawn in each SPAWN object,
-- using the method @{#SPAWN.InitLimit}. SPAWN has 2 kind of limits: -- using the method @{#SPAWN.InitLimit}. SPAWN has 2 kind of limits:
-- --
-- * The maximum amount of @{Unit}s that can be **alive** at the same time... -- * The maximum amount of @{Wrapper.Unit}s that can be **alive** at the same time...
-- * The maximum amount of @{Group}s that can be **spawned**... This is more of a **resource**-type of limit. -- * The maximum amount of @{Wrapper.Group}s that can be **spawned**... This is more of a **resource**-type of limit.
-- --
-- When new groups get spawned using the **Spawn** methods, -- When new groups get spawned using the **Spawn** methods,
-- it will be evaluated whether any limits have been reached. -- it will be evaluated whether any limits have been reached.
@ -82,7 +82,7 @@
-- with unlimited resources = :InitLimit( 100, 0 ) and 10 groups are alive, but two groups have only one unit alive in the group, -- with unlimited resources = :InitLimit( 100, 0 ) and 10 groups are alive, but two groups have only one unit alive in the group,
-- then a sequent Spawn(Scheduled) will allow a new group to be spawned!!! -- then a sequent Spawn(Scheduled) will allow a new group to be spawned!!!
-- --
-- ### IMPORTANT!! If a limit has been reached, it is possible that a **Spawn** method returns **nil**, meaning, no @{Group} had been spawned!!! -- ### IMPORTANT!! If a limit has been reached, it is possible that a **Spawn** method returns **nil**, meaning, no @{Wrapper.Group} had been spawned!!!
-- --
-- Spawned groups get **the same name** as the name of the template group. -- Spawned groups get **the same name** as the name of the template group.
-- Spawned units in those groups keep _by default_ **the same name** as the name of the template group. -- Spawned units in those groups keep _by default_ **the same name** as the name of the template group.
@ -117,7 +117,7 @@
-- Create a new SPAWN object with the @{#SPAWN.New}() or the @{#SPAWN.NewWithAlias}() methods: -- Create a new SPAWN object with the @{#SPAWN.New}() or the @{#SPAWN.NewWithAlias}() methods:
-- --
-- * @{#SPAWN.New}(): Creates a new SPAWN object taking the name of the group that represents the GROUP template (definition). -- * @{#SPAWN.New}(): Creates a new SPAWN object taking the name of the group that represents the GROUP template (definition).
-- * @{#SPAWN.NewWithAlias}(): Creates a new SPAWN object taking the name of the group that represents the GROUP template (definition), and gives each spawned @{Group} an different name. -- * @{#SPAWN.NewWithAlias}(): Creates a new SPAWN object taking the name of the group that represents the GROUP template (definition), and gives each spawned @{Wrapper.Group} an different name.
-- --
-- It is important to understand how the SPAWN class works internally. The SPAWN object created will contain internally a list of groups that will be spawned and that are already spawned. -- It is important to understand how the SPAWN class works internally. The SPAWN object created will contain internally a list of groups that will be spawned and that are already spawned.
-- The initialization methods will modify this list of groups so that when a group gets spawned, ALL information is already prepared when spawning. This is done for performance reasons. -- The initialization methods will modify this list of groups so that when a group gets spawned, ALL information is already prepared when spawning. This is done for performance reasons.
@ -149,15 +149,15 @@
-- --
-- ### Position randomization -- ### Position randomization
-- --
-- * @{#SPAWN.InitRandomizePosition}(): Randomizes the position of @{Group}s that are spawned within a **radius band**, given an Outer and Inner radius, from the point that the spawn happens. -- * @{#SPAWN.InitRandomizePosition}(): Randomizes the position of @{Wrapper.Group}s that are spawned within a **radius band**, given an Outer and Inner radius, from the point that the spawn happens.
-- * @{#SPAWN.InitRandomizeUnits}(): Randomizes the @{Unit}s in the @{Group} that is spawned within a **radius band**, given an Outer and Inner radius. -- * @{#SPAWN.InitRandomizeUnits}(): Randomizes the @{Wrapper.Unit}s in the @{Wrapper.Group} that is spawned within a **radius band**, given an Outer and Inner radius.
-- * @{#SPAWN.InitRandomizeZones}(): Randomizes the spawning between a predefined list of @{Zone}s that are declared using this function. Each zone can be given a probability factor. -- * @{#SPAWN.InitRandomizeZones}(): Randomizes the spawning between a predefined list of @{Zone}s that are declared using this function. Each zone can be given a probability factor.
-- --
-- ### Enable / Disable AI when spawning a new @{Group} -- ### Enable / Disable AI when spawning a new @{Wrapper.Group}
-- --
-- * @{#SPAWN.InitAIOn}(): Turns the AI On when spawning the new @{Group} object. -- * @{#SPAWN.InitAIOn}(): Turns the AI On when spawning the new @{Wrapper.Group} object.
-- * @{#SPAWN.InitAIOff}(): Turns the AI Off when spawning the new @{Group} object. -- * @{#SPAWN.InitAIOff}(): Turns the AI Off when spawning the new @{Wrapper.Group} object.
-- * @{#SPAWN.InitAIOnOff}(): Turns the AI On or Off when spawning the new @{Group} object. -- * @{#SPAWN.InitAIOnOff}(): Turns the AI On or Off when spawning the new @{Wrapper.Group} object.
-- --
-- ### Limit scheduled spawning -- ### Limit scheduled spawning
-- --
@ -165,11 +165,11 @@
-- --
-- ### Delay initial scheduled spawn -- ### Delay initial scheduled spawn
-- --
-- * @{#SPAWN.InitDelayOnOff}(): Turns the inital delay On/Off when scheduled spawning the first @{Group} object. -- * @{#SPAWN.InitDelayOnOff}(): Turns the inital delay On/Off when scheduled spawning the first @{Wrapper.Group} object.
-- * @{#SPAWN.InitDelayOn}(): Turns the inital delay On when scheduled spawning the first @{Group} object. -- * @{#SPAWN.InitDelayOn}(): Turns the inital delay On when scheduled spawning the first @{Wrapper.Group} object.
-- * @{#SPAWN.InitDelayOff}(): Turns the inital delay Off when scheduled spawning the first @{Group} object. -- * @{#SPAWN.InitDelayOff}(): Turns the inital delay Off when scheduled spawning the first @{Wrapper.Group} object.
-- --
-- ### Repeat spawned @{Group}s upon landing -- ### Repeat spawned @{Wrapper.Group}s upon landing
-- --
-- * @{#SPAWN.InitRepeat}() or @{#SPAWN.InitRepeatOnLanding}(): This method is used to re-spawn automatically the same group after it has landed. -- * @{#SPAWN.InitRepeat}() or @{#SPAWN.InitRepeatOnLanding}(): This method is used to re-spawn automatically the same group after it has landed.
-- * @{#SPAWN.InitRepeatOnEngineShutDown}(): This method is used to re-spawn automatically the same group after it has landed and it shuts down the engines at the ramp. -- * @{#SPAWN.InitRepeatOnEngineShutDown}(): This method is used to re-spawn automatically the same group after it has landed and it shuts down the engines at the ramp.
@ -186,9 +186,9 @@
-- * @{#SPAWN.SpawnFromVec3}(): Spawn a new group from a Vec3 coordinate. (The group will can be spawned at a point in the air). -- * @{#SPAWN.SpawnFromVec3}(): Spawn a new group from a Vec3 coordinate. (The group will can be spawned at a point in the air).
-- * @{#SPAWN.SpawnFromVec2}(): Spawn a new group from a Vec2 coordinate. (The group will be spawned at land height ). -- * @{#SPAWN.SpawnFromVec2}(): Spawn a new group from a Vec2 coordinate. (The group will be spawned at land height ).
-- * @{#SPAWN.SpawnFromStatic}(): Spawn a new group from a structure, taking the position of a @{Static}. -- * @{#SPAWN.SpawnFromStatic}(): Spawn a new group from a structure, taking the position of a @{Static}.
-- * @{#SPAWN.SpawnFromUnit}(): Spawn a new group taking the position of a @{Unit}. -- * @{#SPAWN.SpawnFromUnit}(): Spawn a new group taking the position of a @{Wrapper.Unit}.
-- * @{#SPAWN.SpawnInZone}(): Spawn a new group in a @{Zone}. -- * @{#SPAWN.SpawnInZone}(): Spawn a new group in a @{Zone}.
-- * @{#SPAWN.SpawnAtAirbase}(): Spawn a new group at an @{Airbase}, which can be an airdrome, ship or helipad. -- * @{#SPAWN.SpawnAtAirbase}(): Spawn a new group at an @{Wrapper.Airbase}, which can be an airdrome, ship or helipad.
-- --
-- Note that @{#SPAWN.Spawn} and @{#SPAWN.ReSpawn} return a @{GROUP#GROUP.New} object, that contains a reference to the DCSGroup object. -- Note that @{#SPAWN.Spawn} and @{#SPAWN.ReSpawn} return a @{GROUP#GROUP.New} object, that contains a reference to the DCSGroup object.
-- You can use the @{GROUP} object to do further actions with the DCSGroup. -- You can use the @{GROUP} object to do further actions with the DCSGroup.
@ -226,21 +226,21 @@
-- This models AI that has succesfully returned to their airbase, to restart their combat activities. -- This models AI that has succesfully returned to their airbase, to restart their combat activities.
-- Check the @{#SPAWN.InitCleanUp}() for further info. -- Check the @{#SPAWN.InitCleanUp}() for further info.
-- --
-- ## Catch the @{Group} Spawn Event in a callback function! -- ## Catch the @{Wrapper.Group} Spawn Event in a callback function!
-- --
-- When using the @{#SPAWN.SpawnScheduled)() method, new @{Group}s are created following the spawn time interval parameters. -- When using the @{#SPAWN.SpawnScheduled)() method, new @{Wrapper.Group}s are created following the spawn time interval parameters.
-- When a new @{Group} is spawned, you maybe want to execute actions with that group spawned at the spawn event. -- When a new @{Wrapper.Group} is spawned, you maybe want to execute actions with that group spawned at the spawn event.
-- The SPAWN class supports this functionality through the method @{#SPAWN.OnSpawnGroup}( **function( SpawnedGroup ) end ** ), -- The SPAWN class supports this functionality through the method @{#SPAWN.OnSpawnGroup}( **function( SpawnedGroup ) end ** ),
-- which takes a function as a parameter that you can define locally. -- which takes a function as a parameter that you can define locally.
-- Whenever a new @{Group} is spawned, the given function is called, and the @{Group} that was just spawned, is given as a parameter. -- Whenever a new @{Wrapper.Group} is spawned, the given function is called, and the @{Wrapper.Group} that was just spawned, is given as a parameter.
-- As a result, your spawn event handling function requires one parameter to be declared, which will contain the spawned @{Group} object. -- As a result, your spawn event handling function requires one parameter to be declared, which will contain the spawned @{Wrapper.Group} object.
-- A coding example is provided at the description of the @{#SPAWN.OnSpawnGroup}( **function( SpawnedGroup ) end ** ) method. -- A coding example is provided at the description of the @{#SPAWN.OnSpawnGroup}( **function( SpawnedGroup ) end ** ) method.
-- --
-- ## Delay the initial spawning -- ## Delay the initial spawning
-- --
-- When using the @{#SPAWN.SpawnScheduled)() method, the default behaviour of this method will be that it will spawn the initial (first) @{Group} -- When using the @{#SPAWN.SpawnScheduled)() method, the default behaviour of this method will be that it will spawn the initial (first) @{Wrapper.Group}
-- immediately when :SpawnScheduled() is initiated. The methods @{#SPAWN.InitDelayOnOff}() and @{#SPAWN.InitDelayOn}() can be used to -- immediately when :SpawnScheduled() is initiated. The methods @{#SPAWN.InitDelayOnOff}() and @{#SPAWN.InitDelayOn}() can be used to
-- activate a delay before the first @{Group} is spawned. For completeness, a method @{#SPAWN.InitDelayOff}() is also available, that -- activate a delay before the first @{Wrapper.Group} is spawned. For completeness, a method @{#SPAWN.InitDelayOff}() is also available, that
-- can be used to switch off the initial delay. Because there is no delay by default, this method would only be used when a -- can be used to switch off the initial delay. Because there is no delay by default, this method would only be used when a
-- @{#SPAWN.SpawnScheduledStop}() ; @{#SPAWN.SpawnScheduledStart}() sequence would have been used. -- @{#SPAWN.SpawnScheduledStop}() ; @{#SPAWN.SpawnScheduledStart}() sequence would have been used.
-- --
@ -270,7 +270,7 @@ SPAWN.Takeoff = {
-- @list <Core.Zone#ZONE_BASE> SpawnZone -- @list <Core.Zone#ZONE_BASE> SpawnZone
--- Creates the main object to spawn a @{Group} defined in the DCS ME. --- Creates the main object to spawn a @{Wrapper.Group} defined in the DCS ME.
-- @param #SPAWN self -- @param #SPAWN self
-- @param #string SpawnTemplatePrefix is the name of the Group in the ME that defines the Template. Each new group will have the name starting with SpawnTemplatePrefix. -- @param #string SpawnTemplatePrefix is the name of the Group in the ME that defines the Template. Each new group will have the name starting with SpawnTemplatePrefix.
-- @return #SPAWN -- @return #SPAWN
@ -551,9 +551,9 @@ function SPAWN:InitRandomizeRoute( SpawnStartPoint, SpawnEndPoint, SpawnRadius,
return self return self
end end
--- Randomizes the position of @{Group}s that are spawned within a **radius band**, given an Outer and Inner radius, from the point that the spawn happens. --- Randomizes the position of @{Wrapper.Group}s that are spawned within a **radius band**, given an Outer and Inner radius, from the point that the spawn happens.
-- @param #SPAWN self -- @param #SPAWN self
-- @param #boolean RandomizePosition If true, SPAWN will perform the randomization of the @{Group}s position between a given outer and inner radius. -- @param #boolean RandomizePosition If true, SPAWN will perform the randomization of the @{Wrapper.Group}s position between a given outer and inner radius.
-- @param Dcs.DCSTypes#Distance OuterRadius (optional) The outer radius in meters where the new group will be spawned. -- @param Dcs.DCSTypes#Distance OuterRadius (optional) The outer radius in meters where the new group will be spawned.
-- @param Dcs.DCSTypes#Distance InnerRadius (optional) The inner radius in meters where the new group will NOT be spawned. -- @param Dcs.DCSTypes#Distance InnerRadius (optional) The inner radius in meters where the new group will NOT be spawned.
-- @return #SPAWN -- @return #SPAWN
@ -904,7 +904,7 @@ function SPAWN:InitArray( SpawnAngle, SpawnWidth, SpawnDeltaX, SpawnDeltaY )
end end
do -- AI methods do -- AI methods
--- Turns the AI On or Off for the @{Group} when spawning. --- Turns the AI On or Off for the @{Wrapper.Group} when spawning.
-- @param #SPAWN self -- @param #SPAWN self
-- @param #boolean AIOnOff A value of true sets the AI On, a value of false sets the AI Off. -- @param #boolean AIOnOff A value of true sets the AI On, a value of false sets the AI Off.
-- @return #SPAWN The SPAWN object -- @return #SPAWN The SPAWN object
@ -914,7 +914,7 @@ do -- AI methods
return self return self
end end
--- Turns the AI On for the @{Group} when spawning. --- Turns the AI On for the @{Wrapper.Group} when spawning.
-- @param #SPAWN self -- @param #SPAWN self
-- @return #SPAWN The SPAWN object -- @return #SPAWN The SPAWN object
function SPAWN:InitAIOn() function SPAWN:InitAIOn()
@ -922,7 +922,7 @@ do -- AI methods
return self:InitAIOnOff( true ) return self:InitAIOnOff( true )
end end
--- Turns the AI Off for the @{Group} when spawning. --- Turns the AI Off for the @{Wrapper.Group} when spawning.
-- @param #SPAWN self -- @param #SPAWN self
-- @return #SPAWN The SPAWN object -- @return #SPAWN The SPAWN object
function SPAWN:InitAIOff() function SPAWN:InitAIOff()
@ -933,8 +933,8 @@ do -- AI methods
end -- AI methods end -- AI methods
do -- Delay methods do -- Delay methods
--- Turns the Delay On or Off for the first @{Group} scheduled spawning. --- Turns the Delay On or Off for the first @{Wrapper.Group} scheduled spawning.
-- The default value is that for scheduled spawning, there is an initial delay when spawning the first @{Group}. -- The default value is that for scheduled spawning, there is an initial delay when spawning the first @{Wrapper.Group}.
-- @param #SPAWN self -- @param #SPAWN self
-- @param #boolean DelayOnOff A value of true sets the Delay On, a value of false sets the Delay Off. -- @param #boolean DelayOnOff A value of true sets the Delay On, a value of false sets the Delay Off.
-- @return #SPAWN The SPAWN object -- @return #SPAWN The SPAWN object
@ -944,7 +944,7 @@ do -- Delay methods
return self return self
end end
--- Turns the Delay On for the @{Group} when spawning. --- Turns the Delay On for the @{Wrapper.Group} when spawning.
-- @param #SPAWN self -- @param #SPAWN self
-- @return #SPAWN The SPAWN object -- @return #SPAWN The SPAWN object
function SPAWN:InitDelayOn() function SPAWN:InitDelayOn()
@ -952,7 +952,7 @@ do -- Delay methods
return self:InitDelayOnOff( true ) return self:InitDelayOnOff( true )
end end
--- Turns the Delay Off for the @{Group} when spawning. --- Turns the Delay Off for the @{Wrapper.Group} when spawning.
-- @param #SPAWN self -- @param #SPAWN self
-- @return #SPAWN The SPAWN object -- @return #SPAWN The SPAWN object
function SPAWN:InitDelayOff() function SPAWN:InitDelayOff()
@ -1172,7 +1172,7 @@ end
--- Allows to place a CallFunction hook when a new group spawns. --- Allows to place a CallFunction hook when a new group spawns.
-- The provided method will be called when a new group is spawned, including its given parameters. -- The provided method will be called when a new group is spawned, including its given parameters.
-- The first parameter of the SpawnFunction is the @{Group#GROUP} that was spawned. -- The first parameter of the SpawnFunction is the @{Wrapper.Group#GROUP} that was spawned.
-- @param #SPAWN self -- @param #SPAWN self
-- @param #function SpawnCallBackFunction The function to be called when a group spawns. -- @param #function SpawnCallBackFunction The function to be called when a group spawns.
-- @param SpawnFunctionArguments A random amount of arguments to be provided to the function when the group spawns. -- @param SpawnFunctionArguments A random amount of arguments to be provided to the function when the group spawns.
@ -1200,28 +1200,28 @@ function SPAWN:OnSpawnGroup( SpawnCallBackFunction, ... )
return self return self
end end
--- Will spawn a group at an @{Airbase}. --- Will spawn a group at an @{Wrapper.Airbase}.
-- This method is mostly advisable to be used if you want to simulate spawning units at an airbase. -- This method is mostly advisable to be used if you want to simulate spawning units at an airbase.
-- Note that each point in the route assigned to the spawning group is reset to the point of the spawn. -- Note that each point in the route assigned to the spawning group is reset to the point of the spawn.
-- You can use the returned group to further define the route to be followed. -- You can use the returned group to further define the route to be followed.
-- --
-- The @{Airbase#AIRBASE} object must refer to a valid airbase known in the sim. -- The @{Wrapper.Airbase#AIRBASE} object must refer to a valid airbase known in the sim.
-- You can use the following enumerations to search for the pre-defined airbases on the current known maps of DCS: -- You can use the following enumerations to search for the pre-defined airbases on the current known maps of DCS:
-- --
-- * @{Airbase#AIRBASE.Caucasus}: The airbases on the Caucasus map. -- * @{Wrapper.Airbase#AIRBASE.Caucasus}: The airbases on the Caucasus map.
-- * @{Airbase#AIRBASE.Nevada}: The airbases on the Nevada (NTTR) map. -- * @{Wrapper.Airbase#AIRBASE.Nevada}: The airbases on the Nevada (NTTR) map.
-- * @{Airbase#AIRBASE.Normandy}: The airbases on the Normandy map. -- * @{Wrapper.Airbase#AIRBASE.Normandy}: The airbases on the Normandy map.
-- --
-- Use the method @{Airbase#AIRBASE.FindByName}() to retrieve the airbase object. -- Use the method @{Wrapper.Airbase#AIRBASE.FindByName}() to retrieve the airbase object.
-- The known AIRBASE objects are automatically imported at mission start by MOOSE. -- The known AIRBASE objects are automatically imported at mission start by MOOSE.
-- Therefore, there isn't any New() constructor defined for AIRBASE objects. -- Therefore, there isn't any New() constructor defined for AIRBASE objects.
-- --
-- Ships and Farps are added within the mission, and are therefore not known. -- Ships and Farps are added within the mission, and are therefore not known.
-- For these AIRBASE objects, there isn't an @{Airbase#AIRBASE} enumeration defined. -- For these AIRBASE objects, there isn't an @{Wrapper.Airbase#AIRBASE} enumeration defined.
-- You need to provide the **exact name** of the airbase as the parameter to the @{Airbase#AIRBASE.FindByName}() method! -- You need to provide the **exact name** of the airbase as the parameter to the @{Wrapper.Airbase#AIRBASE.FindByName}() method!
-- --
-- @param #SPAWN self -- @param #SPAWN self
-- @param Wrapper.Airbase#AIRBASE SpawnAirbase The @{Airbase} where to spawn the group. -- @param Wrapper.Airbase#AIRBASE SpawnAirbase The @{Wrapper.Airbase} where to spawn the group.
-- @param #SPAWN.Takeoff Takeoff (optional) The location and takeoff method. Default is Hot. -- @param #SPAWN.Takeoff Takeoff (optional) The location and takeoff method. Default is Hot.
-- @param #number TakeoffAltitude (optional) The altitude above the ground. -- @param #number TakeoffAltitude (optional) The altitude above the ground.
-- @return Wrapper.Group#GROUP that was spawned. -- @return Wrapper.Group#GROUP that was spawned.
@ -1579,12 +1579,12 @@ function SPAWN:SpawnFromStatic( HostStatic, MinHeight, MaxHeight, SpawnIndex )
end end
--- Will spawn a Group within a given @{Zone}. --- Will spawn a Group within a given @{Zone}.
-- The @{Zone} can be of any type derived from @{Zone#ZONE_BASE}. -- The @{Zone} can be of any type derived from @{Core.Zone#ZONE_BASE}.
-- Once the @{Group} is spawned within the zone, the @{Group} will continue on its route. -- Once the @{Wrapper.Group} is spawned within the zone, the @{Wrapper.Group} will continue on its route.
-- The **first waypoint** (where the group is spawned) is replaced with the zone location coordinates. -- The **first waypoint** (where the group is spawned) is replaced with the zone location coordinates.
-- @param #SPAWN self -- @param #SPAWN self
-- @param Core.Zone#ZONE Zone The zone where the group is to be spawned. -- @param Core.Zone#ZONE Zone The zone where the group is to be spawned.
-- @param #boolean RandomizeGroup (optional) Randomization of the @{Group} position in the zone. -- @param #boolean RandomizeGroup (optional) Randomization of the @{Wrapper.Group} position in the zone.
-- @param #number MinHeight (optional) The minimum height to spawn an airborne group into the zone. -- @param #number MinHeight (optional) The minimum height to spawn an airborne group into the zone.
-- @param #number MaxHeight (optional) The maximum height to spawn an airborne group into the zone. -- @param #number MaxHeight (optional) The maximum height to spawn an airborne group into the zone.
-- @param #number SpawnIndex (optional) The index which group to spawn within the given zone. -- @param #number SpawnIndex (optional) The index which group to spawn within the given zone.
@ -1680,12 +1680,12 @@ function SPAWN:SpawnGroupName( SpawnIndex )
end end
--- Will find the first alive @{Group} it has spawned, and return the alive @{Group} object and the first Index where the first alive @{Group} object has been found. --- Will find the first alive @{Wrapper.Group} it has spawned, and return the alive @{Wrapper.Group} object and the first Index where the first alive @{Wrapper.Group} object has been found.
-- @param #SPAWN self -- @param #SPAWN self
-- @return Wrapper.Group#GROUP, #number The @{Group} object found, the new Index where the group was found. -- @return Wrapper.Group#GROUP, #number The @{Wrapper.Group} object found, the new Index where the group was found.
-- @return #nil, #nil When no group is found, #nil is returned. -- @return #nil, #nil When no group is found, #nil is returned.
-- @usage -- @usage
-- -- Find the first alive @{Group} object of the SpawnPlanes SPAWN object @{Group} collection that it has spawned during the mission. -- -- Find the first alive @{Wrapper.Group} object of the SpawnPlanes SPAWN object @{Wrapper.Group} collection that it has spawned during the mission.
-- local GroupPlane, Index = SpawnPlanes:GetFirstAliveGroup() -- local GroupPlane, Index = SpawnPlanes:GetFirstAliveGroup()
-- while GroupPlane ~= nil do -- while GroupPlane ~= nil do
-- -- Do actions with the GroupPlane object. -- -- Do actions with the GroupPlane object.
@ -1705,13 +1705,13 @@ function SPAWN:GetFirstAliveGroup()
end end
--- Will find the next alive @{Group} object from a given Index, and return a reference to the alive @{Group} object and the next Index where the alive @{Group} has been found. --- Will find the next alive @{Wrapper.Group} object from a given Index, and return a reference to the alive @{Wrapper.Group} object and the next Index where the alive @{Wrapper.Group} has been found.
-- @param #SPAWN self -- @param #SPAWN self
-- @param #number SpawnIndexStart A Index holding the start position to search from. This method can also be used to find the first alive @{Group} object from the given Index. -- @param #number SpawnIndexStart A Index holding the start position to search from. This method can also be used to find the first alive @{Wrapper.Group} object from the given Index.
-- @return Wrapper.Group#GROUP, #number The next alive @{Group} object found, the next Index where the next alive @{Group} object was found. -- @return Wrapper.Group#GROUP, #number The next alive @{Wrapper.Group} object found, the next Index where the next alive @{Wrapper.Group} object was found.
-- @return #nil, #nil When no alive @{Group} object is found from the start Index position, #nil is returned. -- @return #nil, #nil When no alive @{Wrapper.Group} object is found from the start Index position, #nil is returned.
-- @usage -- @usage
-- -- Find the first alive @{Group} object of the SpawnPlanes SPAWN object @{Group} collection that it has spawned during the mission. -- -- Find the first alive @{Wrapper.Group} object of the SpawnPlanes SPAWN object @{Wrapper.Group} collection that it has spawned during the mission.
-- local GroupPlane, Index = SpawnPlanes:GetFirstAliveGroup() -- local GroupPlane, Index = SpawnPlanes:GetFirstAliveGroup()
-- while GroupPlane ~= nil do -- while GroupPlane ~= nil do
-- -- Do actions with the GroupPlane object. -- -- Do actions with the GroupPlane object.
@ -1731,12 +1731,12 @@ function SPAWN:GetNextAliveGroup( SpawnIndexStart )
return nil, nil return nil, nil
end end
--- Will find the last alive @{Group} object, and will return a reference to the last live @{Group} object and the last Index where the last alive @{Group} object has been found. --- Will find the last alive @{Wrapper.Group} object, and will return a reference to the last live @{Wrapper.Group} object and the last Index where the last alive @{Wrapper.Group} object has been found.
-- @param #SPAWN self -- @param #SPAWN self
-- @return Wrapper.Group#GROUP, #number The last alive @{Group} object found, the last Index where the last alive @{Group} object was found. -- @return Wrapper.Group#GROUP, #number The last alive @{Wrapper.Group} object found, the last Index where the last alive @{Wrapper.Group} object was found.
-- @return #nil, #nil When no alive @{Group} object is found, #nil is returned. -- @return #nil, #nil When no alive @{Wrapper.Group} object is found, #nil is returned.
-- @usage -- @usage
-- -- Find the last alive @{Group} object of the SpawnPlanes SPAWN object @{Group} collection that it has spawned during the mission. -- -- Find the last alive @{Wrapper.Group} object of the SpawnPlanes SPAWN object @{Wrapper.Group} collection that it has spawned during the mission.
-- local GroupPlane, Index = SpawnPlanes:GetLastAliveGroup() -- local GroupPlane, Index = SpawnPlanes:GetLastAliveGroup()
-- if GroupPlane then -- GroupPlane can be nil!!! -- if GroupPlane then -- GroupPlane can be nil!!!
-- -- Do actions with the GroupPlane object. -- -- Do actions with the GroupPlane object.

View File

@ -37,7 +37,7 @@
-- @extends Core.Base#BASE -- @extends Core.Base#BASE
--- # SPAWNSTATIC class, extends @{Base#BASE} --- # SPAWNSTATIC class, extends @{Core.Base#BASE}
-- --
-- The SPAWNSTATIC class allows to spawn dynamically new @{Static}s. -- The SPAWNSTATIC class allows to spawn dynamically new @{Static}s.
-- Through creating a copy of an existing static object template as defined in the Mission Editor (ME), -- Through creating a copy of an existing static object template as defined in the Mission Editor (ME),

View File

@ -8,7 +8,7 @@
-- --
-- * Spot for a defined duration. -- * Spot for a defined duration.
-- * wiggle the spot at the target. -- * wiggle the spot at the target.
-- * Provide a @{Unit} as a target, instead of a point. -- * Provide a @{Wrapper.Unit} as a target, instead of a point.
-- * Implement a status machine, LaseOn, LaseOff. -- * Implement a status machine, LaseOn, LaseOff.
-- --
-- === -- ===
@ -53,7 +53,7 @@ do
-- --
-- * Mark targets for a defined duration. -- * Mark targets for a defined duration.
-- * wiggle the spot at the target. -- * wiggle the spot at the target.
-- * Provide a @{Unit} as a target, instead of a point. -- * Provide a @{Wrapper.Unit} as a target, instead of a point.
-- * Implement a status machine, LaseOn, LaseOff. -- * Implement a status machine, LaseOn, LaseOff.
-- --
-- ## 1. SPOT constructor -- ## 1. SPOT constructor

View File

@ -18,7 +18,7 @@ do -- UserFlag
-- @extends Core.Base#BASE -- @extends Core.Base#BASE
--- # USERFLAG class, extends @{Base#BASE} --- # USERFLAG class, extends @{Core.Base#BASE}
-- --
-- Management of DCS User Flags. -- Management of DCS User Flags.
-- --

View File

@ -18,7 +18,7 @@ do -- UserSound
-- @extends Core.Base#BASE -- @extends Core.Base#BASE
--- # USERSOUND class, extends @{Base#BASE} --- # USERSOUND class, extends @{Core.Base#BASE}
-- --
-- Management of DCS User Sound. -- Management of DCS User Sound.
-- --
@ -110,9 +110,9 @@ do -- UserSound
end end
--- Play the usersound to the given @{Group}. --- Play the usersound to the given @{Wrapper.Group}.
-- @param #USERSOUND self -- @param #USERSOUND self
-- @param Wrapper.Group#GROUP Group The @{Group} to play the usersound to. -- @param Wrapper.Group#GROUP Group The @{Wrapper.Group} to play the usersound to.
-- @return #USERSOUND The usersound instance. -- @return #USERSOUND The usersound instance.
-- @usage -- @usage
-- local BlueVictory = USERSOUND:New( "BlueVictory.ogg" ) -- local BlueVictory = USERSOUND:New( "BlueVictory.ogg" )

View File

@ -15,7 +15,7 @@ do -- Velocity
-- @extends Core.Base#BASE -- @extends Core.Base#BASE
--- # VELOCITY class, extends @{Base#BASE} --- # VELOCITY class, extends @{Core.Base#BASE}
-- --
-- VELOCITY models a speed, which can be expressed in various formats according the Settings. -- VELOCITY models a speed, which can be expressed in various formats according the Settings.
-- --
@ -125,7 +125,7 @@ do -- VELOCITY_POSITIONABLE
-- @extends Core.Base#BASE -- @extends Core.Base#BASE
--- # VELOCITY_POSITIONABLE class, extends @{Base#BASE} --- # VELOCITY_POSITIONABLE class, extends @{Core.Base#BASE}
-- --
-- VELOCITY_POSITIONABLE monitors the speed of an @{Positionable} in the simulation, which can be expressed in various formats according the Settings. -- VELOCITY_POSITIONABLE monitors the speed of an @{Positionable} in the simulation, which can be expressed in various formats according the Settings.
-- --

View File

@ -12,7 +12,7 @@
-- The object classes are using the zone classes to test the zone boundaries, which can take various forms: -- The object classes are using the zone classes to test the zone boundaries, which can take various forms:
-- --
-- * Test if completely within the zone. -- * Test if completely within the zone.
-- * Test if partly within the zone (for @{Group#GROUP} objects). -- * Test if partly within the zone (for @{Wrapper.Group#GROUP} objects).
-- * Test if not in the zone. -- * Test if not in the zone.
-- * Distance to the nearest intersecting point of the zone. -- * Distance to the nearest intersecting point of the zone.
-- * Distance to the center of the zone. -- * Distance to the center of the zone.
@ -24,8 +24,8 @@
-- * @{#ZONE_RADIUS}: The ZONE_RADIUS class defined by a zone name, a location and a radius. -- * @{#ZONE_RADIUS}: The ZONE_RADIUS class defined by a zone name, a location and a radius.
-- * @{#ZONE}: The ZONE class, defined by the zone name as defined within the Mission Editor. -- * @{#ZONE}: The ZONE class, defined by the zone name as defined within the Mission Editor.
-- * @{#ZONE_UNIT}: The ZONE_UNIT class defines by a zone around a @{Unit#UNIT} with a radius. -- * @{#ZONE_UNIT}: The ZONE_UNIT class defines by a zone around a @{Unit#UNIT} with a radius.
-- * @{#ZONE_GROUP}: The ZONE_GROUP class defines by a zone around a @{Group#GROUP} with a radius. -- * @{#ZONE_GROUP}: The ZONE_GROUP class defines by a zone around a @{Wrapper.Group#GROUP} with a radius.
-- * @{#ZONE_POLYGON}: The ZONE_POLYGON class defines by a sequence of @{Group#GROUP} waypoints within the Mission Editor, forming a polygon. -- * @{#ZONE_POLYGON}: The ZONE_POLYGON class defines by a sequence of @{Wrapper.Group#GROUP} waypoints within the Mission Editor, forming a polygon.
-- --
-- === -- ===
-- --
@ -43,7 +43,7 @@
-- @extends Core.Base#BASE -- @extends Core.Base#BASE
--- # ZONE_BASE class, extends @{Base#BASE} --- # ZONE_BASE class, extends @{Core.Base#BASE}
-- --
-- This class is an abstract BASE class for derived classes, and is not meant to be instantiated. -- This class is an abstract BASE class for derived classes, and is not meant to be instantiated.
-- --
@ -53,7 +53,7 @@
-- * @{#ZONE_BASE.SetName}(): Sets the name of the zone. -- * @{#ZONE_BASE.SetName}(): Sets the name of the zone.
-- --
-- --
-- ## Each zone implements two polymorphic functions defined in @{Zone#ZONE_BASE}: -- ## Each zone implements two polymorphic functions defined in @{Core.Zone#ZONE_BASE}:
-- --
-- * @{#ZONE_BASE.IsVec2InZone}(): Returns if a 2D vector is within the zone. -- * @{#ZONE_BASE.IsVec2InZone}(): Returns if a 2D vector is within the zone.
-- * @{#ZONE_BASE.IsVec3InZone}(): Returns if a 3D vector is within the zone. -- * @{#ZONE_BASE.IsVec3InZone}(): Returns if a 3D vector is within the zone.
@ -380,7 +380,7 @@ end
-- @field Dcs.DCSTypes#Distance Radius The radius of the zone. -- @field Dcs.DCSTypes#Distance Radius The radius of the zone.
-- @extends #ZONE_BASE -- @extends #ZONE_BASE
--- # ZONE_RADIUS class, extends @{Zone#ZONE_BASE} --- # ZONE_RADIUS class, extends @{Core.Zone#ZONE_BASE}
-- --
-- The ZONE_RADIUS class defined by a zone name, a location and a radius. -- The ZONE_RADIUS class defined by a zone name, a location and a radius.
-- This class implements the inherited functions from Core.Zone#ZONE_BASE taking into account the own zone format and properties. -- This class implements the inherited functions from Core.Zone#ZONE_BASE taking into account the own zone format and properties.
@ -951,7 +951,7 @@ end
-- @extends #ZONE_RADIUS -- @extends #ZONE_RADIUS
--- # ZONE class, extends @{Zone#ZONE_RADIUS} --- # ZONE class, extends @{Core.Zone#ZONE_RADIUS}
-- --
-- The ZONE class, defined by the zone name as defined within the Mission Editor. -- The ZONE class, defined by the zone name as defined within the Mission Editor.
-- This class implements the inherited functions from @{#ZONE_RADIUS} taking into account the own zone format and properties. -- This class implements the inherited functions from @{#ZONE_RADIUS} taking into account the own zone format and properties.
@ -965,7 +965,7 @@ end
-- You can declare a ZONE using the DCS mission editor by adding a trigger zone in the mission editor. -- You can declare a ZONE using the DCS mission editor by adding a trigger zone in the mission editor.
-- --
-- Then during mission startup, when loading Moose.lua, this trigger zone will be detected as a ZONE declaration. -- Then during mission startup, when loading Moose.lua, this trigger zone will be detected as a ZONE declaration.
-- Within the background, a ZONE object will be created within the @{Database}. -- Within the background, a ZONE object will be created within the @{Core.Database}.
-- The ZONE name will be the trigger zone name. -- The ZONE name will be the trigger zone name.
-- --
-- So, you can search yourself for the ZONE object by using the @{#ZONE.FindByName}() method. -- So, you can search yourself for the ZONE object by using the @{#ZONE.FindByName}() method.
@ -1023,7 +1023,7 @@ end
-- @field Wrapper.Unit#UNIT ZoneUNIT -- @field Wrapper.Unit#UNIT ZoneUNIT
-- @extends Core.Zone#ZONE_RADIUS -- @extends Core.Zone#ZONE_RADIUS
--- # ZONE_UNIT class, extends @{Zone#ZONE_RADIUS} --- # ZONE_UNIT class, extends @{Core.Zone#ZONE_RADIUS}
-- --
-- The ZONE_UNIT class defined by a zone around a @{Unit#UNIT} with a radius. -- The ZONE_UNIT class defined by a zone around a @{Unit#UNIT} with a radius.
-- This class implements the inherited functions from @{#ZONE_RADIUS} taking into account the own zone format and properties. -- This class implements the inherited functions from @{#ZONE_RADIUS} taking into account the own zone format and properties.
@ -1116,20 +1116,20 @@ end
-- @extends #ZONE_RADIUS -- @extends #ZONE_RADIUS
--- # ZONE_GROUP class, extends @{Zone#ZONE_RADIUS} --- # ZONE_GROUP class, extends @{Core.Zone#ZONE_RADIUS}
-- --
-- The ZONE_GROUP class defines by a zone around a @{Group#GROUP} with a radius. The current leader of the group defines the center of the zone. -- The ZONE_GROUP class defines by a zone around a @{Wrapper.Group#GROUP} with a radius. The current leader of the group defines the center of the zone.
-- This class implements the inherited functions from @{Zone#ZONE_RADIUS} taking into account the own zone format and properties. -- This class implements the inherited functions from @{Core.Zone#ZONE_RADIUS} taking into account the own zone format and properties.
-- --
-- @field #ZONE_GROUP -- @field #ZONE_GROUP
ZONE_GROUP = { ZONE_GROUP = {
ClassName="ZONE_GROUP", ClassName="ZONE_GROUP",
} }
--- Constructor to create a ZONE_GROUP instance, taking the zone name, a zone @{Group#GROUP} and a radius. --- Constructor to create a ZONE_GROUP instance, taking the zone name, a zone @{Wrapper.Group#GROUP} and a radius.
-- @param #ZONE_GROUP self -- @param #ZONE_GROUP self
-- @param #string ZoneName Name of the zone. -- @param #string ZoneName Name of the zone.
-- @param Wrapper.Group#GROUP ZoneGROUP The @{Group} as the center of the zone. -- @param Wrapper.Group#GROUP ZoneGROUP The @{Wrapper.Group} as the center of the zone.
-- @param Dcs.DCSTypes#Distance Radius The radius of the zone. -- @param Dcs.DCSTypes#Distance Radius The radius of the zone.
-- @return #ZONE_GROUP self -- @return #ZONE_GROUP self
function ZONE_GROUP:New( ZoneName, ZoneGROUP, Radius ) function ZONE_GROUP:New( ZoneName, ZoneGROUP, Radius )
@ -1145,9 +1145,9 @@ function ZONE_GROUP:New( ZoneName, ZoneGROUP, Radius )
end end
--- Returns the current location of the @{Group}. --- Returns the current location of the @{Wrapper.Group}.
-- @param #ZONE_GROUP self -- @param #ZONE_GROUP self
-- @return Dcs.DCSTypes#Vec2 The location of the zone based on the @{Group} location. -- @return Dcs.DCSTypes#Vec2 The location of the zone based on the @{Wrapper.Group} location.
function ZONE_GROUP:GetVec2() function ZONE_GROUP:GetVec2()
self:F( self.ZoneName ) self:F( self.ZoneName )
@ -1158,9 +1158,9 @@ function ZONE_GROUP:GetVec2()
return ZoneVec2 return ZoneVec2
end end
--- Returns a random location within the zone of the @{Group}. --- Returns a random location within the zone of the @{Wrapper.Group}.
-- @param #ZONE_GROUP self -- @param #ZONE_GROUP self
-- @return Dcs.DCSTypes#Vec2 The random location of the zone based on the @{Group} location. -- @return Dcs.DCSTypes#Vec2 The random location of the zone based on the @{Wrapper.Group} location.
function ZONE_GROUP:GetRandomVec2() function ZONE_GROUP:GetRandomVec2()
self:F( self.ZoneName ) self:F( self.ZoneName )
@ -1197,10 +1197,10 @@ end
-- @extends #ZONE_BASE -- @extends #ZONE_BASE
--- # ZONE_POLYGON_BASE class, extends @{Zone#ZONE_BASE} --- # ZONE_POLYGON_BASE class, extends @{Core.Zone#ZONE_BASE}
-- --
-- The ZONE_POLYGON_BASE class defined by a sequence of @{Group#GROUP} waypoints within the Mission Editor, forming a polygon. -- The ZONE_POLYGON_BASE class defined by a sequence of @{Wrapper.Group#GROUP} waypoints within the Mission Editor, forming a polygon.
-- This class implements the inherited functions from @{Zone#ZONE_RADIUS} taking into account the own zone format and properties. -- This class implements the inherited functions from @{Core.Zone#ZONE_RADIUS} taking into account the own zone format and properties.
-- This class is an abstract BASE class for derived classes, and is not meant to be instantiated. -- This class is an abstract BASE class for derived classes, and is not meant to be instantiated.
-- --
-- ## Zone point randomization -- ## Zone point randomization
@ -1221,7 +1221,7 @@ ZONE_POLYGON_BASE = {
-- @list <Dcs.DCSTypes#Vec2> -- @list <Dcs.DCSTypes#Vec2>
--- Constructor to create a ZONE_POLYGON_BASE instance, taking the zone name and an array of @{DCSTypes#Vec2}, forming a polygon. --- Constructor to create a ZONE_POLYGON_BASE instance, taking the zone name and an array of @{DCSTypes#Vec2}, forming a polygon.
-- The @{Group#GROUP} waypoints define the polygon corners. The first and the last point are automatically connected. -- The @{Wrapper.Group#GROUP} waypoints define the polygon corners. The first and the last point are automatically connected.
-- @param #ZONE_POLYGON_BASE self -- @param #ZONE_POLYGON_BASE self
-- @param #string ZoneName Name of the zone. -- @param #string ZoneName Name of the zone.
-- @param #ZONE_POLYGON_BASE.ListVec2 PointsArray An array of @{DCSTypes#Vec2}, forming a polygon.. -- @param #ZONE_POLYGON_BASE.ListVec2 PointsArray An array of @{DCSTypes#Vec2}, forming a polygon..
@ -1245,7 +1245,7 @@ end
--- Returns the center location of the polygon. --- Returns the center location of the polygon.
-- @param #ZONE_GROUP self -- @param #ZONE_GROUP self
-- @return Dcs.DCSTypes#Vec2 The location of the zone based on the @{Group} location. -- @return Dcs.DCSTypes#Vec2 The location of the zone based on the @{Wrapper.Group} location.
function ZONE_POLYGON_BASE:GetVec2() function ZONE_POLYGON_BASE:GetVec2()
self:F( self.ZoneName ) self:F( self.ZoneName )
@ -1474,10 +1474,10 @@ end
-- @extends #ZONE_POLYGON_BASE -- @extends #ZONE_POLYGON_BASE
--- # ZONE_POLYGON class, extends @{Zone#ZONE_POLYGON_BASE} --- # ZONE_POLYGON class, extends @{Core.Zone#ZONE_POLYGON_BASE}
-- --
-- The ZONE_POLYGON class defined by a sequence of @{Group#GROUP} waypoints within the Mission Editor, forming a polygon. -- The ZONE_POLYGON class defined by a sequence of @{Wrapper.Group#GROUP} waypoints within the Mission Editor, forming a polygon.
-- This class implements the inherited functions from @{Zone#ZONE_RADIUS} taking into account the own zone format and properties. -- This class implements the inherited functions from @{Core.Zone#ZONE_RADIUS} taking into account the own zone format and properties.
-- --
-- ## Declare a ZONE_POLYGON directly in the DCS mission editor! -- ## Declare a ZONE_POLYGON directly in the DCS mission editor!
-- --
@ -1485,7 +1485,7 @@ end
-- --
-- So, imagine you have a group declared in the mission editor, with group name `DefenseZone~ZONE_POLYGON`. -- So, imagine you have a group declared in the mission editor, with group name `DefenseZone~ZONE_POLYGON`.
-- Then during mission startup, when loading Moose.lua, this group will be detected as a ZONE_POLYGON declaration. -- Then during mission startup, when loading Moose.lua, this group will be detected as a ZONE_POLYGON declaration.
-- Within the background, a ZONE_POLYGON object will be created within the @{Database} using the properties of the group. -- Within the background, a ZONE_POLYGON object will be created within the @{Core.Database} using the properties of the group.
-- The ZONE_POLYGON name will be the group name without the ~ZONE_POLYGON tag. -- The ZONE_POLYGON name will be the group name without the ~ZONE_POLYGON tag.
-- --
-- So, you can search yourself for the ZONE_POLYGON by using the @{#ZONE_POLYGON.FindByName}() method. -- So, you can search yourself for the ZONE_POLYGON by using the @{#ZONE_POLYGON.FindByName}() method.
@ -1504,8 +1504,8 @@ ZONE_POLYGON = {
ClassName="ZONE_POLYGON", ClassName="ZONE_POLYGON",
} }
--- Constructor to create a ZONE_POLYGON instance, taking the zone name and the @{Group#GROUP} defined within the Mission Editor. --- Constructor to create a ZONE_POLYGON instance, taking the zone name and the @{Wrapper.Group#GROUP} defined within the Mission Editor.
-- The @{Group#GROUP} waypoints define the polygon corners. The first and the last point are automatically connected by ZONE_POLYGON. -- The @{Wrapper.Group#GROUP} waypoints define the polygon corners. The first and the last point are automatically connected by ZONE_POLYGON.
-- @param #ZONE_POLYGON self -- @param #ZONE_POLYGON self
-- @param #string ZoneName Name of the zone. -- @param #string ZoneName Name of the zone.
-- @param Wrapper.Group#GROUP ZoneGroup The GROUP waypoints as defined within the Mission Editor define the polygon shape. -- @param Wrapper.Group#GROUP ZoneGroup The GROUP waypoints as defined within the Mission Editor define the polygon shape.
@ -1521,8 +1521,8 @@ function ZONE_POLYGON:New( ZoneName, ZoneGroup )
end end
--- Constructor to create a ZONE_POLYGON instance, taking the zone name and the **name** of the @{Group#GROUP} defined within the Mission Editor. --- Constructor to create a ZONE_POLYGON instance, taking the zone name and the **name** of the @{Wrapper.Group#GROUP} defined within the Mission Editor.
-- The @{Group#GROUP} waypoints define the polygon corners. The first and the last point are automatically connected by ZONE_POLYGON. -- The @{Wrapper.Group#GROUP} waypoints define the polygon corners. The first and the last point are automatically connected by ZONE_POLYGON.
-- @param #ZONE_POLYGON self -- @param #ZONE_POLYGON self
-- @param #string ZoneName Name of the zone. -- @param #string ZoneName Name of the zone.
-- @param #string GroupName The group name of the GROUP defining the waypoints within the Mission Editor to define the polygon shape. -- @param #string GroupName The group name of the GROUP defining the waypoints within the Mission Editor to define the polygon shape.

View File

@ -417,7 +417,7 @@ end
-- # Airbases monitored -- # Airbases monitored
-- --
-- The following airbases are monitored at the Caucasus region. -- The following airbases are monitored at the Caucasus region.
-- Use the @{Airbase#AIRBASE.Caucasus} enumeration to select the airbases to be monitored. -- Use the @{Wrapper.Airbase#AIRBASE.Caucasus} enumeration to select the airbases to be monitored.
-- --
-- * `AIRBASE.Caucasus.Anapa_Vityazevo` -- * `AIRBASE.Caucasus.Anapa_Vityazevo`
-- * `AIRBASE.Caucasus.Batumi` -- * `AIRBASE.Caucasus.Batumi`
@ -1021,7 +1021,7 @@ end
-- # Airbases monitored -- # Airbases monitored
-- --
-- The following airbases are monitored at the Nevada region. -- The following airbases are monitored at the Nevada region.
-- Use the @{Airbase#AIRBASE.Nevada} enumeration to select the airbases to be monitored. -- Use the @{Wrapper.Airbase#AIRBASE.Nevada} enumeration to select the airbases to be monitored.
-- --
-- * `AIRBASE.Nevada.Beatty_Airport` -- * `AIRBASE.Nevada.Beatty_Airport`
-- * `AIRBASE.Nevada.Boulder_City_Airport` -- * `AIRBASE.Nevada.Boulder_City_Airport`
@ -1561,7 +1561,7 @@ end
-- # Airbases monitored -- # Airbases monitored
-- --
-- The following airbases are monitored at the Normandy region. -- The following airbases are monitored at the Normandy region.
-- Use the @{Airbase#AIRBASE.Normandy} enumeration to select the airbases to be monitored. -- Use the @{Wrapper.Airbase#AIRBASE.Normandy} enumeration to select the airbases to be monitored.
-- --
-- * `AIRBASE.Normandy.Azeville` -- * `AIRBASE.Normandy.Azeville`
-- * `AIRBASE.Normandy.Bazenville` -- * `AIRBASE.Normandy.Bazenville`

View File

@ -16,7 +16,7 @@
--- @type CLEANUP_AIRBASE --- @type CLEANUP_AIRBASE
-- @extends #CLEANUP_AIRBASE.__ -- @extends #CLEANUP_AIRBASE.__
--- # CLEANUP_AIRBASE, extends @{Base#BASE} --- # CLEANUP_AIRBASE, extends @{Core.Base#BASE}
-- --
-- ![Banner Image](..\Presentations\CLEANUP_AIRBASE\Dia1.JPG) -- ![Banner Image](..\Presentations\CLEANUP_AIRBASE\Dia1.JPG)
-- --
@ -173,7 +173,7 @@ end
--- Destroys a @{Unit} from the simulator, but checks first if it is still existing! --- Destroys a @{Wrapper.Unit} from the simulator, but checks first if it is still existing!
-- @param #CLEANUP_AIRBASE self -- @param #CLEANUP_AIRBASE self
-- @param Wrapper.Unit#UNIT CleanUpUnit The object to be destroyed. -- @param Wrapper.Unit#UNIT CleanUpUnit The object to be destroyed.
function CLEANUP_AIRBASE.__:DestroyUnit( CleanUpUnit ) function CLEANUP_AIRBASE.__:DestroyUnit( CleanUpUnit )

View File

@ -49,7 +49,7 @@ do -- DETECTION_BASE
--- DETECTION_BASE class, extends @{Fsm#FSM} --- DETECTION_BASE class, extends @{Fsm#FSM}
-- --
-- The DETECTION_BASE class defines the core functions to administer detected objects. -- The DETECTION_BASE class defines the core functions to administer detected objects.
-- The DETECTION_BASE class will detect objects within the battle zone for a list of @{Group}s detecting targets following (a) detection method(s). -- The DETECTION_BASE class will detect objects within the battle zone for a list of @{Wrapper.Group}s detecting targets following (a) detection method(s).
-- --
-- ## DETECTION_BASE constructor -- ## DETECTION_BASE constructor
-- --
@ -1255,7 +1255,7 @@ do -- DETECTION_BASE
--- @param Dcs.DCSWrapper.Unit#Unit FoundDCSUnit --- @param Dcs.DCSWrapper.Unit#Unit FoundDCSUnit
-- @param Wrapper.Group#GROUP ReportGroup -- @param Wrapper.Group#GROUP ReportGroup
-- @param Set#SET_GROUP ReportSetGroup -- @param Core.Set#SET_GROUP ReportSetGroup
local FindNearByFriendlies = function( FoundDCSUnit, ReportGroupData ) local FindNearByFriendlies = function( FoundDCSUnit, ReportGroupData )
local DetectedItem = ReportGroupData.DetectedItem -- Functional.Detection#DETECTION_BASE.DetectedItem local DetectedItem = ReportGroupData.DetectedItem -- Functional.Detection#DETECTION_BASE.DetectedItem
@ -1595,7 +1595,7 @@ do -- DETECTION_BASE
return "" return ""
end end
--- Get the @{Set#SET_UNIT} of a detecttion area using a given numeric index. --- Get the @{Core.Set#SET_UNIT} of a detecttion area using a given numeric index.
-- @param #DETECTION_BASE self -- @param #DETECTION_BASE self
-- @param #DETECTION_BASE.DetectedItem DetectedItem -- @param #DETECTION_BASE.DetectedItem DetectedItem
-- @return Core.Set#SET_UNIT DetectedSet -- @return Core.Set#SET_UNIT DetectedSet
@ -1644,7 +1644,7 @@ do -- DETECTION_BASE
do -- Zones do -- Zones
--- Get the @{Zone#ZONE_UNIT} of a detection area using a given numeric index. --- Get the @{Core.Zone#ZONE_UNIT} of a detection area using a given numeric index.
-- @param #DETECTION_BASE self -- @param #DETECTION_BASE self
-- @param #DETECTION_BASE.DetectedItem DetectedItem The DetectedItem. -- @param #DETECTION_BASE.DetectedItem DetectedItem The DetectedItem.
-- @return Core.Zone#ZONE_UNIT DetectedZone -- @return Core.Zone#ZONE_UNIT DetectedZone
@ -1810,7 +1810,7 @@ do -- DETECTION_UNITS
--- # DETECTION_UNITS class, extends @{Detection#DETECTION_BASE} --- # DETECTION_UNITS class, extends @{Detection#DETECTION_BASE}
-- --
-- The DETECTION_UNITS class will detect units within the battle zone. -- The DETECTION_UNITS class will detect units within the battle zone.
-- It will build a DetectedItems list filled with DetectedItems. Each DetectedItem will contain a field Set, which contains a @{Set#SET_UNIT} containing ONE @{UNIT} object reference. -- It will build a DetectedItems list filled with DetectedItems. Each DetectedItem will contain a field Set, which contains a @{Core.Set#SET_UNIT} containing ONE @{UNIT} object reference.
-- Beware that when the amount of units detected is large, the DetectedItems list will be large also. -- Beware that when the amount of units detected is large, the DetectedItems list will be large also.
-- --
-- @type DETECTION_UNITS -- @type DETECTION_UNITS
@ -2061,7 +2061,7 @@ do -- DETECTION_TYPES
-- --
-- The DETECTION_TYPES class will detect units within the battle zone. -- The DETECTION_TYPES class will detect units within the battle zone.
-- It will build a DetectedItems[] list filled with DetectedItems, grouped by the type of units detected. -- It will build a DetectedItems[] list filled with DetectedItems, grouped by the type of units detected.
-- Each DetectedItem will contain a field Set, which contains a @{Set#SET_UNIT} containing ONE @{UNIT} object reference. -- Each DetectedItem will contain a field Set, which contains a @{Core.Set#SET_UNIT} containing ONE @{UNIT} object reference.
-- Beware that when the amount of different types detected is large, the DetectedItems[] list will be large also. -- Beware that when the amount of different types detected is large, the DetectedItems[] list will be large also.
-- --
-- @type DETECTION_TYPES -- @type DETECTION_TYPES
@ -2268,8 +2268,8 @@ do -- DETECTION_AREAS
--- # 4) DETECTION_AREAS class, extends @{Detection#DETECTION_BASE} --- # 4) DETECTION_AREAS class, extends @{Detection#DETECTION_BASE}
-- --
-- The DETECTION_AREAS class will detect units within the battle zone for a list of @{Group}s detecting targets following (a) detection method(s), -- The DETECTION_AREAS class will detect units within the battle zone for a list of @{Wrapper.Group}s detecting targets following (a) detection method(s),
-- and will build a list (table) of @{Set#SET_UNIT}s containing the @{Unit#UNIT}s detected. -- and will build a list (table) of @{Core.Set#SET_UNIT}s containing the @{Unit#UNIT}s detected.
-- The class is group the detected units within zones given a DetectedZoneRange parameter. -- The class is group the detected units within zones given a DetectedZoneRange parameter.
-- A set with multiple detected zones will be created as there are groups of units detected. -- A set with multiple detected zones will be created as there are groups of units detected.
-- --
@ -2278,7 +2278,7 @@ do -- DETECTION_AREAS
-- The methods to manage the DetectedItems[].Set(s) are implemented in @{Detection#DECTECTION_BASE} and -- The methods to manage the DetectedItems[].Set(s) are implemented in @{Detection#DECTECTION_BASE} and
-- the methods to manage the DetectedItems[].Zone(s) is implemented in @{Detection#DETECTION_AREAS}. -- the methods to manage the DetectedItems[].Zone(s) is implemented in @{Detection#DETECTION_AREAS}.
-- --
-- Retrieve the DetectedItems[].Set with the method @{Detection#DETECTION_BASE.GetDetectedSet}(). A @{Set#SET_UNIT} object will be returned. -- Retrieve the DetectedItems[].Set with the method @{Detection#DETECTION_BASE.GetDetectedSet}(). A @{Core.Set#SET_UNIT} object will be returned.
-- --
-- Retrieve the formed @{Zone@ZONE_UNIT}s as a result of the grouping the detected units within the DetectionZoneRange, use the method @{Detection#DETECTION_BASE.GetDetectionZones}(). -- Retrieve the formed @{Zone@ZONE_UNIT}s as a result of the grouping the detected units within the DetectionZoneRange, use the method @{Detection#DETECTION_BASE.GetDetectionZones}().
-- To understand the amount of zones created, use the method @{Detection#DETECTION_BASE.GetDetectionZoneCount}(). -- To understand the amount of zones created, use the method @{Detection#DETECTION_BASE.GetDetectionZoneCount}().
@ -2300,7 +2300,7 @@ do -- DETECTION_AREAS
-- --
-- @type DETECTION_AREAS -- @type DETECTION_AREAS
-- @field Dcs.DCSTypes#Distance DetectionZoneRange The range till which targets are grouped upon the first detected target. -- @field Dcs.DCSTypes#Distance DetectionZoneRange The range till which targets are grouped upon the first detected target.
-- @field #DETECTION_BASE.DetectedItems DetectedItems A list of areas containing the set of @{Unit}s, @{Zone}s, the center @{Unit} within the zone, and ID of each area that was detected within a DetectionZoneRange. -- @field #DETECTION_BASE.DetectedItems DetectedItems A list of areas containing the set of @{Wrapper.Unit}s, @{Zone}s, the center @{Wrapper.Unit} within the zone, and ID of each area that was detected within a DetectionZoneRange.
-- @extends #DETECTION_BASE -- @extends #DETECTION_BASE
DETECTION_AREAS = { DETECTION_AREAS = {
ClassName = "DETECTION_AREAS", ClassName = "DETECTION_AREAS",

View File

@ -82,7 +82,7 @@
-- === -- ===
-- Create a new SPAWN object with the @{#ESCORT.New} method: -- Create a new SPAWN object with the @{#ESCORT.New} method:
-- --
-- * @{#ESCORT.New}: Creates a new ESCORT object from a @{Group#GROUP} for a @{Client#CLIENT}, with an optional briefing text. -- * @{#ESCORT.New}: Creates a new ESCORT object from a @{Wrapper.Group#GROUP} for a @{Wrapper.Client#CLIENT}, with an optional briefing text.
-- --
-- ESCORT initialization methods. -- ESCORT initialization methods.
-- === -- ===

View File

@ -2,7 +2,7 @@
-- --
-- === -- ===
-- --
-- 1) @{MissileTrainer#MISSILETRAINER} class, extends @{Base#BASE} -- 1) @{MissileTrainer#MISSILETRAINER} class, extends @{Core.Base#BASE}
-- === -- ===
-- The @{#MISSILETRAINER} class uses the DCS world messaging system to be alerted of any missiles fired, and when a missile would hit your aircraft, -- The @{#MISSILETRAINER} class uses the DCS world messaging system to be alerted of any missiles fired, and when a missile would hit your aircraft,
-- the class will destroy the missile within a certain range, to avoid damage to your aircraft. -- the class will destroy the missile within a certain range, to avoid damage to your aircraft.

View File

@ -15,7 +15,7 @@
--- @type PROTECT --- @type PROTECT
-- @extends #PROTECT.__ -- @extends #PROTECT.__
--- # PROTECT, extends @{Base#BASE} --- # PROTECT, extends @{Core.Base#BASE}
-- --
-- @field #PROTECT -- @field #PROTECT
PROTECT = { PROTECT = {

View File

@ -53,7 +53,7 @@
-- @field #boolean eventsmoose If true, events are handled by MOOSE. If false, events are handled directly by DCS eventhandler. -- @field #boolean eventsmoose If true, events are handled by MOOSE. If false, events are handled directly by DCS eventhandler.
-- @extends Core.Base#BASE -- @extends Core.Base#BASE
---# PSEUDOATC class, extends @{Base#BASE} ---# PSEUDOATC class, extends @{Core.Base#BASE}
-- The PSEUDOATC class adds some rudimentary ATC functionality via the radio menu. -- The PSEUDOATC class adds some rudimentary ATC functionality via the radio menu.
-- --
-- Local weather reports can be requested for nearby airports and player's mission waypoints. -- Local weather reports can be requested for nearby airports and player's mission waypoints.

View File

@ -152,7 +152,7 @@
-- @field #boolean useparkingdb Parking spots are added to data base once an aircraft has used it. These spots can later be used by other aircraft. Default is true. -- @field #boolean useparkingdb Parking spots are added to data base once an aircraft has used it. These spots can later be used by other aircraft. Default is true.
-- @extends Core.Spawn#SPAWN -- @extends Core.Spawn#SPAWN
---# RAT class, extends @{Spawn#SPAWN} ---# RAT class, extends @{Core.Spawn#SPAWN}
-- The RAT class implements an easy to use way to randomly fill your map with AI aircraft. -- The RAT class implements an easy to use way to randomly fill your map with AI aircraft.
-- --
-- --
@ -5238,7 +5238,7 @@ end
-- @field #number managerid Managing scheduler id. -- @field #number managerid Managing scheduler id.
-- @extends Core.Base#BASE -- @extends Core.Base#BASE
---# RATMANAGER class, extends @{Base#BASE} ---# RATMANAGER class, extends @{Core.Base#BASE}
-- The RATMANAGER class manages spawning of multiple RAT objects in a very simple way. It is created by the @{#RATMANAGER.New}() contructor. -- The RATMANAGER class manages spawning of multiple RAT objects in a very simple way. It is created by the @{#RATMANAGER.New}() contructor.
-- RAT objects with different "tasks" can be defined as usual. However, they **must not** be spawned via the @{#RAT.Spawn}() function. -- RAT objects with different "tasks" can be defined as usual. However, they **must not** be spawned via the @{#RAT.Spawn}() function.
-- --

View File

@ -86,7 +86,7 @@
-- @field #boolean trackmissiles If true (default), all missile types are tracked and impact point to closest bombing target is evaluated. -- @field #boolean trackmissiles If true (default), all missile types are tracked and impact point to closest bombing target is evaluated.
-- @extends Core.Base#BASE -- @extends Core.Base#BASE
---# RANGE class, extends @{Base#BASE} ---# RANGE class, extends @{Core.Base#BASE}
-- The RANGE class enables a mission designer to easily set up practice ranges in DCS. A new RANGE object can be created with the @{#RANGE.New}(rangename) contructor. -- The RANGE class enables a mission designer to easily set up practice ranges in DCS. A new RANGE object can be created with the @{#RANGE.New}(rangename) contructor.
-- The parameter "rangename" defindes the name of the range. It has to be unique since this is also the name displayed in the radio menu. -- The parameter "rangename" defindes the name of the range. It has to be unique since this is also the name displayed in the radio menu.
-- --
@ -108,7 +108,7 @@
-- --
-- A strafe pit can be added to the range by the @{#RANGE.AddStrafepit}(*targetnames, boxlength, boxwidth, heading, inverseheading, goodpass, foulline*) function. -- A strafe pit can be added to the range by the @{#RANGE.AddStrafepit}(*targetnames, boxlength, boxwidth, heading, inverseheading, goodpass, foulline*) function.
-- --
-- * The first parameter *targetnames* defines the target or targets. This has to be given as a lua table which contains the names of @{Unit} or @{Static} objects defined in the mission editor. -- * The first parameter *targetnames* defines the target or targets. This has to be given as a lua table which contains the names of @{Wrapper.Unit} or @{Static} objects defined in the mission editor.
-- * In order to perform a valid pass on the strafe pit, the pilot has to begin his run from the correct direction. Therefore, an "approach box" is defined in front -- * In order to perform a valid pass on the strafe pit, the pilot has to begin his run from the correct direction. Therefore, an "approach box" is defined in front
-- of the strafe targets. The parameters *boxlength* and *boxwidth* define the size of the box while the parameter *heading* defines its direction. -- of the strafe targets. The parameters *boxlength* and *boxwidth* define the size of the box while the parameter *heading* defines its direction.
-- If the parameter *heading* is passed as **nil**, the heading is automatically taken from the heading of the first target unit as defined in the ME. -- If the parameter *heading* is passed as **nil**, the heading is automatically taken from the heading of the first target unit as defined in the ME.
@ -118,7 +118,7 @@
-- * The last parameter *foulline* sets the distance from the pit targets to the foul line. Hit from closer than this line are not counted! -- * The last parameter *foulline* sets the distance from the pit targets to the foul line. Hit from closer than this line are not counted!
-- --
-- Another function to add a strafe pit is @{#RANGE.AddStrafePitGroup}(*group, boxlength, boxwidth, heading, inverseheading, goodpass, foulline*). Here, -- Another function to add a strafe pit is @{#RANGE.AddStrafePitGroup}(*group, boxlength, boxwidth, heading, inverseheading, goodpass, foulline*). Here,
-- the first parameter *group* is a MOOSE @{Group} object and **all** units in this group define **one** strafe pit. -- the first parameter *group* is a MOOSE @{Wrapper.Group} object and **all** units in this group define **one** strafe pit.
-- --
-- Finally, a valid approach has to be performed below a certain maximum altitude. The default is 914 meters (3000 ft) AGL. This is a parameter valid for all -- Finally, a valid approach has to be performed below a certain maximum altitude. The default is 914 meters (3000 ft) AGL. This is a parameter valid for all
-- strafing pits of the range and can be adjusted by the @{#RANGE.SetMaxStrafeAlt}(maxalt) function. -- strafing pits of the range and can be adjusted by the @{#RANGE.SetMaxStrafeAlt}(maxalt) function.
@ -126,13 +126,13 @@
-- ## Bombing targets -- ## Bombing targets
-- One ore multiple bombing targets can be added to the range by the @{#RANGE.AddBombingTargets}(targetnames, goodhitrange, randommove) function. -- One ore multiple bombing targets can be added to the range by the @{#RANGE.AddBombingTargets}(targetnames, goodhitrange, randommove) function.
-- --
-- * The first parameter *targetnames* has to be a lua table, which contains the names of @{Unit} and/or @{Static} objects defined in the mission editor. -- * The first parameter *targetnames* has to be a lua table, which contains the names of @{Wrapper.Unit} and/or @{Static} objects defined in the mission editor.
-- Note that the @{Range} logic **automatically** determines, if a name belongs to a @{Unit} or @{Static} object now. -- Note that the @{Range} logic **automatically** determines, if a name belongs to a @{Wrapper.Unit} or @{Static} object now.
-- * The (optional) parameter *goodhitrange* specifies the radius around the target. If a bomb or rocket falls at a distance smaller than this number, the hit is considered to be "good". -- * The (optional) parameter *goodhitrange* specifies the radius around the target. If a bomb or rocket falls at a distance smaller than this number, the hit is considered to be "good".
-- * If final (optional) parameter "*randommove*" can be enabled to create moving targets. If this parameter is set to true, the units of this bombing target will randomly move within the range zone. -- * If final (optional) parameter "*randommove*" can be enabled to create moving targets. If this parameter is set to true, the units of this bombing target will randomly move within the range zone.
-- Note that there might be quirks since DCS units can get stuck in buildings etc. So it might be safer to manually define a route for the units in the mission editor if moving targets are desired. -- Note that there might be quirks since DCS units can get stuck in buildings etc. So it might be safer to manually define a route for the units in the mission editor if moving targets are desired.
-- --
-- Another possibility to add bombing targets is the @{#RANGE.AddBombingTargetGroup}(*group, goodhitrange, randommove*) function. Here the parameter *group* is a MOOSE @{Group} object -- Another possibility to add bombing targets is the @{#RANGE.AddBombingTargetGroup}(*group, goodhitrange, randommove*) function. Here the parameter *group* is a MOOSE @{Wrapper.Group} object
-- and **all** units in this group are defined as bombing targets. -- and **all** units in this group are defined as bombing targets.
-- --
-- ## Fine Tuning -- ## Fine Tuning

View File

@ -10,7 +10,7 @@
-- and creates a CSV file logging the scoring events and results for use at team or squadron websites. -- and creates a CSV file logging the scoring events and results for use at team or squadron websites.
-- --
-- SCORING automatically calculates the threat level of the objects hit and destroyed by players, -- SCORING automatically calculates the threat level of the objects hit and destroyed by players,
-- which can be @{Unit}, @{Static) and @{Scenery} objects. -- which can be @{Wrapper.Unit}, @{Static) and @{Scenery} objects.
-- --
-- Positive score points are granted when enemy or neutral targets are destroyed. -- Positive score points are granted when enemy or neutral targets are destroyed.
-- Negative score points or penalties are given when a friendly target is hit or destroyed. -- Negative score points or penalties are given when a friendly target is hit or destroyed.
@ -56,7 +56,7 @@
-- Use the radio menu F10 to consult the scores while running the mission. -- Use the radio menu F10 to consult the scores while running the mission.
-- Scores can be reported for your user, or an overall score can be reported of all players currently active in the mission. -- Scores can be reported for your user, or an overall score can be reported of all players currently active in the mission.
-- --
-- # 1) @{Scoring#SCORING} class, extends @{Base#BASE} -- # 1) @{Scoring#SCORING} class, extends @{Core.Base#BASE}
-- --
-- ## 1.1) Set the destroy score or penalty scale -- ## 1.1) Set the destroy score or penalty scale
-- --
@ -74,9 +74,9 @@
-- ## 1.2) Define special targets that will give extra scores. -- ## 1.2) Define special targets that will give extra scores.
-- --
-- Special targets can be set that will give extra scores to the players when these are destroyed. -- Special targets can be set that will give extra scores to the players when these are destroyed.
-- Use the methods @{#SCORING.AddUnitScore}() and @{#SCORING.RemoveUnitScore}() to specify a special additional score for a specific @{Unit}s. -- Use the methods @{#SCORING.AddUnitScore}() and @{#SCORING.RemoveUnitScore}() to specify a special additional score for a specific @{Wrapper.Unit}s.
-- Use the methods @{#SCORING.AddStaticScore}() and @{#SCORING.RemoveStaticScore}() to specify a special additional score for a specific @{Static}s. -- Use the methods @{#SCORING.AddStaticScore}() and @{#SCORING.RemoveStaticScore}() to specify a special additional score for a specific @{Static}s.
-- Use the method @{#SCORING.SetGroupGroup}() to specify a special additional score for a specific @{Group}s. -- Use the method @{#SCORING.SetGroupGroup}() to specify a special additional score for a specific @{Wrapper.Group}s.
-- --
-- local Scoring = SCORING:New( "Scoring File" ) -- local Scoring = SCORING:New( "Scoring File" )
-- Scoring:AddUnitScore( UNIT:FindByName( "Unit #001" ), 200 ) -- Scoring:AddUnitScore( UNIT:FindByName( "Unit #001" ), 200 )
@ -93,7 +93,7 @@
-- Define zones of destruction. Any object destroyed within the zone of the given category will give extra points. -- Define zones of destruction. Any object destroyed within the zone of the given category will give extra points.
-- Use the method @{#SCORING.AddZoneScore}() to add a @{Zone} for additional scoring. -- Use the method @{#SCORING.AddZoneScore}() to add a @{Zone} for additional scoring.
-- Use the method @{#SCORING.RemoveZoneScore}() to remove a @{Zone} for additional scoring. -- Use the method @{#SCORING.RemoveZoneScore}() to remove a @{Zone} for additional scoring.
-- There are interesting variations that can be achieved with this functionality. For example, if the @{Zone} is a @{Zone#ZONE_UNIT}, -- There are interesting variations that can be achieved with this functionality. For example, if the @{Zone} is a @{Core.Zone#ZONE_UNIT},
-- then the zone is a moving zone, and anything destroyed within that @{Zone} will generate points. -- then the zone is a moving zone, and anything destroyed within that @{Zone} will generate points.
-- The other implementation could be to designate a scenery target (a building) in the mission editor surrounded by a @{Zone}, -- The other implementation could be to designate a scenery target (a building) in the mission editor surrounded by a @{Zone},
-- just large enough around that building. -- just large enough around that building.
@ -339,11 +339,11 @@ function SCORING:SetScaleDestroyPenalty( Scale )
return self return self
end end
--- Add a @{Unit} for additional scoring when the @{Unit} is destroyed. --- Add a @{Wrapper.Unit} for additional scoring when the @{Wrapper.Unit} is destroyed.
-- Note that if there was already a @{Unit} declared within the scoring with the same name, -- Note that if there was already a @{Wrapper.Unit} declared within the scoring with the same name,
-- then the old @{Unit} will be replaced with the new @{Unit}. -- then the old @{Wrapper.Unit} will be replaced with the new @{Wrapper.Unit}.
-- @param #SCORING self -- @param #SCORING self
-- @param Wrapper.Unit#UNIT ScoreUnit The @{Unit} for which the Score needs to be given. -- @param Wrapper.Unit#UNIT ScoreUnit The @{Wrapper.Unit} for which the Score needs to be given.
-- @param #number Score The Score value. -- @param #number Score The Score value.
-- @return #SCORING -- @return #SCORING
function SCORING:AddUnitScore( ScoreUnit, Score ) function SCORING:AddUnitScore( ScoreUnit, Score )
@ -355,9 +355,9 @@ function SCORING:AddUnitScore( ScoreUnit, Score )
return self return self
end end
--- Removes a @{Unit} for additional scoring when the @{Unit} is destroyed. --- Removes a @{Wrapper.Unit} for additional scoring when the @{Wrapper.Unit} is destroyed.
-- @param #SCORING self -- @param #SCORING self
-- @param Wrapper.Unit#UNIT ScoreUnit The @{Unit} for which the Score needs to be given. -- @param Wrapper.Unit#UNIT ScoreUnit The @{Wrapper.Unit} for which the Score needs to be given.
-- @return #SCORING -- @return #SCORING
function SCORING:RemoveUnitScore( ScoreUnit ) function SCORING:RemoveUnitScore( ScoreUnit )
@ -398,9 +398,9 @@ function SCORING:RemoveStaticScore( ScoreStatic )
end end
--- Specify a special additional score for a @{Group}. --- Specify a special additional score for a @{Wrapper.Group}.
-- @param #SCORING self -- @param #SCORING self
-- @param Wrapper.Group#GROUP ScoreGroup The @{Group} for which each @{Unit} a Score is given. -- @param Wrapper.Group#GROUP ScoreGroup The @{Wrapper.Group} for which each @{Wrapper.Unit} a Score is given.
-- @param #number Score The Score value. -- @param #number Score The Score value.
-- @return #SCORING -- @return #SCORING
function SCORING:AddScoreGroup( ScoreGroup, Score ) function SCORING:AddScoreGroup( ScoreGroup, Score )
@ -714,7 +714,7 @@ end
-- A free text can be given that is shown to the players. -- A free text can be given that is shown to the players.
-- The Score can be both positive and negative. -- The Score can be both positive and negative.
-- @param #SCORING self -- @param #SCORING self
-- @param Wrapper.Unit#UNIT PlayerUnit The @{Unit} of the Player. Other Properties for the scoring are taken from this PlayerUnit, like coalition, type etc. -- @param Wrapper.Unit#UNIT PlayerUnit The @{Wrapper.Unit} of the Player. Other Properties for the scoring are taken from this PlayerUnit, like coalition, type etc.
-- @param #string GoalTag The string or identifier that is used in the CSV file to identify the goal (sort or group later in Excel). -- @param #string GoalTag The string or identifier that is used in the CSV file to identify the goal (sort or group later in Excel).
-- @param #string Text A free text that is shown to the players. -- @param #string Text A free text that is shown to the players.
-- @param #number Score The score can be both positive or negative ( Penalty ). -- @param #number Score The score can be both positive or negative ( Penalty ).

View File

@ -36,7 +36,7 @@ do -- Zone
-- --
-- ### 2.2 ZONE_GOAL Events -- ### 2.2 ZONE_GOAL Events
-- --
-- * DestroyedUnit: A @{Unit} is destroyed in the Zone. The event will only get triggered if the method @{#ZONE_GOAL.MonitorDestroyedUnits}() is used. -- * DestroyedUnit: A @{Wrapper.Unit} is destroyed in the Zone. The event will only get triggered if the method @{#ZONE_GOAL.MonitorDestroyedUnits}() is used.
-- --
-- @field #ZONE_GOAL -- @field #ZONE_GOAL
ZONE_GOAL = { ZONE_GOAL = {

View File

@ -23,7 +23,7 @@
-- @extends Core.Base#BASE -- @extends Core.Base#BASE
--- # COMMANDCENTER class, extends @{Base#BASE} --- # COMMANDCENTER class, extends @{Core.Base#BASE}
-- --
-- The COMMANDCENTER class governs multiple missions, the tasking and the reporting. -- The COMMANDCENTER class governs multiple missions, the tasking and the reporting.
-- --

View File

@ -46,7 +46,7 @@ do -- DETECTION MANAGER
--- DETECTION_MANAGER class. --- DETECTION_MANAGER class.
-- @type DETECTION_MANAGER -- @type DETECTION_MANAGER
-- @field Set#SET_GROUP SetGroup The groups to which the FAC will report to. -- @field Core.Set#SET_GROUP SetGroup The groups to which the FAC will report to.
-- @field Functional.Detection#DETECTION_BASE Detection The DETECTION_BASE object that is used to report the detected objects. -- @field Functional.Detection#DETECTION_BASE Detection The DETECTION_BASE object that is used to report the detected objects.
-- @extends Core.Fsm#FSM -- @extends Core.Fsm#FSM
DETECTION_MANAGER = { DETECTION_MANAGER = {
@ -57,7 +57,7 @@ do -- DETECTION MANAGER
--- FAC constructor. --- FAC constructor.
-- @param #DETECTION_MANAGER self -- @param #DETECTION_MANAGER self
-- @param Set#SET_GROUP SetGroup -- @param Core.Set#SET_GROUP SetGroup
-- @param Functional.Detection#DETECTION_BASE Detection -- @param Functional.Detection#DETECTION_BASE Detection
-- @return #DETECTION_MANAGER self -- @return #DETECTION_MANAGER self
function DETECTION_MANAGER:New( SetGroup, Detection ) function DETECTION_MANAGER:New( SetGroup, Detection )
@ -217,7 +217,7 @@ do -- DETECTION MANAGER
return self._ReportDisplayTime return self._ReportDisplayTime
end end
--- Reports the detected items to the @{Set#SET_GROUP}. --- Reports the detected items to the @{Core.Set#SET_GROUP}.
-- @param #DETECTION_MANAGER self -- @param #DETECTION_MANAGER self
-- @param Functional.Detection#DETECTION_BASE Detection -- @param Functional.Detection#DETECTION_BASE Detection
-- @return #DETECTION_MANAGER self -- @return #DETECTION_MANAGER self
@ -233,7 +233,7 @@ do -- DETECTION_REPORTING
--- DETECTION_REPORTING class. --- DETECTION_REPORTING class.
-- @type DETECTION_REPORTING -- @type DETECTION_REPORTING
-- @field Set#SET_GROUP SetGroup The groups to which the FAC will report to. -- @field Core.Set#SET_GROUP SetGroup The groups to which the FAC will report to.
-- @field Functional.Detection#DETECTION_BASE Detection The DETECTION_BASE object that is used to report the detected objects. -- @field Functional.Detection#DETECTION_BASE Detection The DETECTION_BASE object that is used to report the detected objects.
-- @extends #DETECTION_MANAGER -- @extends #DETECTION_MANAGER
DETECTION_REPORTING = { DETECTION_REPORTING = {
@ -243,7 +243,7 @@ do -- DETECTION_REPORTING
--- DETECTION_REPORTING constructor. --- DETECTION_REPORTING constructor.
-- @param #DETECTION_REPORTING self -- @param #DETECTION_REPORTING self
-- @param Set#SET_GROUP SetGroup -- @param Core.Set#SET_GROUP SetGroup
-- @param Functional.Detection#DETECTION_AREAS Detection -- @param Functional.Detection#DETECTION_AREAS Detection
-- @return #DETECTION_REPORTING self -- @return #DETECTION_REPORTING self
function DETECTION_REPORTING:New( SetGroup, Detection ) function DETECTION_REPORTING:New( SetGroup, Detection )
@ -257,7 +257,7 @@ do -- DETECTION_REPORTING
--- Creates a string of the detected items in a @{Detection}. --- Creates a string of the detected items in a @{Detection}.
-- @param #DETECTION_MANAGER self -- @param #DETECTION_MANAGER self
-- @param Set#SET_UNIT DetectedSet The detected Set created by the @{Detection#DETECTION_BASE} object. -- @param Core.Set#SET_UNIT DetectedSet The detected Set created by the @{Detection#DETECTION_BASE} object.
-- @return #DETECTION_MANAGER self -- @return #DETECTION_MANAGER self
function DETECTION_REPORTING:GetDetectedItemsText( DetectedSet ) function DETECTION_REPORTING:GetDetectedItemsText( DetectedSet )
self:F2() self:F2()
@ -287,9 +287,9 @@ do -- DETECTION_REPORTING
--- Reports the detected items to the @{Set#SET_GROUP}. --- Reports the detected items to the @{Core.Set#SET_GROUP}.
-- @param #DETECTION_REPORTING self -- @param #DETECTION_REPORTING self
-- @param Wrapper.Group#GROUP Group The @{Group} object to where the report needs to go. -- @param Wrapper.Group#GROUP Group The @{Wrapper.Group} object to where the report needs to go.
-- @param Functional.Detection#DETECTION_AREAS Detection The detection created by the @{Detection#DETECTION_BASE} object. -- @param Functional.Detection#DETECTION_AREAS Detection The detection created by the @{Detection#DETECTION_BASE} object.
-- @return #boolean Return true if you want the reporting to continue... false will cancel the reporting loop. -- @return #boolean Return true if you want the reporting to continue... false will cancel the reporting loop.
function DETECTION_REPORTING:ProcessDetected( Group, Detection ) function DETECTION_REPORTING:ProcessDetected( Group, Detection )

View File

@ -458,7 +458,7 @@ do -- Group Assignment
end end
--- Set @{Group} assigned to the @{Mission}. --- Set @{Wrapper.Group} assigned to the @{Mission}.
-- @param #MISSION self -- @param #MISSION self
-- @param Wrapper.Group#GROUP MissionGroup -- @param Wrapper.Group#GROUP MissionGroup
-- @return #MISSION -- @return #MISSION
@ -473,7 +473,7 @@ do -- Group Assignment
return self return self
end end
--- Clear the @{Group} assignment from the @{Mission}. --- Clear the @{Wrapper.Group} assignment from the @{Mission}.
-- @param #MISSION self -- @param #MISSION self
-- @param Wrapper.Group#GROUP MissionGroup -- @param Wrapper.Group#GROUP MissionGroup
-- @return #MISSION -- @return #MISSION

View File

@ -21,7 +21,7 @@
-- @extends Core.Fsm#FSM_TASK -- @extends Core.Fsm#FSM_TASK
--- ---
-- # TASK class, extends @{Base#BASE} -- # TASK class, extends @{Core.Base#BASE}
-- --
-- ## The TASK class implements the methods for task orchestration within MOOSE. -- ## The TASK class implements the methods for task orchestration within MOOSE.
-- --
@ -186,7 +186,7 @@ function TASK:New( Mission, SetGroupAssign, TaskName, TaskType, TaskBriefing )
-- @param #string From -- @param #string From
-- @param #string Event -- @param #string Event
-- @param #string To -- @param #string To
-- @param Wrapper.Unit#UNIT PlayerUnit The @{Unit} of the player. -- @param Wrapper.Unit#UNIT PlayerUnit The @{Wrapper.Unit} of the player.
-- @param #string PlayerName The name of the player. -- @param #string PlayerName The name of the player.
-- @return #boolean -- @return #boolean
@ -196,20 +196,20 @@ function TASK:New( Mission, SetGroupAssign, TaskName, TaskType, TaskBriefing )
-- @param #string From -- @param #string From
-- @param #string Event -- @param #string Event
-- @param #string To -- @param #string To
-- @param Wrapper.Unit#UNIT PlayerUnit The @{Unit} of the player. -- @param Wrapper.Unit#UNIT PlayerUnit The @{Wrapper.Unit} of the player.
-- @param #string PlayerName The name of the player. -- @param #string PlayerName The name of the player.
--- Goal Trigger for TASK --- Goal Trigger for TASK
-- @function [parent=#TASK] Goal -- @function [parent=#TASK] Goal
-- @param #TASK self -- @param #TASK self
-- @param Wrapper.Unit#UNIT PlayerUnit The @{Unit} of the player. -- @param Wrapper.Unit#UNIT PlayerUnit The @{Wrapper.Unit} of the player.
-- @param #string PlayerName The name of the player. -- @param #string PlayerName The name of the player.
--- Goal Asynchronous Trigger for TASK --- Goal Asynchronous Trigger for TASK
-- @function [parent=#TASK] __Goal -- @function [parent=#TASK] __Goal
-- @param #TASK self -- @param #TASK self
-- @param #number Delay -- @param #number Delay
-- @param Wrapper.Unit#UNIT PlayerUnit The @{Unit} of the player. -- @param Wrapper.Unit#UNIT PlayerUnit The @{Wrapper.Unit} of the player.
-- @param #string PlayerName The name of the player. -- @param #string PlayerName The name of the player.
@ -489,7 +489,7 @@ do -- Group Assignment
end end
--- Set @{Group} assigned to the @{Task}. --- Set @{Wrapper.Group} assigned to the @{Task}.
-- @param #TASK self -- @param #TASK self
-- @param Wrapper.Group#GROUP TaskGroup -- @param Wrapper.Group#GROUP TaskGroup
-- @return #TASK -- @return #TASK
@ -519,7 +519,7 @@ do -- Group Assignment
return self return self
end end
--- Clear the @{Group} assignment from the @{Task}. --- Clear the @{Wrapper.Group} assignment from the @{Task}.
-- @param #TASK self -- @param #TASK self
-- @param Wrapper.Group#GROUP TaskGroup -- @param Wrapper.Group#GROUP TaskGroup
-- @return #TASK -- @return #TASK
@ -563,7 +563,7 @@ do -- Group Assignment
end end
--- Assign the @{Task} to a @{Group}. --- Assign the @{Task} to a @{Wrapper.Group}.
-- @param #TASK self -- @param #TASK self
-- @param Wrapper.Group#GROUP TaskGroup -- @param Wrapper.Group#GROUP TaskGroup
-- @return #TASK -- @return #TASK
@ -598,7 +598,7 @@ do -- Group Assignment
return self return self
end end
--- UnAssign the @{Task} from a @{Group}. --- UnAssign the @{Task} from a @{Wrapper.Group}.
-- @param #TASK self -- @param #TASK self
-- @param Wrapper.Group#GROUP TaskGroup -- @param Wrapper.Group#GROUP TaskGroup
function TASK:UnAssignFromGroup( TaskGroup ) function TASK:UnAssignFromGroup( TaskGroup )
@ -633,7 +633,7 @@ function TASK:HasGroup( FindGroup )
end end
--- Assign the @{Task} to an alive @{Unit}. --- Assign the @{Task} to an alive @{Wrapper.Unit}.
-- @param #TASK self -- @param #TASK self
-- @param Wrapper.Unit#UNIT TaskUnit -- @param Wrapper.Unit#UNIT TaskUnit
-- @return #TASK self -- @return #TASK self
@ -652,7 +652,7 @@ function TASK:AssignToUnit( TaskUnit )
return self return self
end end
--- UnAssign the @{Task} from an alive @{Unit}. --- UnAssign the @{Task} from an alive @{Wrapper.Unit}.
-- @param #TASK self -- @param #TASK self
-- @param Wrapper.Unit#UNIT TaskUnit -- @param Wrapper.Unit#UNIT TaskUnit
-- @return #TASK self -- @return #TASK self
@ -677,7 +677,7 @@ function TASK:SetTimeOut ( Timer )
return self return self
end end
--- Send a message of the @{Task} to the assigned @{Group}s. --- Send a message of the @{Task} to the assigned @{Wrapper.Group}s.
-- @param #TASK self -- @param #TASK self
function TASK:MessageToGroups( Message ) function TASK:MessageToGroups( Message )
self:F( { Message = Message } ) self:F( { Message = Message } )
@ -694,7 +694,7 @@ function TASK:MessageToGroups( Message )
end end
--- Send the briefng message of the @{Task} to the assigned @{Group}s. --- Send the briefng message of the @{Task} to the assigned @{Wrapper.Group}s.
-- @param #TASK self -- @param #TASK self
function TASK:SendBriefingToAssignedGroups() function TASK:SendBriefingToAssignedGroups()
self:F2() self:F2()
@ -709,7 +709,7 @@ function TASK:SendBriefingToAssignedGroups()
end end
--- UnAssign the @{Task} from the @{Group}s. --- UnAssign the @{Task} from the @{Wrapper.Group}s.
-- @param #TASK self -- @param #TASK self
function TASK:UnAssignFromGroups() function TASK:UnAssignFromGroups()
self:F2() self:F2()
@ -874,7 +874,7 @@ function TASK:RemoveMenu( MenuTime )
end end
--- Remove the menu option of the @{Task} for a @{Group}. --- Remove the menu option of the @{Task} for a @{Wrapper.Group}.
-- @param #TASK self -- @param #TASK self
-- @param Wrapper.Group#GROUP TaskGroup -- @param Wrapper.Group#GROUP TaskGroup
-- @param #number MenuTime -- @param #number MenuTime
@ -905,7 +905,7 @@ function TASK:RefreshMenus( TaskGroup, MenuTime )
end end
--- Remove the assigned menu option of the @{Task} for a @{Group}. --- Remove the assigned menu option of the @{Task} for a @{Wrapper.Group}.
-- @param #TASK self -- @param #TASK self
-- @param Wrapper.Group#GROUP TaskGroup -- @param Wrapper.Group#GROUP TaskGroup
-- @param #number MenuTime -- @param #number MenuTime
@ -1001,7 +1001,7 @@ end
-- TODO: Obscolete? -- TODO: Obscolete?
--- Fail processes from @{Task} with key @{Unit} --- Fail processes from @{Task} with key @{Wrapper.Unit}
-- @param #TASK self -- @param #TASK self
-- @param #string TaskUnitName -- @param #string TaskUnitName
-- @return #TASK self -- @return #TASK self
@ -1013,7 +1013,7 @@ function TASK:FailProcesses( TaskUnitName )
end end
end end
--- Add a FiniteStateMachine to @{Task} with key Task@{Unit} --- Add a FiniteStateMachine to @{Task} with key Task@{Wrapper.Unit}
-- @param #TASK self -- @param #TASK self
-- @param Wrapper.Unit#UNIT TaskUnit -- @param Wrapper.Unit#UNIT TaskUnit
-- @param Core.Fsm#FSM_PROCESS Fsm -- @param Core.Fsm#FSM_PROCESS Fsm
@ -1026,7 +1026,7 @@ function TASK:SetStateMachine( TaskUnit, Fsm )
return Fsm return Fsm
end end
--- Gets the FiniteStateMachine of @{Task} with key Task@{Unit} --- Gets the FiniteStateMachine of @{Task} with key Task@{Wrapper.Unit}
-- @param #TASK self -- @param #TASK self
-- @param Wrapper.Unit#UNIT TaskUnit -- @param Wrapper.Unit#UNIT TaskUnit
-- @return Core.Fsm#FSM_PROCESS -- @return Core.Fsm#FSM_PROCESS
@ -1036,7 +1036,7 @@ function TASK:GetStateMachine( TaskUnit )
return self.Fsm[TaskUnit] return self.Fsm[TaskUnit]
end end
--- Remove FiniteStateMachines from @{Task} with key Task@{Unit} --- Remove FiniteStateMachines from @{Task} with key Task@{Wrapper.Unit}
-- @param #TASK self -- @param #TASK self
-- @param Wrapper.Unit#UNIT TaskUnit -- @param Wrapper.Unit#UNIT TaskUnit
-- @return #TASK self -- @return #TASK self
@ -1060,7 +1060,7 @@ function TASK:RemoveStateMachine( TaskUnit )
end end
--- Checks if there is a FiniteStateMachine assigned to Task@{Unit} for @{Task} --- Checks if there is a FiniteStateMachine assigned to Task@{Wrapper.Unit} for @{Task}
-- @param #TASK self -- @param #TASK self
-- @param Wrapper.Unit#UNIT TaskUnit -- @param Wrapper.Unit#UNIT TaskUnit
-- @return #TASK self -- @return #TASK self
@ -1675,7 +1675,7 @@ do -- Task Control Menu
--- Init Task Control Menu --- Init Task Control Menu
-- @param #TASK self -- @param #TASK self
-- @param Wrapper.Unit#UNIT TaskUnit The @{Unit} that contains a player. -- @param Wrapper.Unit#UNIT TaskUnit The @{Wrapper.Unit} that contains a player.
-- @return Task Control Menu Refresh ID -- @return Task Control Menu Refresh ID
function TASK:InitTaskControlMenu( TaskUnit ) function TASK:InitTaskControlMenu( TaskUnit )
@ -1686,7 +1686,7 @@ do -- Task Control Menu
--- Get Task Control Menu --- Get Task Control Menu
-- @param #TASK self -- @param #TASK self
-- @param Wrapper.Unit#UNIT TaskUnit The @{Unit} that contains a player. -- @param Wrapper.Unit#UNIT TaskUnit The @{Wrapper.Unit} that contains a player.
-- @return Core.Menu#MENU_GROUP TaskControlMenu The Task Control Menu -- @return Core.Menu#MENU_GROUP TaskControlMenu The Task Control Menu
function TASK:GetTaskControlMenu( TaskUnit, TaskName ) function TASK:GetTaskControlMenu( TaskUnit, TaskName )
@ -1706,7 +1706,7 @@ do -- Task Control Menu
--- Remove Task Control Menu --- Remove Task Control Menu
-- @param #TASK self -- @param #TASK self
-- @param Wrapper.Unit#UNIT TaskUnit The @{Unit} that contains a player. -- @param Wrapper.Unit#UNIT TaskUnit The @{Wrapper.Unit} that contains a player.
function TASK:RemoveTaskControlMenu( TaskUnit ) function TASK:RemoveTaskControlMenu( TaskUnit )
if self.TaskControlMenu then if self.TaskControlMenu then
@ -1717,7 +1717,7 @@ do -- Task Control Menu
--- Refresh Task Control Menu --- Refresh Task Control Menu
-- @param #TASK self -- @param #TASK self
-- @param Wrapper.Unit#UNIT TaskUnit The @{Unit} that contains a player. -- @param Wrapper.Unit#UNIT TaskUnit The @{Wrapper.Unit} that contains a player.
-- @param MenuTime The refresh time that was used to refresh the Task Control Menu items. -- @param MenuTime The refresh time that was used to refresh the Task Control Menu items.
-- @param MenuTag The tag. -- @param MenuTag The tag.
function TASK:RefreshTaskControlMenu( TaskUnit, MenuTime, MenuTag ) function TASK:RefreshTaskControlMenu( TaskUnit, MenuTime, MenuTag )

View File

@ -14,7 +14,7 @@
-- @extends Core.Base#BASE -- @extends Core.Base#BASE
--- ---
-- # TASKINFO class, extends @{Base#BASE} -- # TASKINFO class, extends @{Core.Base#BASE}
-- --
-- ## The TASKINFO class implements the methods to contain information and display information of a task. -- ## The TASKINFO class implements the methods to contain information and display information of a task.
-- --

View File

@ -24,7 +24,7 @@ do -- TASK_ZONE_GOAL
-- --
-- * **None**: Start of the process -- * **None**: Start of the process
-- * **Planned**: The A2G task is planned. -- * **Planned**: The A2G task is planned.
-- * **Assigned**: The A2G task is assigned to a @{Group#GROUP}. -- * **Assigned**: The A2G task is assigned to a @{Wrapper.Group#GROUP}.
-- * **Success**: The A2G task is successfully completed. -- * **Success**: The A2G task is successfully completed.
-- * **Failed**: The A2G task has failed. This will happen if the player exists the task early, without communicating a possible cancellation to HQ. -- * **Failed**: The A2G task has failed. This will happen if the player exists the task early, without communicating a possible cancellation to HQ.
-- --
@ -44,7 +44,7 @@ do -- TASK_ZONE_GOAL
--- Instantiates a new TASK_ZONE_GOAL. --- Instantiates a new TASK_ZONE_GOAL.
-- @param #TASK_ZONE_GOAL self -- @param #TASK_ZONE_GOAL self
-- @param Tasking.Mission#MISSION Mission -- @param Tasking.Mission#MISSION Mission
-- @param Set#SET_GROUP SetGroup The set of groups for which the Task can be assigned. -- @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 #string TaskName The name of the Task.
-- @param Core.ZoneGoal#ZONE_GOAL ZoneGoal -- @param Core.ZoneGoal#ZONE_GOAL ZoneGoal
-- @return #TASK_ZONE_GOAL self -- @return #TASK_ZONE_GOAL self

View File

@ -14,7 +14,7 @@ do -- TASK_A2A
--- The TASK_A2A class --- The TASK_A2A class
-- @type TASK_A2A -- @type TASK_A2A
-- @field Set#SET_UNIT TargetSetUnit -- @field Core.Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK -- @extends Tasking.Task#TASK
--- # TASK_A2A class, extends @{Task#TASK} --- # TASK_A2A class, extends @{Task#TASK}
@ -25,7 +25,7 @@ do -- TASK_A2A
-- --
-- * **None**: Start of the process -- * **None**: Start of the process
-- * **Planned**: The A2A task is planned. -- * **Planned**: The A2A task is planned.
-- * **Assigned**: The A2A task is assigned to a @{Group#GROUP}. -- * **Assigned**: The A2A task is assigned to a @{Wrapper.Group#GROUP}.
-- * **Success**: The A2A task is successfully completed. -- * **Success**: The A2A task is successfully completed.
-- * **Failed**: The A2A task has failed. This will happen if the player exists the task early, without communicating a possible cancellation to HQ. -- * **Failed**: The A2A task has failed. This will happen if the player exists the task early, without communicating a possible cancellation to HQ.
-- --
@ -45,9 +45,9 @@ do -- TASK_A2A
--- Instantiates a new TASK_A2A. --- Instantiates a new TASK_A2A.
-- @param #TASK_A2A self -- @param #TASK_A2A self
-- @param Tasking.Mission#MISSION Mission -- @param Tasking.Mission#MISSION Mission
-- @param Set#SET_GROUP SetAttack The set of groups for which the Task can be assigned. -- @param Core.Set#SET_GROUP SetAttack The set of groups for which the Task can be assigned.
-- @param #string TaskName The name of the Task. -- @param #string TaskName The name of the Task.
-- @param Set#SET_UNIT UnitSetTargets -- @param Core.Set#SET_UNIT UnitSetTargets
-- @param #number TargetDistance The distance to Target when the Player is considered to have "arrived" at the engagement range. -- @param #number TargetDistance The distance to Target when the Player is considered to have "arrived" at the engagement range.
-- @param Core.Zone#ZONE_BASE TargetZone The target zone, if known. -- @param Core.Zone#ZONE_BASE TargetZone The target zone, if known.
-- If the TargetZone parameter is specified, the player will be routed to the center of the zone where all the targets are assumed to be. -- If the TargetZone parameter is specified, the player will be routed to the center of the zone where all the targets are assumed to be.
@ -359,7 +359,7 @@ do -- TASK_A2A_INTERCEPT
--- The TASK_A2A_INTERCEPT class --- The TASK_A2A_INTERCEPT class
-- @type TASK_A2A_INTERCEPT -- @type TASK_A2A_INTERCEPT
-- @field Set#SET_UNIT TargetSetUnit -- @field Core.Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK -- @extends Tasking.Task#TASK
--- # TASK_A2A_INTERCEPT class, extends @{Task_A2A#TASK_A2A} --- # TASK_A2A_INTERCEPT class, extends @{Task_A2A#TASK_A2A}
@ -370,7 +370,7 @@ do -- TASK_A2A_INTERCEPT
-- The TASK_A2A_INTERCEPT is used by the @{Task_A2A_Dispatcher#TASK_A2A_DISPATCHER} to automatically create intercept tasks -- 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. -- 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 defined for a @{Mission#MISSION}, where a friendly @{Core.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. -- The task is given a name and a briefing, that is used in the menu structure and in the reporting.
-- --
-- @field #TASK_A2A_INTERCEPT -- @field #TASK_A2A_INTERCEPT
@ -458,7 +458,7 @@ do -- TASK_A2A_SWEEP
--- The TASK_A2A_SWEEP class --- The TASK_A2A_SWEEP class
-- @type TASK_A2A_SWEEP -- @type TASK_A2A_SWEEP
-- @field Set#SET_UNIT TargetSetUnit -- @field Core.Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK -- @extends Tasking.Task#TASK
--- # TASK_A2A_SWEEP class, extends @{Task_A2A#TASK_A2A} --- # TASK_A2A_SWEEP class, extends @{Task_A2A#TASK_A2A}
@ -471,7 +471,7 @@ do -- TASK_A2A_SWEEP
-- The TASK_A2A_SWEEP is used by the @{Task_A2A_Dispatcher#TASK_A2A_DISPATCHER} to automatically create sweep tasks -- 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. -- 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 defined for a @{Mission#MISSION}, where a friendly @{Core.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. -- The task is given a name and a briefing, that is used in the menu structure and in the reporting.
-- --
-- @field #TASK_A2A_SWEEP -- @field #TASK_A2A_SWEEP
@ -569,7 +569,7 @@ do -- TASK_A2A_ENGAGE
--- The TASK_A2A_ENGAGE class --- The TASK_A2A_ENGAGE class
-- @type TASK_A2A_ENGAGE -- @type TASK_A2A_ENGAGE
-- @field Set#SET_UNIT TargetSetUnit -- @field Core.Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK -- @extends Tasking.Task#TASK
--- # TASK_A2A_ENGAGE class, extends @{Task_A2A#TASK_A2A} --- # TASK_A2A_ENGAGE class, extends @{Task_A2A#TASK_A2A}
@ -580,7 +580,7 @@ do -- TASK_A2A_ENGAGE
-- The TASK_A2A_ENGAGE is used by the @{Task_A2A_Dispatcher#TASK_A2A_DISPATCHER} to automatically create engage tasks -- 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. -- 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 defined for a @{Mission#MISSION}, where a friendly @{Core.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. -- The task is given a name and a briefing, that is used in the menu structure and in the reporting.
-- --
-- @field #TASK_A2A_ENGAGE -- @field #TASK_A2A_ENGAGE

View File

@ -182,7 +182,7 @@ do -- TASK_A2A_DISPATCHER
--- TASK_A2A_DISPATCHER constructor. --- TASK_A2A_DISPATCHER constructor.
-- @param #TASK_A2A_DISPATCHER self -- @param #TASK_A2A_DISPATCHER self
-- @param Tasking.Mission#MISSION Mission The mission for which the task dispatching is done. -- @param Tasking.Mission#MISSION Mission The mission for which the task dispatching is done.
-- @param Set#SET_GROUP SetGroup The set of groups that can join the tasks within the mission. -- @param Core.Set#SET_GROUP SetGroup The set of groups that can join the tasks within the mission.
-- @param Functional.Detection#DETECTION_BASE Detection The detection results that are used to dynamically assign new tasks to human players. -- @param Functional.Detection#DETECTION_BASE Detection The detection results that are used to dynamically assign new tasks to human players.
-- @return #TASK_A2A_DISPATCHER self -- @return #TASK_A2A_DISPATCHER self
function TASK_A2A_DISPATCHER:New( Mission, SetGroup, Detection ) function TASK_A2A_DISPATCHER:New( Mission, SetGroup, Detection )
@ -251,7 +251,7 @@ do -- TASK_A2A_DISPATCHER
--- Creates an INTERCEPT task when there are targets for it. --- Creates an INTERCEPT task when there are targets for it.
-- @param #TASK_A2A_DISPATCHER self -- @param #TASK_A2A_DISPATCHER self
-- @param Functional.Detection#DETECTION_BASE.DetectedItem DetectedItem -- @param Functional.Detection#DETECTION_BASE.DetectedItem DetectedItem
-- @return Set#SET_UNIT TargetSetUnit: The target set of units. -- @return Core.Set#SET_UNIT TargetSetUnit: The target set of units.
-- @return #nil If there are no targets to be set. -- @return #nil If there are no targets to be set.
function TASK_A2A_DISPATCHER:EvaluateINTERCEPT( DetectedItem ) function TASK_A2A_DISPATCHER:EvaluateINTERCEPT( DetectedItem )
self:F( { DetectedItem.ItemID } ) self:F( { DetectedItem.ItemID } )
@ -278,7 +278,7 @@ do -- TASK_A2A_DISPATCHER
--- Creates an SWEEP task when there are targets for it. --- Creates an SWEEP task when there are targets for it.
-- @param #TASK_A2A_DISPATCHER self -- @param #TASK_A2A_DISPATCHER self
-- @param Functional.Detection#DETECTION_BASE.DetectedItem DetectedItem -- @param Functional.Detection#DETECTION_BASE.DetectedItem DetectedItem
-- @return Set#SET_UNIT TargetSetUnit: The target set of units. -- @return Core.Set#SET_UNIT TargetSetUnit: The target set of units.
-- @return #nil If there are no targets to be set. -- @return #nil If there are no targets to be set.
function TASK_A2A_DISPATCHER:EvaluateSWEEP( DetectedItem ) function TASK_A2A_DISPATCHER:EvaluateSWEEP( DetectedItem )
self:F( { DetectedItem.ItemID } ) self:F( { DetectedItem.ItemID } )
@ -304,7 +304,7 @@ do -- TASK_A2A_DISPATCHER
--- Creates an ENGAGE task when there are human friendlies airborne near the targets. --- Creates an ENGAGE task when there are human friendlies airborne near the targets.
-- @param #TASK_A2A_DISPATCHER self -- @param #TASK_A2A_DISPATCHER self
-- @param Functional.Detection#DETECTION_BASE.DetectedItem DetectedItem -- @param Functional.Detection#DETECTION_BASE.DetectedItem DetectedItem
-- @return Set#SET_UNIT TargetSetUnit: The target set of units. -- @return Core.Set#SET_UNIT TargetSetUnit: The target set of units.
-- @return #nil If there are no targets to be set. -- @return #nil If there are no targets to be set.
function TASK_A2A_DISPATCHER:EvaluateENGAGE( DetectedItem ) function TASK_A2A_DISPATCHER:EvaluateENGAGE( DetectedItem )
self:F( { DetectedItem.ItemID } ) self:F( { DetectedItem.ItemID } )
@ -485,7 +485,7 @@ do -- TASK_A2A_DISPATCHER
end end
--- Assigns tasks in relation to the detected items to the @{Set#SET_GROUP}. --- Assigns tasks in relation to the detected items to the @{Core.Set#SET_GROUP}.
-- @param #TASK_A2A_DISPATCHER self -- @param #TASK_A2A_DISPATCHER self
-- @param Functional.Detection#DETECTION_BASE Detection The detection created by the @{Detection#DETECTION_BASE} derived object. -- @param Functional.Detection#DETECTION_BASE Detection The detection created by the @{Detection#DETECTION_BASE} derived object.
-- @return #boolean Return true if you want the task assigning to continue... false will cancel the loop. -- @return #boolean Return true if you want the task assigning to continue... false will cancel the loop.

View File

@ -14,7 +14,7 @@ do -- TASK_A2G
--- The TASK_A2G class --- The TASK_A2G class
-- @type TASK_A2G -- @type TASK_A2G
-- @field Set#SET_UNIT TargetSetUnit -- @field Core.Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK -- @extends Tasking.Task#TASK
--- # TASK_A2G class, extends @{Task#TASK} --- # TASK_A2G class, extends @{Task#TASK}
@ -25,7 +25,7 @@ do -- TASK_A2G
-- --
-- * **None**: Start of the process -- * **None**: Start of the process
-- * **Planned**: The A2G task is planned. -- * **Planned**: The A2G task is planned.
-- * **Assigned**: The A2G task is assigned to a @{Group#GROUP}. -- * **Assigned**: The A2G task is assigned to a @{Wrapper.Group#GROUP}.
-- * **Success**: The A2G task is successfully completed. -- * **Success**: The A2G task is successfully completed.
-- * **Failed**: The A2G task has failed. This will happen if the player exists the task early, without communicating a possible cancellation to HQ. -- * **Failed**: The A2G task has failed. This will happen if the player exists the task early, without communicating a possible cancellation to HQ.
-- --
@ -45,9 +45,9 @@ do -- TASK_A2G
--- Instantiates a new TASK_A2G. --- Instantiates a new TASK_A2G.
-- @param #TASK_A2G self -- @param #TASK_A2G self
-- @param Tasking.Mission#MISSION Mission -- @param Tasking.Mission#MISSION Mission
-- @param Set#SET_GROUP SetGroup The set of groups for which the Task can be assigned. -- @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 #string TaskName The name of the Task.
-- @param Set#SET_UNIT UnitSetTargets -- @param Core.Set#SET_UNIT UnitSetTargets
-- @param #number TargetDistance The distance to Target when the Player is considered to have "arrived" at the engagement range. -- @param #number TargetDistance The distance to Target when the Player is considered to have "arrived" at the engagement range.
-- @param Core.Zone#ZONE_BASE TargetZone The target zone, if known. -- @param Core.Zone#ZONE_BASE TargetZone The target zone, if known.
-- If the TargetZone parameter is specified, the player will be routed to the center of the zone where all the targets are assumed to be. -- If the TargetZone parameter is specified, the player will be routed to the center of the zone where all the targets are assumed to be.
@ -364,7 +364,7 @@ do -- TASK_A2G_SEAD
--- The TASK_A2G_SEAD class --- The TASK_A2G_SEAD class
-- @type TASK_A2G_SEAD -- @type TASK_A2G_SEAD
-- @field Set#SET_UNIT TargetSetUnit -- @field Core.Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK -- @extends Tasking.Task#TASK
--- # TASK_A2G_SEAD class, extends @{Task_A2G#TASK_A2G} --- # TASK_A2G_SEAD class, extends @{Task_A2G#TASK_A2G}
@ -457,7 +457,7 @@ do -- TASK_A2G_BAI
--- The TASK_A2G_BAI class --- The TASK_A2G_BAI class
-- @type TASK_A2G_BAI -- @type TASK_A2G_BAI
-- @field Set#SET_UNIT TargetSetUnit -- @field Core.Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK -- @extends Tasking.Task#TASK
--- # TASK_A2G_BAI class, extends @{Task_A2G#TASK_A2G} --- # TASK_A2G_BAI class, extends @{Task_A2G#TASK_A2G}
@ -553,7 +553,7 @@ do -- TASK_A2G_CAS
--- The TASK_A2G_CAS class --- The TASK_A2G_CAS class
-- @type TASK_A2G_CAS -- @type TASK_A2G_CAS
-- @field Set#SET_UNIT TargetSetUnit -- @field Core.Set#SET_UNIT TargetSetUnit
-- @extends Tasking.Task#TASK -- @extends Tasking.Task#TASK
--- # TASK_A2G_CAS class, extends @{Task_A2G#TASK_A2G} --- # TASK_A2G_CAS class, extends @{Task_A2G#TASK_A2G}

View File

@ -14,7 +14,7 @@ do -- TASK_A2G_DISPATCHER
--- TASK\_A2G\_DISPATCHER class. --- TASK\_A2G\_DISPATCHER class.
-- @type TASK_A2G_DISPATCHER -- @type TASK_A2G_DISPATCHER
-- @field Set#SET_GROUP SetGroup The groups to which the FAC will report to. -- @field Core.Set#SET_GROUP SetGroup The groups to which the FAC will report to.
-- @field Functional.Detection#DETECTION_BASE Detection The DETECTION_BASE object that is used to report the detected objects. -- @field Functional.Detection#DETECTION_BASE Detection The DETECTION_BASE object that is used to report the detected objects.
-- @field Tasking.Mission#MISSION Mission -- @field Tasking.Mission#MISSION Mission
-- @extends Tasking.DetectionManager#DETECTION_MANAGER -- @extends Tasking.DetectionManager#DETECTION_MANAGER
@ -28,11 +28,11 @@ do -- TASK_A2G_DISPATCHER
-- It provides a truly dynamic battle environment for pilots and ground commanders to engage upon, -- 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**. -- 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 @{Group}s that will be manned by **Players**. -- 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 @{Group} @{Set}. -- We call this the **AttackSet** of the A2G dispatcher. So, the Players are seated in the @{Client}s of the @{Wrapper.Group} @{Set}.
-- --
-- Depending on the actions of the enemy, preventive tasks are dispatched to the players to orchestrate the engagement in a true co-operation. -- 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 @{Group}s that are Recce vehicles or air units. -- 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.
-- We call this the **RecceSet** of the A2G dispatcher. -- 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.. -- Depending on the current detected tactical situation, different task types will be dispatched to the Players seated in the AttackSet..
@ -379,8 +379,8 @@ do -- TASK_A2G_DISPATCHER
-- - A @{Mission} object. Each task belongs to a Mission. -- - A @{Mission} object. Each task belongs to a Mission.
-- - A @{Detection} object. There are several detection grouping methods to choose from. -- - A @{Detection} object. There are several detection grouping methods to choose from.
-- - A @{Task_A2G_Dispatcher} object. The master A2G task dispatcher. -- - A @{Task_A2G_Dispatcher} object. The master A2G task dispatcher.
-- - A @{Set} of @{Group} objects that will detect the emeny, the RecceSet. This is attached to the @{Detection} object. -- - A @{Set} of @{Wrapper.Group} objects that will detect the emeny, the RecceSet. This is attached to the @{Detection} object.
-- - A @{Set} ob @{Group} objects that will attack the enemy, the AttackSet. This is attached to the @{Task_A2G_Dispatcher} object. -- - A @{Set} ob @{Wrapper.Group} objects that will attack the enemy, the AttackSet. This is attached to the @{Task_A2G_Dispatcher} object.
-- --
-- Below an example mission declaration that is defines a Task A2G Dispatcher object. -- Below an example mission declaration that is defines a Task A2G Dispatcher object.
-- --
@ -432,7 +432,7 @@ do -- TASK_A2G_DISPATCHER
--- TASK_A2G_DISPATCHER constructor. --- TASK_A2G_DISPATCHER constructor.
-- @param #TASK_A2G_DISPATCHER self -- @param #TASK_A2G_DISPATCHER self
-- @param Tasking.Mission#MISSION Mission The mission for which the task dispatching is done. -- @param Tasking.Mission#MISSION Mission The mission for which the task dispatching is done.
-- @param Set#SET_GROUP SetGroup The set of groups that can join the tasks within the mission. -- @param Core.Set#SET_GROUP SetGroup The set of groups that can join the tasks within the mission.
-- @param Functional.Detection#DETECTION_BASE Detection The detection results that are used to dynamically assign new tasks to human players. -- @param Functional.Detection#DETECTION_BASE Detection The detection results that are used to dynamically assign new tasks to human players.
-- @return #TASK_A2G_DISPATCHER self -- @return #TASK_A2G_DISPATCHER self
function TASK_A2G_DISPATCHER:New( Mission, SetGroup, Detection ) function TASK_A2G_DISPATCHER:New( Mission, SetGroup, Detection )
@ -582,7 +582,7 @@ do -- TASK_A2G_DISPATCHER
end end
--- Assigns tasks in relation to the detected items to the @{Set#SET_GROUP}. --- Assigns tasks in relation to the detected items to the @{Core.Set#SET_GROUP}.
-- @param #TASK_A2G_DISPATCHER self -- @param #TASK_A2G_DISPATCHER self
-- @param Functional.Detection#DETECTION_BASE Detection The detection created by the @{Detection#DETECTION_BASE} derived object. -- @param Functional.Detection#DETECTION_BASE Detection The detection created by the @{Detection#DETECTION_BASE} derived object.
-- @return #boolean Return true if you want the task assigning to continue... false will cancel the loop. -- @return #boolean Return true if you want the task assigning to continue... false will cancel the loop.

View File

@ -133,7 +133,7 @@ do -- TASK_CARGO
-- --
-- * **None**: Start of the process. -- * **None**: Start of the process.
-- * **Planned**: The cargo task is planned. -- * **Planned**: The cargo task is planned.
-- * **Assigned**: The cargo task is assigned to a @{Group#GROUP}. -- * **Assigned**: The cargo task is assigned to a @{Wrapper.Group#GROUP}.
-- * **Success**: The cargo task is successfully completed. -- * **Success**: The cargo task is successfully completed.
-- * **Failed**: The cargo task has failed. This will happen if the player exists the task early, without communicating a possible cancellation to HQ. -- * **Failed**: The cargo task has failed. This will happen if the player exists the task early, without communicating a possible cancellation to HQ.
-- --
@ -148,7 +148,7 @@ do -- TASK_CARGO
--- Instantiates a new TASK_CARGO. --- Instantiates a new TASK_CARGO.
-- @param #TASK_CARGO self -- @param #TASK_CARGO self
-- @param Tasking.Mission#MISSION Mission -- @param Tasking.Mission#MISSION Mission
-- @param Set#SET_GROUP SetGroup The set of groups for which the Task can be assigned. -- @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 #string TaskName The name of the Task.
-- @param Core.Set#SET_CARGO SetCargo The scope of the cargo to be transported. -- @param Core.Set#SET_CARGO SetCargo The scope of the cargo to be transported.
-- @param #string TaskType The type of Cargo task. -- @param #string TaskType The type of Cargo task.

View File

@ -17,7 +17,7 @@ do -- TASK_CARGO_CSAR
--- Instantiates a new TASK_CARGO_CSAR. --- Instantiates a new TASK_CARGO_CSAR.
-- @param #TASK_CARGO_CSAR self -- @param #TASK_CARGO_CSAR self
-- @param Tasking.Mission#MISSION Mission -- @param Tasking.Mission#MISSION Mission
-- @param Set#SET_GROUP SetGroup The set of groups for which the Task can be assigned. -- @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 #string TaskName The name of the Task.
-- @param Core.Set#SET_CARGO SetCargo The scope of the cargo to be transported. -- @param Core.Set#SET_CARGO SetCargo The scope of the cargo to be transported.
-- @param #string TaskBriefing The Cargo Task briefing. -- @param #string TaskBriefing The Cargo Task briefing.

View File

@ -187,7 +187,7 @@ do -- TASK_CARGO_DISPATCHER
--- TASK_CARGO_DISPATCHER constructor. --- TASK_CARGO_DISPATCHER constructor.
-- @param #TASK_CARGO_DISPATCHER self -- @param #TASK_CARGO_DISPATCHER self
-- @param Tasking.Mission#MISSION Mission The mission for which the task dispatching is done. -- @param Tasking.Mission#MISSION Mission The mission for which the task dispatching is done.
-- @param Set#SET_GROUP SetGroup The set of groups that can join the tasks within the mission. -- @param Core.Set#SET_GROUP SetGroup The set of groups that can join the tasks within the mission.
-- @return #TASK_CARGO_DISPATCHER self -- @return #TASK_CARGO_DISPATCHER self
function TASK_CARGO_DISPATCHER:New( Mission, SetGroup ) function TASK_CARGO_DISPATCHER:New( Mission, SetGroup )
@ -498,7 +498,7 @@ do -- TASK_CARGO_DISPATCHER
--- Evaluates of a CSAR task needs to be started. --- Evaluates of a CSAR task needs to be started.
-- @param #TASK_CARGO_DISPATCHER self -- @param #TASK_CARGO_DISPATCHER self
-- @return Set#SET_CARGO The SetCargo to be rescued. -- @return Core.Set#SET_CARGO The SetCargo to be rescued.
-- @return #nil If there is no CSAR task required. -- @return #nil If there is no CSAR task required.
function TASK_CARGO_DISPATCHER:EvaluateCSAR( CSARUnit ) function TASK_CARGO_DISPATCHER:EvaluateCSAR( CSARUnit )
@ -515,7 +515,7 @@ do -- TASK_CARGO_DISPATCHER
--- Assigns tasks to the @{Set#SET_GROUP}. --- Assigns tasks to the @{Core.Set#SET_GROUP}.
-- @param #TASK_CARGO_DISPATCHER self -- @param #TASK_CARGO_DISPATCHER self
-- @return #boolean Return true if you want the task assigning to continue... false will cancel the loop. -- @return #boolean Return true if you want the task assigning to continue... false will cancel the loop.
function TASK_CARGO_DISPATCHER:ManageTasks() function TASK_CARGO_DISPATCHER:ManageTasks()

View File

@ -18,7 +18,7 @@ do -- TASK_CARGO_TRANSPORT
--- Instantiates a new TASK_CARGO_TRANSPORT. --- Instantiates a new TASK_CARGO_TRANSPORT.
-- @param #TASK_CARGO_TRANSPORT self -- @param #TASK_CARGO_TRANSPORT self
-- @param Tasking.Mission#MISSION Mission -- @param Tasking.Mission#MISSION Mission
-- @param Set#SET_GROUP SetGroup The set of groups for which the Task can be assigned. -- @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 #string TaskName The name of the Task.
-- @param Core.Set#SET_CARGO SetCargo The scope of the cargo to be transported. -- @param Core.Set#SET_CARGO SetCargo The scope of the cargo to be transported.
-- @param #string TaskBriefing The Cargo Task briefing. -- @param #string TaskBriefing The Cargo Task briefing.

View File

@ -35,7 +35,7 @@ do -- TASK_MANAGER
--- TASK_MANAGER class. --- TASK_MANAGER class.
-- @type TASK_MANAGER -- @type TASK_MANAGER
-- @field Set#SET_GROUP SetGroup The set of group objects containing players for which tasks are managed. -- @field Core.Set#SET_GROUP SetGroup The set of group objects containing players for which tasks are managed.
-- @extends Core.Fsm#FSM -- @extends Core.Fsm#FSM
TASK_MANAGER = { TASK_MANAGER = {
ClassName = "TASK_MANAGER", ClassName = "TASK_MANAGER",
@ -44,7 +44,7 @@ do -- TASK_MANAGER
--- TASK\_MANAGER constructor. --- TASK\_MANAGER constructor.
-- @param #TASK_MANAGER self -- @param #TASK_MANAGER self
-- @param Set#SET_GROUP SetGroup The set of group objects containing players for which tasks are managed. -- @param Core.Set#SET_GROUP SetGroup The set of group objects containing players for which tasks are managed.
-- @return #TASK_MANAGER self -- @return #TASK_MANAGER self
function TASK_MANAGER:New( SetGroup ) function TASK_MANAGER:New( SetGroup )
@ -180,7 +180,7 @@ do -- TASK_MANAGER
end end
--- Manages the tasks for the @{Set#SET_GROUP}. --- Manages the tasks for the @{Core.Set#SET_GROUP}.
-- @param #TASK_MANAGER self -- @param #TASK_MANAGER self
-- @return #TASK_MANAGER self -- @return #TASK_MANAGER self
function TASK_MANAGER:ManageTasks() function TASK_MANAGER:ManageTasks()

View File

@ -8,7 +8,7 @@
-- --
-- * **None**: Start of the process -- * **None**: Start of the process
-- * **Planned**: The SEAD task is planned. Upon Planned, the sub-process @{Process_Fsm.Assign#ACT_ASSIGN_ACCEPT} is started to accept the task. -- * **Planned**: The SEAD task is planned. Upon Planned, the sub-process @{Process_Fsm.Assign#ACT_ASSIGN_ACCEPT} is started to accept the task.
-- * **Assigned**: The SEAD task is assigned to a @{Group#GROUP}. Upon Assigned, the sub-process @{Process_Fsm.Route#ACT_ROUTE} is started to route the active Units in the Group to the attack zone. -- * **Assigned**: The SEAD task is assigned to a @{Wrapper.Group#GROUP}. Upon Assigned, the sub-process @{Process_Fsm.Route#ACT_ROUTE} is started to route the active Units in the Group to the attack zone.
-- * **Success**: The SEAD task is successfully completed. Upon Success, the sub-process @{Process_SEAD#PROCESS_SEAD} is started to follow-up successful SEADing of the targets assigned in the task. -- * **Success**: The SEAD task is successfully completed. Upon Success, the sub-process @{Process_SEAD#PROCESS_SEAD} is started to follow-up successful SEADing of the targets assigned in the task.
-- * **Failed**: The SEAD task has failed. This will happen if the player exists the task early, without communicating a possible cancellation to HQ. -- * **Failed**: The SEAD task has failed. This will happen if the player exists the task early, without communicating a possible cancellation to HQ.
-- --
@ -31,10 +31,10 @@ do -- TASK_PICKUP
--- Instantiates a new TASK_PICKUP. --- Instantiates a new TASK_PICKUP.
-- @param #TASK_PICKUP self -- @param #TASK_PICKUP self
-- @param Tasking.Mission#MISSION Mission -- @param Tasking.Mission#MISSION Mission
-- @param Set#SET_GROUP AssignedSetGroup The set of groups for which the Task can be assigned. -- @param Core.Set#SET_GROUP AssignedSetGroup The set of groups for which the Task can be assigned.
-- @param #string TaskName The name of the Task. -- @param #string TaskName The name of the Task.
-- @param #string TaskType BAI or CAS -- @param #string TaskType BAI or CAS
-- @param Set#SET_UNIT UnitSetTargets -- @param Core.Set#SET_UNIT UnitSetTargets
-- @param Core.Zone#ZONE_BASE TargetZone -- @param Core.Zone#ZONE_BASE TargetZone
-- @return #TASK_PICKUP self -- @return #TASK_PICKUP self
function TASK_PICKUP:New( Mission, AssignedSetGroup, TaskName, TaskType ) function TASK_PICKUP:New( Mission, AssignedSetGroup, TaskName, TaskType )
@ -55,7 +55,7 @@ do -- TASK_PICKUP
end end
--- Assign the @{Task} to a @{Unit}. --- Assign the @{Task} to a @{Wrapper.Unit}.
-- @param #TASK_PICKUP self -- @param #TASK_PICKUP self
-- @param Wrapper.Unit#UNIT TaskUnit -- @param Wrapper.Unit#UNIT TaskUnit
-- @return #TASK_PICKUP self -- @return #TASK_PICKUP self
@ -97,7 +97,7 @@ do -- TASK_PICKUP
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
-- @param Event#EVENTDATA Event -- @param Core.Event#EVENTDATA Event
function TASK_PICKUP:OnNext( Fsm, From, Event, To, Event ) function TASK_PICKUP:OnNext( Fsm, From, Event, To, Event )
self:SetState( self, "State", To ) self:SetState( self, "State", To )

View File

@ -8,13 +8,13 @@
-- --
-- === -- ===
-- --
-- @module Airbase -- @module Wrapper.Airbase
--- @type AIRBASE --- @type AIRBASE
-- @extends Wrapper.Positionable#POSITIONABLE -- @extends Wrapper.Positionable#POSITIONABLE
--- # AIRBASE class, extends @{Positionable#POSITIONABLE} --- # AIRBASE class, extends @{Wrapper.Positionable#POSITIONABLE}
-- --
-- AIRBASE is a wrapper class to handle the DCS Airbase objects: -- AIRBASE is a wrapper class to handle the DCS Airbase objects:
-- --

View File

@ -8,7 +8,7 @@
-- --
-- === -- ===
-- --
-- @module Client -- @module Wrapper.Client
--- The CLIENT class --- The CLIENT class
@ -16,7 +16,7 @@
-- @extends Wrapper.Unit#UNIT -- @extends Wrapper.Unit#UNIT
--- # CLIENT class, extends @{Unit#UNIT} --- # CLIENT class, extends @{Wrapper.Unit#UNIT}
-- --
-- Clients are those **Units** defined within the Mission Editor that have the skillset defined as __Client__ or __Player__. -- Clients are those **Units** defined within the Mission Editor that have the skillset defined as __Client__ or __Player__.
-- Note that clients are NOT the same as Units, they are NOT necessarily alive. -- Note that clients are NOT the same as Units, they are NOT necessarily alive.

View File

@ -19,7 +19,7 @@
--- # CONTROLLABLE class, extends @{Positionable#POSITIONABLE} --- # CONTROLLABLE class, extends @{Wrapper.Positionable#POSITIONABLE}
-- --
-- CONTROLLABLE is a wrapper class to handle the "DCS Controllable objects", which are Groups and Units: -- CONTROLLABLE is a wrapper class to handle the "DCS Controllable objects", which are Groups and Units:
-- --
@ -37,7 +37,7 @@
-- ## CONTROLLABLE Task methods -- ## CONTROLLABLE Task methods
-- --
-- Several controllable task methods are available that help you to prepare tasks. -- Several controllable task methods are available that help you to prepare tasks.
-- These methods return a string consisting of the task description, which can then be given to either a @{Controllable#CONTROLLABLE.PushTask} or @{Controllable#SetTask} method to assign the task to the CONTROLLABLE. -- These methods return a string consisting of the task description, which can then be given to either a @{Wrapper.Controllable#CONTROLLABLE.PushTask} or @{Wrapper.Controllable#SetTask} method to assign the task to the CONTROLLABLE.
-- Tasks are specific for the category of the CONTROLLABLE, more specific, for AIR, GROUND or AIR and GROUND. -- Tasks are specific for the category of the CONTROLLABLE, more specific, for AIR, GROUND or AIR and GROUND.
-- Each task description where applicable indicates for which controllable category the task is valid. -- Each task description where applicable indicates for which controllable category the task is valid.
-- There are 2 main subdivisions of tasks: Assigned tasks and EnRoute tasks. -- There are 2 main subdivisions of tasks: Assigned tasks and EnRoute tasks.
@ -63,7 +63,7 @@
-- * @{#CONTROLLABLE.TaskHold}: (GROUND) Hold ground controllable from moving. -- * @{#CONTROLLABLE.TaskHold}: (GROUND) Hold ground controllable from moving.
-- * @{#CONTROLLABLE.TaskHoldPosition}: (AIR) Hold position at the current position of the first unit of the controllable. -- * @{#CONTROLLABLE.TaskHoldPosition}: (AIR) Hold position at the current position of the first unit of the controllable.
-- * @{#CONTROLLABLE.TaskLand}: (AIR HELICOPTER) Landing at the ground. For helicopters only. -- * @{#CONTROLLABLE.TaskLand}: (AIR HELICOPTER) Landing at the ground. For helicopters only.
-- * @{#CONTROLLABLE.TaskLandAtZone}: (AIR) Land the controllable at a @{Zone#ZONE_RADIUS). -- * @{#CONTROLLABLE.TaskLandAtZone}: (AIR) Land the controllable at a @{Core.Zone#ZONE_RADIUS).
-- * @{#CONTROLLABLE.TaskOrbitCircle}: (AIR) Orbit at the current position of the first unit of the controllable at a specified alititude. -- * @{#CONTROLLABLE.TaskOrbitCircle}: (AIR) Orbit at the current position of the first unit of the controllable at a specified alititude.
-- * @{#CONTROLLABLE.TaskOrbitCircleAtVec2}: (AIR) Orbit at a specified position at a specified alititude during a specified duration with a specified speed. -- * @{#CONTROLLABLE.TaskOrbitCircleAtVec2}: (AIR) Orbit at a specified position at a specified alititude during a specified duration with a specified speed.
-- * @{#CONTROLLABLE.TaskRefueling}: (AIR) Refueling from the nearest tanker. No parameters. -- * @{#CONTROLLABLE.TaskRefueling}: (AIR) Refueling from the nearest tanker. No parameters.
@ -932,7 +932,7 @@ function CONTROLLABLE:TaskLandAtVec2( Point, Duration )
return DCSTask return DCSTask
end end
--- (AIR) Land the controllable at a @{Zone#ZONE_RADIUS). --- (AIR) Land the controllable at a @{Core.Zone#ZONE_RADIUS).
-- @param #CONTROLLABLE self -- @param #CONTROLLABLE self
-- @param Core.Zone#ZONE Zone The zone where to land. -- @param Core.Zone#ZONE Zone The zone where to land.
-- @param #number Duration The duration in seconds to stay on the ground. -- @param #number Duration The duration in seconds to stay on the ground.
@ -2195,7 +2195,7 @@ end
--- Return the route of a controllable by using the @{Database#DATABASE} class. --- Return the route of a controllable by using the @{Core.Database#DATABASE} class.
-- @param #CONTROLLABLE self -- @param #CONTROLLABLE self
-- @param #number Begin The route point from where the copy will start. The base route point is 0. -- @param #number Begin The route point from where the copy will start. The base route point is 0.
-- @param #number End The route point where the copy will end. The End point is the last point - the End point. The last point has base 0. -- @param #number End The route point where the copy will end. The End point is the last point - the End point. The last point has base 0.
@ -2742,7 +2742,7 @@ end
--- Retrieve the controllable mission and allow to place function hooks within the mission waypoint plan. --- Retrieve the controllable mission and allow to place function hooks within the mission waypoint plan.
-- Use the method @{Controllable#CONTROLLABLE:WayPointFunction} to define the hook functions for specific waypoints. -- Use the method @{Wrapper.Controllable#CONTROLLABLE:WayPointFunction} to define the hook functions for specific waypoints.
-- Use the method @{Controllable@CONTROLLABLE:WayPointExecute) to start the execution of the new mission plan. -- Use the method @{Controllable@CONTROLLABLE:WayPointExecute) to start the execution of the new mission plan.
-- Note that when WayPointInitialize is called, the Mission of the controllable is RESTARTED! -- Note that when WayPointInitialize is called, the Mission of the controllable is RESTARTED!
-- @param #CONTROLLABLE self -- @param #CONTROLLABLE self

View File

@ -32,7 +32,7 @@
--- ---
-- # GROUP class, extends @{Controllable#CONTROLLABLE} -- # GROUP class, extends @{Wrapper.Controllable#CONTROLLABLE}
-- --
-- For each DCS Group object alive within a running mission, a GROUP wrapper object (instance) will be created within the _@{DATABASE} object. -- For each DCS Group object alive within a running mission, a GROUP wrapper object (instance) will be created within the _@{DATABASE} object.
-- This is done at the beginning of the mission (when the mission starts), and dynamically when new DCS Group objects are spawned (using the @{SPAWN} class). -- This is done at the beginning of the mission (when the mission starts), and dynamically when new DCS Group objects are spawned (using the @{SPAWN} class).
@ -51,21 +51,21 @@
-- --
-- ## GROUP task methods -- ## GROUP task methods
-- --
-- A GROUP is a @{Controllable}. See the @{Controllable} task methods section for a description of the task methods. -- A GROUP is a @{Wrapper.Controllable}. See the @{Wrapper.Controllable} task methods section for a description of the task methods.
-- --
-- ### Obtain the mission from group templates -- ### Obtain the mission from group templates
-- --
-- Group templates contain complete mission descriptions. Sometimes you want to copy a complete mission from a group and assign it to another: -- Group templates contain complete mission descriptions. Sometimes you want to copy a complete mission from a group and assign it to another:
-- --
-- * @{Controllable#CONTROLLABLE.TaskMission}: (AIR + GROUND) Return a mission task from a mission template. -- * @{Wrapper.Controllable#CONTROLLABLE.TaskMission}: (AIR + GROUND) Return a mission task from a mission template.
-- --
-- ## GROUP Command methods -- ## GROUP Command methods
-- --
-- A GROUP is a @{Controllable}. See the @{Controllable} command methods section for a description of the command methods. -- A GROUP is a @{Wrapper.Controllable}. See the @{Wrapper.Controllable} command methods section for a description of the command methods.
-- --
-- ## GROUP option methods -- ## GROUP option methods
-- --
-- A GROUP is a @{Controllable}. See the @{Controllable} option methods section for a description of the option methods. -- A GROUP is a @{Wrapper.Controllable}. See the @{Wrapper.Controllable} option methods section for a description of the option methods.
-- --
-- ## GROUP Zone validation methods -- ## GROUP Zone validation methods
-- --
@ -76,7 +76,7 @@
-- * @{#GROUP.IsPartlyInZone}: Returns true if some units of the group are within a @{Zone}. -- * @{#GROUP.IsPartlyInZone}: Returns true if some units of the group are within a @{Zone}.
-- * @{#GROUP.IsNotInZone}: Returns true if none of the group units of the group are within a @{Zone}. -- * @{#GROUP.IsNotInZone}: Returns true if none of the group units of the group are within a @{Zone}.
-- --
-- The zone can be of any @{Zone} class derived from @{Zone#ZONE_BASE}. So, these methods are polymorphic to the zones tested on. -- The zone can be of any @{Zone} class derived from @{Core.Zone#ZONE_BASE}. So, these methods are polymorphic to the zones tested on.
-- --
-- ## GROUP AI methods -- ## GROUP AI methods
-- --
@ -112,7 +112,7 @@ GROUPTEMPLATE.Takeoff = {
--- Create a new GROUP from a given GroupTemplate as a parameter. --- Create a new GROUP from a given GroupTemplate as a parameter.
-- Note that the GroupTemplate is NOT spawned into the mission. -- Note that the GroupTemplate is NOT spawned into the mission.
-- It is merely added to the @{Database}. -- It is merely added to the @{Core.Database}.
-- @param #GROUP self -- @param #GROUP self
-- @param #table GroupTemplate The GroupTemplate Structure exactly as defined within the mission editor. -- @param #table GroupTemplate The GroupTemplate Structure exactly as defined within the mission editor.
-- @param Dcs.DCScoalition#coalition.side CoalitionSide The coalition.side of the group. -- @param Dcs.DCScoalition#coalition.side CoalitionSide The coalition.side of the group.
@ -209,8 +209,8 @@ end
-- * Exist at run-time. -- * Exist at run-time.
-- * Has at least one unit. -- * Has at least one unit.
-- --
-- When the first @{Unit} of the Group is active, it will return true. -- When the first @{Wrapper.Unit} of the Group is active, it will return true.
-- If the first @{Unit} of the Group is inactive, it will return false. -- If the first @{Wrapper.Unit} of the Group is inactive, it will return false.
-- --
-- @param #GROUP self -- @param #GROUP self
-- @return #boolean true if the Group is alive and active. -- @return #boolean true if the Group is alive and active.
@ -350,9 +350,9 @@ function GROUP:GetCountry()
return nil return nil
end end
--- Returns a list of @{Unit} objects of the @{Group}. --- Returns a list of @{Wrapper.Unit} objects of the @{Wrapper.Group}.
-- @param #GROUP self -- @param #GROUP self
-- @return #list<Wrapper.Unit#UNIT> The list of @{Unit} objects of the @{Group}. -- @return #list<Wrapper.Unit#UNIT> The list of @{Wrapper.Unit} objects of the @{Wrapper.Group}.
function GROUP:GetUnits() function GROUP:GetUnits()
self:F2( { self.GroupName } ) self:F2( { self.GroupName } )
local DCSGroup = self:GetDCSObject() local DCSGroup = self:GetDCSObject()
@ -371,9 +371,9 @@ function GROUP:GetUnits()
end end
--- Returns a list of @{Unit} objects of the @{Group} that are occupied by a player. --- Returns a list of @{Wrapper.Unit} objects of the @{Wrapper.Group} that are occupied by a player.
-- @param #GROUP self -- @param #GROUP self
-- @return #list<Wrapper.Unit#UNIT> The list of player occupied @{Unit} objects of the @{Group}. -- @return #list<Wrapper.Unit#UNIT> The list of player occupied @{Wrapper.Unit} objects of the @{Wrapper.Group}.
function GROUP:GetPlayerUnits() function GROUP:GetPlayerUnits()
self:F2( { self.GroupName } ) self:F2( { self.GroupName } )
local DCSGroup = self:GetDCSObject() local DCSGroup = self:GetDCSObject()
@ -770,7 +770,7 @@ do -- Is Zone methods
--- Returns true if all units of the group are within a @{Zone}. --- Returns true if all units of the group are within a @{Zone}.
-- @param #GROUP self -- @param #GROUP self
-- @param Core.Zone#ZONE_BASE Zone The zone to test. -- @param Core.Zone#ZONE_BASE Zone The zone to test.
-- @return #boolean Returns true if the Group is completely within the @{Zone#ZONE_BASE} -- @return #boolean Returns true if the Group is completely within the @{Core.Zone#ZONE_BASE}
function GROUP:IsCompletelyInZone( Zone ) function GROUP:IsCompletelyInZone( Zone )
self:F2( { self.GroupName, Zone } ) self:F2( { self.GroupName, Zone } )
@ -790,7 +790,7 @@ end
--- Returns true if some units of the group are within a @{Zone}. --- Returns true if some units of the group are within a @{Zone}.
-- @param #GROUP self -- @param #GROUP self
-- @param Core.Zone#ZONE_BASE Zone The zone to test. -- @param Core.Zone#ZONE_BASE Zone The zone to test.
-- @return #boolean Returns true if the Group is partially within the @{Zone#ZONE_BASE} -- @return #boolean Returns true if the Group is partially within the @{Core.Zone#ZONE_BASE}
function GROUP:IsPartlyInZone( Zone ) function GROUP:IsPartlyInZone( Zone )
self:F2( { self.GroupName, Zone } ) self:F2( { self.GroupName, Zone } )
@ -818,7 +818,7 @@ end
--- Returns true if none of the group units of the group are within a @{Zone}. --- Returns true if none of the group units of the group are within a @{Zone}.
-- @param #GROUP self -- @param #GROUP self
-- @param Core.Zone#ZONE_BASE Zone The zone to test. -- @param Core.Zone#ZONE_BASE Zone The zone to test.
-- @return #boolean Returns true if the Group is not within the @{Zone#ZONE_BASE} -- @return #boolean Returns true if the Group is not within the @{Core.Zone#ZONE_BASE}
function GROUP:IsNotInZone( Zone ) function GROUP:IsNotInZone( Zone )
self:F2( { self.GroupName, Zone } ) self:F2( { self.GroupName, Zone } )
@ -1164,7 +1164,7 @@ function GROUP:InitRandomizePositionRadius( OuterRadius, InnerRadius )
end end
--- Respawn the @{Group} at a @{Point}. --- Respawn the @{Wrapper.Group} at a @{Point}.
-- The method will setup the new group template according the Init(Respawn) settings provided for the group. -- The method will setup the new group template according the Init(Respawn) settings provided for the group.
-- These settings can be provided by calling the relevant Init...() methods of the Group. -- These settings can be provided by calling the relevant Init...() methods of the Group.
-- --
@ -1378,7 +1378,7 @@ function GROUP:GetTaskRoute()
return routines.utils.deepCopy( _DATABASE.Templates.Groups[self.GroupName].Template.route.points ) return routines.utils.deepCopy( _DATABASE.Templates.Groups[self.GroupName].Template.route.points )
end end
--- Return the route of a group by using the @{Database#DATABASE} class. --- Return the route of a group by using the @{Core.Database#DATABASE} class.
-- @param #GROUP self -- @param #GROUP self
-- @param #number Begin The route point from where the copy will start. The base route point is 0. -- @param #number Begin The route point from where the copy will start. The base route point is 0.
-- @param #number End The route point where the copy will end. The End point is the last point - the End point. The last point has base 0. -- @param #number End The route point where the copy will end. The End point is the last point - the End point. The last point has base 0.
@ -1469,17 +1469,17 @@ end
do -- Route methods do -- Route methods
--- (AIR) Return the Group to an @{Airbase#AIRBASE}. --- (AIR) Return the Group to an @{Wrapper.Airbase#AIRBASE}.
-- The following things are to be taken into account: -- The following things are to be taken into account:
-- --
-- * The group is respawned to achieve the RTB, there may be side artefacts as a result of this. (Like weapons suddenly come back). -- * The group is respawned to achieve the RTB, there may be side artefacts as a result of this. (Like weapons suddenly come back).
-- * A group consisting out of more than one unit, may rejoin formation when respawned. -- * A group consisting out of more than one unit, may rejoin formation when respawned.
-- * A speed can be given in km/h. If no speed is specified, the maximum speed of the first unit will be taken to return to base. -- * A speed can be given in km/h. If no speed is specified, the maximum speed of the first unit will be taken to return to base.
-- * When there is no @{Airbase} object specified, the group will return to the home base if the route of the group is pinned at take-off or at landing to a base. -- * When there is no @{Wrapper.Airbase} object specified, the group will return to the home base if the route of the group is pinned at take-off or at landing to a base.
-- * When there is no @{Airbase} object specified and the group route is not pinned to any airbase, it will return to the nearest airbase. -- * When there is no @{Wrapper.Airbase} object specified and the group route is not pinned to any airbase, it will return to the nearest airbase.
-- --
-- @param #GROUP self -- @param #GROUP self
-- @param Wrapper.Airbase#AIRBASE RTBAirbase (optional) The @{Airbase} to return to. If blank, the controllable will return to the nearest friendly airbase. -- @param Wrapper.Airbase#AIRBASE RTBAirbase (optional) The @{Wrapper.Airbase} to return to. If blank, the controllable will return to the nearest friendly airbase.
-- @param #number Speed (optional) The Speed, if no Speed is given, the maximum Speed of the first unit is selected. -- @param #number Speed (optional) The Speed, if no Speed is given, the maximum Speed of the first unit is selected.
-- @return #GROUP -- @return #GROUP
function GROUP:RouteRTB( RTBAirbase, Speed ) function GROUP:RouteRTB( RTBAirbase, Speed )

View File

@ -8,13 +8,13 @@
-- --
-- === -- ===
-- --
-- @module Identifiable -- @module Wrapper.Identifiable
--- @type IDENTIFIABLE --- @type IDENTIFIABLE
-- @extends Wrapper.Object#OBJECT -- @extends Wrapper.Object#OBJECT
-- @field #string IdentifiableName The name of the identifiable. -- @field #string IdentifiableName The name of the identifiable.
--- # IDENTIFIABLE class, extends @{Object#OBJECT} --- # IDENTIFIABLE class, extends @{Wrapper.Object#OBJECT}
-- --
-- The IDENTIFIABLE class is a wrapper class to handle the DCS Identifiable objects: -- The IDENTIFIABLE class is a wrapper class to handle the DCS Identifiable objects:
-- --

View File

@ -8,7 +8,7 @@
-- --
-- === -- ===
-- --
-- @module Object -- @module Wrapper.Object
--- @type OBJECT --- @type OBJECT
@ -16,7 +16,7 @@
-- @field #string ObjectName The name of the Object. -- @field #string ObjectName The name of the Object.
--- # OBJECT class, extends @{Base#BASE} --- # OBJECT class, extends @{Core.Base#BASE}
-- --
-- OBJECT handles the DCS Object objects: -- OBJECT handles the DCS Object objects:
-- --

View File

@ -8,7 +8,7 @@
-- --
-- === -- ===
-- --
-- @module Positionable -- @module Wrapper.Positionable
--- @type POSITIONABLE.__ Methods which are not intended for mission designers, but which are used interally by the moose designer :-) --- @type POSITIONABLE.__ Methods which are not intended for mission designers, but which are used interally by the moose designer :-)
-- @extends Wrapper.Identifiable#IDENTIFIABLE -- @extends Wrapper.Identifiable#IDENTIFIABLE
@ -17,7 +17,7 @@
-- @extends Wrapper.Identifiable#IDENTIFIABLE -- @extends Wrapper.Identifiable#IDENTIFIABLE
--- # POSITIONABLE class, extends @{Identifiable#IDENTIFIABLE} --- # POSITIONABLE class, extends @{Wrapper.Identifiable#IDENTIFIABLE}
-- --
-- The POSITIONABLE class is a wrapper class to handle the POSITIONABLE objects: -- The POSITIONABLE class is a wrapper class to handle the POSITIONABLE objects:
-- --
@ -626,7 +626,7 @@ function POSITIONABLE:MessageToClient( Message, Duration, Client, Name )
return nil return nil
end end
--- Send a message to a @{Group}. --- Send a message to a @{Wrapper.Group}.
-- The message will appear in the message area. The message will begin with the callsign of the group and the type of the first unit sending the message. -- The message will appear in the message area. The message will begin with the callsign of the group and the type of the first unit sending the message.
-- @param #POSITIONABLE self -- @param #POSITIONABLE self
-- @param #string Message The message text -- @param #string Message The message text
@ -653,7 +653,7 @@ function POSITIONABLE:MessageToGroup( Message, Duration, MessageGroup, Name )
return nil return nil
end end
--- Send a message of a message type to a @{Group}. --- Send a message of a message type to a @{Wrapper.Group}.
-- The message will appear in the message area. The message will begin with the callsign of the group and the type of the first unit sending the message. -- The message will appear in the message area. The message will begin with the callsign of the group and the type of the first unit sending the message.
-- @param #POSITIONABLE self -- @param #POSITIONABLE self
-- @param #string Message The message text -- @param #string Message The message text
@ -673,7 +673,7 @@ function POSITIONABLE:MessageTypeToGroup( Message, MessageType, MessageGroup, Na
return nil return nil
end end
--- Send a message to a @{Set#SET_GROUP}. --- Send a message to a @{Core.Set#SET_GROUP}.
-- The message will appear in the message area. The message will begin with the callsign of the group and the type of the first unit sending the message. -- The message will appear in the message area. The message will begin with the callsign of the group and the type of the first unit sending the message.
-- @param #POSITIONABLE self -- @param #POSITIONABLE self
-- @param #string Message The message text -- @param #string Message The message text
@ -697,7 +697,7 @@ function POSITIONABLE:MessageToSetGroup( Message, Duration, MessageSetGroup, Nam
return nil return nil
end end
--- Send a message to the players in the @{Group}. --- Send a message to the players in the @{Wrapper.Group}.
-- The message will appear in the message area. The message will begin with the callsign of the group and the type of the first unit sending the message. -- The message will appear in the message area. The message will begin with the callsign of the group and the type of the first unit sending the message.
-- @param #POSITIONABLE self -- @param #POSITIONABLE self
-- @param #string Message The message text -- @param #string Message The message text

View File

@ -8,7 +8,7 @@
-- --
-- === -- ===
-- --
-- @module Scenery -- @module Wrapper.Scenery
@ -16,7 +16,7 @@
-- @extends Wrapper.Positionable#POSITIONABLE -- @extends Wrapper.Positionable#POSITIONABLE
--- # SCENERY class, extends @{Positionable#POSITIONABLE} --- # SCENERY class, extends @{Wrapper.Positionable#POSITIONABLE}
-- --
-- Scenery objects are defined on the map. -- Scenery objects are defined on the map.
-- The @{Scenery#SCENERY} class is a wrapper class to handle the DCS Scenery objects: -- The @{Scenery#SCENERY} class is a wrapper class to handle the DCS Scenery objects:

View File

@ -8,13 +8,13 @@
-- --
-- === -- ===
-- --
-- @module Static -- @module Wrapper.Static
--- @type STATIC --- @type STATIC
-- @extends Wrapper.Positionable#POSITIONABLE -- @extends Wrapper.Positionable#POSITIONABLE
--- # STATIC class, extends @{Positionable#POSITIONABLE} --- # STATIC class, extends @{Wrapper.Positionable#POSITIONABLE}
-- --
-- Statics are **Static Units** defined within the Mission Editor. -- Statics are **Static Units** defined within the Mission Editor.
-- Note that Statics are almost the same as Units, but they don't have a controller. -- Note that Statics are almost the same as Units, but they don't have a controller.
@ -126,7 +126,7 @@ function STATIC:GetThreatLevel()
return 1, "Static" return 1, "Static"
end end
--- Respawn the @{Unit} using a (tweaked) template of the parent Group. --- Respawn the @{Wrapper.Unit} using a (tweaked) template of the parent Group.
-- @param #UNIT self -- @param #UNIT self
-- @param Core.Point#COORDINATE Coordinate The coordinate where to spawn the new Static. -- @param Core.Point#COORDINATE Coordinate The coordinate where to spawn the new Static.
-- @param #number Heading The heading of the unit respawn. -- @param #number Heading The heading of the unit respawn.
@ -138,7 +138,7 @@ function STATIC:SpawnAt( Coordinate, Heading )
end end
--- Respawn the @{Unit} at the same location with the same properties. --- Respawn the @{Wrapper.Unit} at the same location with the same properties.
-- This is useful to respawn a cargo after it has been destroyed. -- This is useful to respawn a cargo after it has been destroyed.
-- @param #UNIT self -- @param #UNIT self
function STATIC:ReSpawn() function STATIC:ReSpawn()
@ -149,7 +149,7 @@ function STATIC:ReSpawn()
end end
--- Respawn the @{Unit} at a defined Coordinate with an optional heading. --- Respawn the @{Wrapper.Unit} at a defined Coordinate with an optional heading.
-- @param #UNIT self -- @param #UNIT self
-- @param Core.Point#COORDINATE Coordinate The coordinate where to spawn the new Static. -- @param Core.Point#COORDINATE Coordinate The coordinate where to spawn the new Static.
-- @param #number Heading The heading of the unit respawn. -- @param #number Heading The heading of the unit respawn.

View File

@ -17,14 +17,14 @@
-- --
-- === -- ===
-- --
-- @module Unit -- @module Wrapper.Unit
--- @type UNIT --- @type UNIT
-- @extends Wrapper.Controllable#CONTROLLABLE -- @extends Wrapper.Controllable#CONTROLLABLE
--- ---
-- # UNIT class, extends @{Controllable#CONTROLLABLE} -- # UNIT class, extends @{Wrapper.Controllable#CONTROLLABLE}
-- --
-- For each DCS Unit object alive within a running mission, a UNIT wrapper object (instance) will be created within the _@{DATABASE} object. -- For each DCS Unit object alive within a running mission, a UNIT wrapper object (instance) will be created within the _@{DATABASE} object.
-- This is done at the beginning of the mission (when the mission starts), and dynamically when new DCS Unit objects are spawned (using the @{SPAWN} class). -- This is done at the beginning of the mission (when the mission starts), and dynamically when new DCS Unit objects are spawned (using the @{SPAWN} class).
@ -75,7 +75,7 @@
-- --
-- ### Zones range -- ### Zones range
-- --
-- To test whether the Unit is within a **zone**, use the @{#UNIT.IsInZone}() or the @{#UNIT.IsNotInZone}() methods. Any zone can be tested on, but the zone must be derived from @{Zone#ZONE_BASE}. -- To test whether the Unit is within a **zone**, use the @{#UNIT.IsInZone}() or the @{#UNIT.IsNotInZone}() methods. Any zone can be tested on, but the zone must be derived from @{Core.Zone#ZONE_BASE}.
-- --
-- ### Unit range -- ### Unit range
-- --
@ -190,7 +190,7 @@ function UNIT:Destroy( GenerateEvent )
end end
--- Respawn the @{Unit} using a (tweaked) template of the parent Group. --- Respawn the @{Wrapper.Unit} using a (tweaked) template of the parent Group.
-- --
-- This function will: -- This function will:
-- --
@ -556,9 +556,9 @@ function UNIT:GetFuel()
return nil return nil
end end
--- Returns a list of one @{Unit}. --- Returns a list of one @{Wrapper.Unit}.
-- @param #UNIT self -- @param #UNIT self
-- @return #list<Wrapper.Unit#UNIT> A list of one @{Unit}. -- @return #list<Wrapper.Unit#UNIT> A list of one @{Wrapper.Unit}.
function UNIT:GetUnits() function UNIT:GetUnits()
self:F2( { self.UnitName } ) self:F2( { self.UnitName } )
local DCSUnit = self:GetDCSObject() local DCSUnit = self:GetDCSObject()
@ -778,7 +778,7 @@ end
--- Returns true if the unit is within a @{Zone}. --- Returns true if the unit is within a @{Zone}.
-- @param #UNIT self -- @param #UNIT self
-- @param Core.Zone#ZONE_BASE Zone The zone to test. -- @param Core.Zone#ZONE_BASE Zone The zone to test.
-- @return #boolean Returns true if the unit is within the @{Zone#ZONE_BASE} -- @return #boolean Returns true if the unit is within the @{Core.Zone#ZONE_BASE}
function UNIT:IsInZone( Zone ) function UNIT:IsInZone( Zone )
self:F2( { self.UnitName, Zone } ) self:F2( { self.UnitName, Zone } )
@ -793,7 +793,7 @@ end
--- Returns true if the unit is not within a @{Zone}. --- Returns true if the unit is not within a @{Zone}.
-- @param #UNIT self -- @param #UNIT self
-- @param Core.Zone#ZONE_BASE Zone The zone to test. -- @param Core.Zone#ZONE_BASE Zone The zone to test.
-- @return #boolean Returns true if the unit is not within the @{Zone#ZONE_BASE} -- @return #boolean Returns true if the unit is not within the @{Core.Zone#ZONE_BASE}
function UNIT:IsNotInZone( Zone ) function UNIT:IsNotInZone( Zone )
self:F2( { self.UnitName, Zone } ) self:F2( { self.UnitName, Zone } )