Publish new release

This commit is contained in:
FlightControl 2016-12-16 17:06:43 +01:00
parent e98d36e314
commit 23a039b58f
138 changed files with 11827 additions and 5448 deletions

View File

@ -1,35 +1,35 @@
--- This module contains the AIBALANCER class. --- This module contains the AI_BALANCER class.
-- --
-- === -- ===
-- --
-- 1) @{AI.AI_Balancer#AIBALANCER} class, extends @{Core.Fsm#FSM_SET} -- 1) @{AI.AI_Balancer#AI_BALANCER} class, extends @{Core.Fsm#FSM_SET}
-- =================================================================================== -- ===================================================================================
-- The @{AI.AI_Balancer#AIBALANCER} class monitors and manages as many AI GROUPS as there are -- The @{AI.AI_Balancer#AI_BALANCER} class monitors and manages as many AI GROUPS as there are
-- CLIENTS in a SET_CLIENT collection not occupied by players. -- CLIENTS in a SET_CLIENT collection not occupied by players.
-- The AIBALANCER class manages internally a collection of AI management objects, which govern the behaviour -- The AI_BALANCER class manages internally a collection of AI management objects, which govern the behaviour
-- of the underlying AI GROUPS. -- of the underlying AI GROUPS.
-- --
-- The parent class @{Core.Fsm#FSM_SET} manages the functionality to control the Finite State Machine (FSM) -- The parent class @{Core.Fsm#FSM_SET} manages the functionality to control the Finite State Machine (FSM)
-- and calls for each event the state transition methods providing the internal @{Core.Fsm#FSM_SET.Set} object containing the -- and calls for each event the state transition methods providing the internal @{Core.Fsm#FSM_SET.Set} object containing the
-- SET_GROUP and additional event parameters provided during the event. -- SET_GROUP and additional event parameters provided during the event.
-- --
-- 1.1) AIBALANCER construction method -- 1.1) AI_BALANCER construction method
-- --------------------------------------- -- ---------------------------------------
-- Create a new AIBALANCER object with the @{#AIBALANCER.New} method: -- Create a new AI_BALANCER object with the @{#AI_BALANCER.New} method:
-- --
-- * @{#AIBALANCER.New}: Creates a new AIBALANCER object. -- * @{#AI_BALANCER.New}: Creates a new AI_BALANCER object.
-- --
-- 1.2) -- 1.2)
-- ---- -- ----
-- * Add -- * Add
-- * Remove -- * Remove
-- --
-- 1.2) AIBALANCER returns AI to Airbases -- 1.2) AI_BALANCER returns AI to Airbases
-- ------------------------------------------ -- ------------------------------------------
-- You can configure to have the AI to return to: -- You can configure to have the AI to return to:
-- --
-- * @{#AIBALANCER.ReturnToHomeAirbase}: Returns the AI to the home @{Wrapper.Airbase#AIRBASE}. -- * @{#AI_BALANCER.ReturnToHomeAirbase}: Returns the AI to the home @{Wrapper.Airbase#AIRBASE}.
-- * @{#AIBALANCER.ReturnToNearestAirbases}: Returns the AI to the nearest friendly @{Wrapper.Airbase#AIRBASE}. -- * @{#AI_BALANCER.ReturnToNearestAirbases}: Returns the AI to the nearest friendly @{Wrapper.Airbase#AIRBASE}.
-- -- -- --
-- === -- ===
-- --
@ -56,12 +56,12 @@
-- ### Contributions: -- ### Contributions:
-- --
-- * **Dutch_Baron (James)**: Who you can search on the Eagle Dynamics Forums. -- * **Dutch_Baron (James)**: Who you can search on the Eagle Dynamics Forums.
-- Working together with James has resulted in the creation of the AIBALANCER class. -- Working together with James has resulted in the creation of the AI_BALANCER class.
-- James has shared his ideas on balancing AI with air units, and together we made a first design which you can use now :-) -- James has shared his ideas on balancing AI with air units, and together we made a first design which you can use now :-)
-- --
-- * **SNAFU**: -- * **SNAFU**:
-- Had a couple of mails with the guys to validate, if the same concept in the GCI/CAP script could be reworked within MOOSE. -- Had a couple of mails with the guys to validate, if the same concept in the GCI/CAP script could be reworked within MOOSE.
-- None of the script code has been used however within the new AIBALANCER moose class. -- None of the script code has been used however within the new AI_BALANCER moose class.
-- --
-- ### Authors: -- ### Authors:
-- --
@ -71,24 +71,24 @@
--- AIBALANCER class --- AI_BALANCER class
-- @type AIBALANCER -- @type AI_BALANCER
-- @field Core.Set#SET_CLIENT SetClient -- @field Core.Set#SET_CLIENT SetClient
-- @extends Core.Fsm#FSM_SET -- @extends Core.Fsm#FSM_SET
AIBALANCER = { AI_BALANCER = {
ClassName = "AIBALANCER", ClassName = "AI_BALANCER",
PatrolZones = {}, PatrolZones = {},
AIGroups = {}, AIGroups = {},
} }
--- Creates a new AIBALANCER object --- Creates a new AI_BALANCER object
-- @param #AIBALANCER self -- @param #AI_BALANCER self
-- @param Core.Set#SET_CLIENT SetClient A SET\_CLIENT object that will contain the CLIENT objects to be monitored if they are alive or not (joined by a player). -- @param Core.Set#SET_CLIENT SetClient A SET\_CLIENT object that will contain the CLIENT objects to be monitored if they are alive or not (joined by a player).
-- @param Functional.Spawn#SPAWN SpawnAI The default Spawn object to spawn new AI Groups when needed. -- @param Functional.Spawn#SPAWN SpawnAI The default Spawn object to spawn new AI Groups when needed.
-- @return #AIBALANCER -- @return #AI_BALANCER
-- @usage -- @usage
-- -- Define a new AIBALANCER Object. -- -- Define a new AI_BALANCER Object.
function AIBALANCER:New( SetClient, SpawnAI ) function AI_BALANCER:New( SetClient, SpawnAI )
-- Inherits from BASE -- Inherits from BASE
local self = BASE:Inherit( self, FSM_SET:New( SET_GROUP:New() ) ) -- Core.Fsm#FSM_SET local self = BASE:Inherit( self, FSM_SET:New( SET_GROUP:New() ) ) -- Core.Fsm#FSM_SET
@ -116,10 +116,10 @@ function AIBALANCER:New( SetClient, SpawnAI )
end end
--- Returns the AI to the nearest friendly @{Wrapper.Airbase#AIRBASE}. --- Returns the AI to the nearest friendly @{Wrapper.Airbase#AIRBASE}.
-- @param #AIBALANCER self -- @param #AI_BALANCER self
-- @param Dcs.DCSTypes#Distance ReturnTresholdRange If there is an enemy @{Wrapper.Client#CLIENT} within the ReturnTresholdRange given in meters, the AI will not return to the nearest @{Wrapper.Airbase#AIRBASE}. -- @param Dcs.DCSTypes#Distance ReturnTresholdRange If there is an enemy @{Wrapper.Client#CLIENT} within the ReturnTresholdRange given in meters, the AI will not return to the nearest @{Wrapper.Airbase#AIRBASE}.
-- @param Core.Set#SET_AIRBASE ReturnAirbaseSet The SET of @{Core.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 AIBALANCER:ReturnToNearestAirbases( ReturnTresholdRange, ReturnAirbaseSet ) function AI_BALANCER:ReturnToNearestAirbases( ReturnTresholdRange, ReturnAirbaseSet )
self.ToNearestAirbase = true self.ToNearestAirbase = true
self.ReturnTresholdRange = ReturnTresholdRange self.ReturnTresholdRange = ReturnTresholdRange
@ -127,19 +127,19 @@ function AIBALANCER:ReturnToNearestAirbases( ReturnTresholdRange, ReturnAirbaseS
end end
--- Returns the AI to the home @{Wrapper.Airbase#AIRBASE}. --- Returns the AI to the home @{Wrapper.Airbase#AIRBASE}.
-- @param #AIBALANCER self -- @param #AI_BALANCER self
-- @param Dcs.DCSTypes#Distance ReturnTresholdRange If there is an enemy @{Wrapper.Client#CLIENT} within the ReturnTresholdRange given in meters, the AI will not return to the nearest @{Wrapper.Airbase#AIRBASE}. -- @param Dcs.DCSTypes#Distance ReturnTresholdRange If there is an enemy @{Wrapper.Client#CLIENT} within the ReturnTresholdRange given in meters, the AI will not return to the nearest @{Wrapper.Airbase#AIRBASE}.
function AIBALANCER:ReturnToHomeAirbase( ReturnTresholdRange ) function AI_BALANCER:ReturnToHomeAirbase( ReturnTresholdRange )
self.ToHomeAirbase = true self.ToHomeAirbase = true
self.ReturnTresholdRange = ReturnTresholdRange self.ReturnTresholdRange = ReturnTresholdRange
end end
--- @param #AIBALANCER self --- @param #AI_BALANCER self
-- @param Core.Set#SET_GROUP SetGroup -- @param Core.Set#SET_GROUP SetGroup
-- @param #string ClientName -- @param #string ClientName
-- @param Wrapper.Group#GROUP AIGroup -- @param Wrapper.Group#GROUP AIGroup
function AIBALANCER:onenterSpawning( SetGroup, Event, From, To, ClientName ) function AI_BALANCER:onenterSpawning( SetGroup, Event, From, To, ClientName )
-- OK, Spawn a new group from the default SpawnAI object provided. -- OK, Spawn a new group from the default SpawnAI object provided.
local AIGroup = self.SpawnAI:Spawn() local AIGroup = self.SpawnAI:Spawn()
@ -153,18 +153,18 @@ function AIBALANCER:onenterSpawning( SetGroup, Event, From, To, ClientName )
self:Spawned( AIGroup ) self:Spawned( AIGroup )
end end
--- @param #AIBALANCER self --- @param #AI_BALANCER self
-- @param Core.Set#SET_GROUP SetGroup -- @param Core.Set#SET_GROUP SetGroup
-- @param Wrapper.Group#GROUP AIGroup -- @param Wrapper.Group#GROUP AIGroup
function AIBALANCER:onenterDestroying( SetGroup, Event, From, To, AIGroup ) function AI_BALANCER:onenterDestroying( SetGroup, Event, From, To, AIGroup )
AIGroup:Destroy() AIGroup:Destroy()
end end
--- @param #AIBALANCER self --- @param #AI_BALANCER self
-- @param Core.Set#SET_GROUP SetGroup -- @param Core.Set#SET_GROUP SetGroup
-- @param Wrapper.Group#GROUP AIGroup -- @param Wrapper.Group#GROUP AIGroup
function AIBALANCER:onenterReturning( SetGroup, Event, From, To, AIGroup ) function AI_BALANCER:onenterReturning( SetGroup, Event, From, To, AIGroup )
local AIGroupTemplate = AIGroup:GetTemplate() local AIGroupTemplate = AIGroup:GetTemplate()
if self.ToHomeAirbase == true then if self.ToHomeAirbase == true then
@ -187,8 +187,8 @@ function AIBALANCER:onenterReturning( SetGroup, Event, From, To, AIGroup )
end end
--- @param #AIBALANCER self --- @param #AI_BALANCER self
function AIBALANCER:onenterMonitoring( SetGroup ) function AI_BALANCER:onenterMonitoring( SetGroup )
self.SetClient:ForEachClient( self.SetClient:ForEachClient(
--- @param Wrapper.Client#CLIENT Client --- @param Wrapper.Client#CLIENT Client

View File

@ -4,31 +4,31 @@
-- --
-- Cargo can be of various forms, always are composed out of ONE object ( one unit or one static or one slingload crate ): -- Cargo can be of various forms, always are composed out of ONE object ( one unit or one static or one slingload crate ):
-- --
-- * CARGO_UNIT, represented by a @{Unit} in a @{Group}: Cargo can be represented by a Unit in a Group. Destruction of the Unit will mean that the cargo is lost. -- * AI_CARGO_UNIT, represented by a @{Unit} in a @{Group}: Cargo can be represented by a Unit in a Group. Destruction of the Unit will mean that the cargo is lost.
-- * CARGO_STATIC, represented by a @{Static}: Cargo can be represented by a Static. Destruction of the Static will mean that the cargo is lost. -- * CARGO_STATIC, represented by a @{Static}: Cargo can be represented by a Static. Destruction of the Static will mean that the cargo is lost.
-- * CARGO_PACKAGE, contained in a @{Unit} of a @{Group}: Cargo can be contained within a Unit of a Group. The cargo can be **delivered** by the @{Unit}. If the Unit is destroyed, the cargo will be destroyed also. -- * AI_CARGO_PACKAGE, contained in a @{Unit} of a @{Group}: Cargo can be contained within a Unit of a Group. The cargo can be **delivered** by the @{Unit}. If the Unit is destroyed, the cargo will be destroyed also.
-- * CARGO_PACKAGE, Contained in a @{Static}: Cargo can be contained within a Static. The cargo can be **collected** from the @Static. If the @{Static} is destroyed, the cargo will be destroyed. -- * AI_CARGO_PACKAGE, Contained in a @{Static}: Cargo can be contained within a Static. The cargo can be **collected** from the @Static. If the @{Static} is destroyed, the cargo will be destroyed.
-- * CARGO_SLINGLOAD, represented by a @{Cargo} that is transportable: Cargo can be represented by a Cargo object that is transportable. Destruction of the Cargo will mean that the cargo is lost. -- * CARGO_SLINGLOAD, represented by a @{Cargo} that is transportable: Cargo can be represented by a Cargo object that is transportable. Destruction of the Cargo will mean that the cargo is lost.
-- --
-- * CARGO_GROUPED, represented by a Group of CARGO_UNITs. -- * AI_CARGO_GROUPED, represented by a Group of CARGO_UNITs.
-- --
-- 1) @{AI.AI_Cargo#CARGO_BASE} class, extends @{Core.Fsm#FSM_PROCESS} -- 1) @{AI.AI_Cargo#AI_CARGO} class, extends @{Core.Fsm#FSM_PROCESS}
-- ========================================================================== -- ==========================================================================
-- The @{#CARGO_BASE} class defines the core functions that defines a cargo object within MOOSE. -- The @{#AI_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.
-- --
-- The CARGO_BASE is a state machine: it manages the different events and states of the cargo. -- The AI_CARGO is a state machine: it manages the different events and states of the cargo.
-- All derived classes from CARGO_BASE follow the same state machine, expose the same cargo event functions, and provide the same cargo states. -- All derived classes from AI_CARGO follow the same state machine, expose the same cargo event functions, and provide the same cargo states.
-- --
-- ## 1.2.1) CARGO_BASE Events: -- ## 1.2.1) AI_CARGO Events:
-- --
-- * @{#CARGO_BASE.Board}( ToCarrier ): Boards the cargo to a carrier. -- * @{#AI_CARGO.Board}( ToCarrier ): Boards the cargo to a carrier.
-- * @{#CARGO_BASE.Load}( ToCarrier ): Loads the cargo into a carrier, regardless of its position. -- * @{#AI_CARGO.Load}( ToCarrier ): Loads the cargo into a carrier, regardless of its position.
-- * @{#CARGO_BASE.UnBoard}( ToPointVec2 ): UnBoard the cargo from a carrier. This will trigger a movement of the cargo to the option ToPointVec2. -- * @{#AI_CARGO.UnBoard}( ToPointVec2 ): UnBoard the cargo from a carrier. This will trigger a movement of the cargo to the option ToPointVec2.
-- * @{#CARGO_BASE.UnLoad}( ToPointVec2 ): UnLoads the cargo from a carrier. -- * @{#AI_CARGO.UnLoad}( ToPointVec2 ): UnLoads the cargo from a carrier.
-- * @{#CARGO_BASE.Dead}( Controllable ): The cargo is dead. The cargo process will be ended. -- * @{#AI_CARGO.Dead}( Controllable ): The cargo is dead. The cargo process will be ended.
-- --
-- ## 1.2.2) CARGO_BASE States: -- ## 1.2.2) AI_CARGO States:
-- --
-- * **UnLoaded**: The cargo is unloaded from a carrier. -- * **UnLoaded**: The cargo is unloaded from a carrier.
-- * **Boarding**: The cargo is currently boarding (= running) into a carrier. -- * **Boarding**: The cargo is currently boarding (= running) into a carrier.
@ -37,7 +37,7 @@
-- * **Dead**: The cargo is dead ... -- * **Dead**: The cargo is dead ...
-- * **End**: The process has come to an end. -- * **End**: The process has come to an end.
-- --
-- ## 1.2.3) CARGO_BASE state transition methods: -- ## 1.2.3) AI_CARGO state transition methods:
-- --
-- State transition functions can be set **by the mission designer** customizing or improving the behaviour of the state. -- State transition functions can be set **by the mission designer** customizing or improving the behaviour of the state.
-- There are 2 moments when state transition methods will be called by the state machine: -- There are 2 moments when state transition methods will be called by the state machine:
@ -52,15 +52,15 @@
-- The state transition method needs to start with the name **OnAfter + the name of the state**. -- The state transition method needs to start with the name **OnAfter + the name of the state**.
-- 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.
-- --
-- 2) #CARGO_UNIT class -- 2) #AI_CARGO_UNIT class
-- ==================== -- ====================
-- 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 AI_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 AI_CARGO_UNIT objects to and from carriers.
-- --
-- 5) #CARGO_GROUPED class -- 5) #AI_CARGO_GROUPED class
-- ======================= -- =======================
-- The CARGO_GROUPED class defines a cargo that is represented by a group of UNIT objects within the simulator, and can be transported by a carrier. -- The AI_CARGO_GROUPED class defines a cargo that is represented by a group of UNIT objects 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 AI_CARGO_UNIT objects to and from carriers.
-- --
-- This module is still under construction, but is described above works already, and will keep working ... -- This module is still under construction, but is described above works already, and will keep working ...
-- --
@ -72,14 +72,14 @@
--- Boards the cargo to a Carrier. The event will create a movement (= running or driving) of the cargo to the Carrier. --- Boards the cargo to a Carrier. The event will create a movement (= running or driving) of the cargo to the Carrier.
-- The cargo must be in the **UnLoaded** state. -- The cargo must be in the **UnLoaded** state.
-- @function [parent=#CARGO_BASE] Board -- @function [parent=#AI_CARGO] Board
-- @param #CARGO_BASE self -- @param #AI_CARGO self
-- @param Wrapper.Controllable#CONTROLLABLE ToCarrier The Carrier that will hold the cargo. -- @param Wrapper.Controllable#CONTROLLABLE ToCarrier The Carrier that will hold the cargo.
--- Boards the cargo to a Carrier. The event will create a movement (= running or driving) of the cargo to the Carrier. --- Boards the cargo to a Carrier. The event will create a movement (= running or driving) of the cargo to the Carrier.
-- The cargo must be in the **UnLoaded** state. -- The cargo must be in the **UnLoaded** state.
-- @function [parent=#CARGO_BASE] __Board -- @function [parent=#AI_CARGO] __Board
-- @param #CARGO_BASE self -- @param #AI_CARGO self
-- @param #number DelaySeconds The amount of seconds to delay the action. -- @param #number DelaySeconds The amount of seconds to delay the action.
-- @param Wrapper.Controllable#CONTROLLABLE ToCarrier The Carrier that will hold the cargo. -- @param Wrapper.Controllable#CONTROLLABLE ToCarrier The Carrier that will hold the cargo.
@ -88,14 +88,14 @@
--- UnBoards the cargo to a Carrier. The event will create a movement (= running or driving) of the cargo from the Carrier. --- UnBoards the cargo to a Carrier. The event will create a movement (= running or driving) of the cargo from the Carrier.
-- The cargo must be in the **Loaded** state. -- The cargo must be in the **Loaded** state.
-- @function [parent=#CARGO_BASE] UnBoard -- @function [parent=#AI_CARGO] UnBoard
-- @param #CARGO_BASE self -- @param #AI_CARGO self
-- @param Core.Point#POINT_VEC2 ToPointVec2 (optional) @{Core.Point#POINT_VEC2) to where the cargo should run after onboarding. If not provided, the cargo will run to 60 meters behind the Carrier location. -- @param Core.Point#POINT_VEC2 ToPointVec2 (optional) @{Core.Point#POINT_VEC2) to where the cargo should run after onboarding. If not provided, the cargo will run to 60 meters behind the Carrier location.
--- UnBoards the cargo to a Carrier. The event will create a movement (= running or driving) of the cargo from the Carrier. --- UnBoards the cargo to a Carrier. The event will create a movement (= running or driving) of the cargo from the Carrier.
-- The cargo must be in the **Loaded** state. -- The cargo must be in the **Loaded** state.
-- @function [parent=#CARGO_BASE] __UnBoard -- @function [parent=#AI_CARGO] __UnBoard
-- @param #CARGO_BASE self -- @param #AI_CARGO self
-- @param #number DelaySeconds The amount of seconds to delay the action. -- @param #number DelaySeconds The amount of seconds to delay the action.
-- @param Core.Point#POINT_VEC2 ToPointVec2 (optional) @{Core.Point#POINT_VEC2) to where the cargo should run after onboarding. If not provided, the cargo will run to 60 meters behind the Carrier location. -- @param Core.Point#POINT_VEC2 ToPointVec2 (optional) @{Core.Point#POINT_VEC2) to where the cargo should run after onboarding. If not provided, the cargo will run to 60 meters behind the Carrier location.
@ -104,14 +104,14 @@
--- Loads the cargo to a Carrier. The event will load the cargo into the Carrier regardless of its position. There will be no movement simulated of the cargo loading. --- Loads the cargo to a Carrier. The event will load the cargo into the Carrier regardless of its position. There will be no movement simulated of the cargo loading.
-- The cargo must be in the **UnLoaded** state. -- The cargo must be in the **UnLoaded** state.
-- @function [parent=#CARGO_BASE] Load -- @function [parent=#AI_CARGO] Load
-- @param #CARGO_BASE self -- @param #AI_CARGO self
-- @param Wrapper.Controllable#CONTROLLABLE ToCarrier The Carrier that will hold the cargo. -- @param Wrapper.Controllable#CONTROLLABLE ToCarrier The Carrier that will hold the cargo.
--- Loads the cargo to a Carrier. The event will load the cargo into the Carrier regardless of its position. There will be no movement simulated of the cargo loading. --- Loads the cargo to a Carrier. The event will load the cargo into the Carrier regardless of its position. There will be no movement simulated of the cargo loading.
-- The cargo must be in the **UnLoaded** state. -- The cargo must be in the **UnLoaded** state.
-- @function [parent=#CARGO_BASE] __Load -- @function [parent=#AI_CARGO] __Load
-- @param #CARGO_BASE self -- @param #AI_CARGO self
-- @param #number DelaySeconds The amount of seconds to delay the action. -- @param #number DelaySeconds The amount of seconds to delay the action.
-- @param Wrapper.Controllable#CONTROLLABLE ToCarrier The Carrier that will hold the cargo. -- @param Wrapper.Controllable#CONTROLLABLE ToCarrier The Carrier that will hold the cargo.
@ -120,14 +120,14 @@
--- UnLoads the cargo to a Carrier. The event will unload the cargo from the Carrier. There will be no movement simulated of the cargo loading. --- UnLoads the cargo to a Carrier. The event will unload the cargo from the Carrier. There will be no movement simulated of the cargo loading.
-- The cargo must be in the **Loaded** state. -- The cargo must be in the **Loaded** state.
-- @function [parent=#CARGO_BASE] UnLoad -- @function [parent=#AI_CARGO] UnLoad
-- @param #CARGO_BASE self -- @param #AI_CARGO self
-- @param Core.Point#POINT_VEC2 ToPointVec2 (optional) @{Core.Point#POINT_VEC2) to where the cargo will be placed after unloading. If not provided, the cargo will be placed 60 meters behind the Carrier location. -- @param Core.Point#POINT_VEC2 ToPointVec2 (optional) @{Core.Point#POINT_VEC2) to where the cargo will be placed after unloading. If not provided, the cargo will be placed 60 meters behind the Carrier location.
--- UnLoads the cargo to a Carrier. The event will unload the cargo from the Carrier. There will be no movement simulated of the cargo loading. --- UnLoads the cargo to a Carrier. The event will unload the cargo from the Carrier. There will be no movement simulated of the cargo loading.
-- The cargo must be in the **Loaded** state. -- The cargo must be in the **Loaded** state.
-- @function [parent=#CARGO_BASE] __UnLoad -- @function [parent=#AI_CARGO] __UnLoad
-- @param #CARGO_BASE self -- @param #AI_CARGO self
-- @param #number DelaySeconds The amount of seconds to delay the action. -- @param #number DelaySeconds The amount of seconds to delay the action.
-- @param Core.Point#POINT_VEC2 ToPointVec2 (optional) @{Core.Point#POINT_VEC2) to where the cargo will be placed after unloading. If not provided, the cargo will be placed 60 meters behind the Carrier location. -- @param Core.Point#POINT_VEC2 ToPointVec2 (optional) @{Core.Point#POINT_VEC2) to where the cargo will be placed after unloading. If not provided, the cargo will be placed 60 meters behind the Carrier location.
@ -135,46 +135,46 @@
-- UnLoaded -- UnLoaded
--- @function [parent=#CARGO_BASE] OnBeforeUnLoaded --- @function [parent=#AI_CARGO] OnBeforeUnLoaded
-- @param #CARGO_BASE self -- @param #AI_CARGO self
-- @param Wrapper.Controllable#CONTROLLABLE Controllable -- @param Wrapper.Controllable#CONTROLLABLE Controllable
-- @return #boolean -- @return #boolean
--- @function [parent=#CARGO_BASE] OnAfterUnLoaded --- @function [parent=#AI_CARGO] OnAfterUnLoaded
-- @param #CARGO_BASE self -- @param #AI_CARGO self
-- @param Wrapper.Controllable#CONTROLLABLE Controllable -- @param Wrapper.Controllable#CONTROLLABLE Controllable
-- Loaded -- Loaded
--- @function [parent=#CARGO_BASE] OnBeforeLoaded --- @function [parent=#AI_CARGO] OnBeforeLoaded
-- @param #CARGO_BASE self -- @param #AI_CARGO self
-- @param Wrapper.Controllable#CONTROLLABLE Controllable -- @param Wrapper.Controllable#CONTROLLABLE Controllable
-- @return #boolean -- @return #boolean
--- @function [parent=#CARGO_BASE] OnAfterLoaded --- @function [parent=#AI_CARGO] OnAfterLoaded
-- @param #CARGO_BASE self -- @param #AI_CARGO self
-- @param Wrapper.Controllable#CONTROLLABLE Controllable -- @param Wrapper.Controllable#CONTROLLABLE Controllable
-- Boarding -- Boarding
--- @function [parent=#CARGO_BASE] OnBeforeBoarding --- @function [parent=#AI_CARGO] OnBeforeBoarding
-- @param #CARGO_BASE self -- @param #AI_CARGO self
-- @param Wrapper.Controllable#CONTROLLABLE Controllable -- @param Wrapper.Controllable#CONTROLLABLE Controllable
-- @return #boolean -- @return #boolean
--- @function [parent=#CARGO_BASE] OnAfterBoarding --- @function [parent=#AI_CARGO] OnAfterBoarding
-- @param #CARGO_BASE self -- @param #AI_CARGO self
-- @param Wrapper.Controllable#CONTROLLABLE Controllable -- @param Wrapper.Controllable#CONTROLLABLE Controllable
-- UnBoarding -- UnBoarding
--- @function [parent=#CARGO_BASE] OnBeforeUnBoarding --- @function [parent=#AI_CARGO] OnBeforeUnBoarding
-- @param #CARGO_BASE self -- @param #AI_CARGO self
-- @param Wrapper.Controllable#CONTROLLABLE Controllable -- @param Wrapper.Controllable#CONTROLLABLE Controllable
-- @return #boolean -- @return #boolean
--- @function [parent=#CARGO_BASE] OnAfterUnBoarding --- @function [parent=#AI_CARGO] OnAfterUnBoarding
-- @param #CARGO_BASE self -- @param #AI_CARGO self
-- @param Wrapper.Controllable#CONTROLLABLE Controllable -- @param Wrapper.Controllable#CONTROLLABLE Controllable
@ -182,9 +182,9 @@
CARGOS = {} CARGOS = {}
do -- CARGO_BASE do -- AI_CARGO
--- @type CARGO_BASE --- @type AI_CARGO
-- @extends Core.Fsm#FSM_PROCESS -- @extends Core.Fsm#FSM_PROCESS
-- @field #string Type A string defining the type of the cargo. eg. Engineers, Equipment, Screwdrivers. -- @field #string Type A string defining the type of the cargo. eg. Engineers, Equipment, Screwdrivers.
-- @field #string Name A string defining the name of the cargo. The name is the unique identifier of the cargo. -- @field #string Name A string defining the name of the cargo. The name is the unique identifier of the cargo.
@ -197,8 +197,8 @@ do -- CARGO_BASE
-- @field #boolean Moveable This flag defines if the cargo is moveable. -- @field #boolean Moveable This flag defines if the cargo is moveable.
-- @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.
CARGO_BASE = { AI_CARGO = {
ClassName = "CARGO_BASE", ClassName = "AI_CARGO",
Type = nil, Type = nil,
Name = nil, Name = nil,
Weight = nil, Weight = nil,
@ -210,19 +210,19 @@ do -- CARGO_BASE
Containable = false, Containable = false,
} }
--- @type CARGO_BASE.CargoObjects --- @type AI_CARGO.CargoObjects
-- @map < #string, Wrapper.Positionable#POSITIONABLE > The alive POSITIONABLE objects representing the the cargo. -- @map < #string, Wrapper.Positionable#POSITIONABLE > The alive POSITIONABLE objects representing the the cargo.
--- CARGO_BASE Constructor. This class is an abstract class and should not be instantiated. --- AI_CARGO Constructor. This class is an abstract class and should not be instantiated.
-- @param #CARGO_BASE self -- @param #AI_CARGO self
-- @param #string Type -- @param #string Type
-- @param #string Name -- @param #string Name
-- @param #number Weight -- @param #number Weight
-- @param #number ReportRadius (optional) -- @param #number ReportRadius (optional)
-- @param #number NearRadius (optional) -- @param #number NearRadius (optional)
-- @return #CARGO_BASE -- @return #AI_CARGO
function CARGO_BASE:New( Type, Name, Weight, ReportRadius, NearRadius ) function AI_CARGO:New( Type, Name, Weight, ReportRadius, NearRadius )
local self = BASE:Inherit( self, FSM:New() ) -- Core.Fsm#FSM_CONTROLLABLE local self = BASE:Inherit( self, FSM:New() ) -- Core.Fsm#FSM_CONTROLLABLE
self:F( { Type, Name, Weight, ReportRadius, NearRadius } ) self:F( { Type, Name, Weight, ReportRadius, NearRadius } )
@ -259,20 +259,20 @@ function CARGO_BASE:New( Type, Name, Weight, ReportRadius, NearRadius )
end end
--- Template method to spawn a new representation of the CARGO_BASE in the simulator. --- Template method to spawn a new representation of the AI_CARGO in the simulator.
-- @param #CARGO_BASE self -- @param #AI_CARGO self
-- @return #CARGO_BASE -- @return #AI_CARGO
function CARGO_BASE:Spawn( PointVec2 ) function AI_CARGO:Spawn( PointVec2 )
self:F() self:F()
end end
--- Check if CargoCarrier is near the Cargo to be Loaded. --- Check if CargoCarrier is near the Cargo to be Loaded.
-- @param #CARGO_BASE self -- @param #AI_CARGO self
-- @param Core.Point#POINT_VEC2 PointVec2 -- @param Core.Point#POINT_VEC2 PointVec2
-- @return #boolean -- @return #boolean
function CARGO_BASE:IsNear( PointVec2 ) function AI_CARGO:IsNear( PointVec2 )
self:F( { PointVec2 } ) self:F( { PointVec2 } )
local Distance = PointVec2:DistanceFromPointVec2( self.CargoObject:GetPointVec2() ) local Distance = PointVec2:DistanceFromPointVec2( self.CargoObject:GetPointVec2() )
@ -287,36 +287,36 @@ end
end end
do -- CARGO_REPRESENTABLE do -- AI_CARGO_REPRESENTABLE
--- @type CARGO_REPRESENTABLE --- @type AI_CARGO_REPRESENTABLE
-- @extends #CARGO_BASE -- @extends #AI_CARGO
CARGO_REPRESENTABLE = { AI_CARGO_REPRESENTABLE = {
ClassName = "CARGO_REPRESENTABLE" ClassName = "AI_CARGO_REPRESENTABLE"
} }
--- CARGO_REPRESENTABLE Constructor. --- AI_CARGO_REPRESENTABLE Constructor.
-- @param #CARGO_REPRESENTABLE self -- @param #AI_CARGO_REPRESENTABLE self
-- @param Wrapper.Controllable#Controllable CargoObject -- @param Wrapper.Controllable#Controllable CargoObject
-- @param #string Type -- @param #string Type
-- @param #string Name -- @param #string Name
-- @param #number Weight -- @param #number Weight
-- @param #number ReportRadius (optional) -- @param #number ReportRadius (optional)
-- @param #number NearRadius (optional) -- @param #number NearRadius (optional)
-- @return #CARGO_REPRESENTABLE -- @return #AI_CARGO_REPRESENTABLE
function CARGO_REPRESENTABLE:New( CargoObject, Type, Name, Weight, ReportRadius, NearRadius ) function AI_CARGO_REPRESENTABLE:New( CargoObject, Type, Name, Weight, ReportRadius, NearRadius )
local self = BASE:Inherit( self, CARGO_BASE:New( Type, Name, Weight, ReportRadius, NearRadius ) ) -- #CARGO_BASE local self = BASE:Inherit( self, AI_CARGO:New( Type, Name, Weight, ReportRadius, NearRadius ) ) -- #AI_CARGO
self:F( { Type, Name, Weight, ReportRadius, NearRadius } ) self:F( { Type, Name, Weight, ReportRadius, NearRadius } )
return self return self
end end
--- Route a cargo unit to a PointVec2. --- Route a cargo unit to a PointVec2.
-- @param #CARGO_REPRESENTABLE self -- @param #AI_CARGO_REPRESENTABLE self
-- @param Core.Point#POINT_VEC2 ToPointVec2 -- @param Core.Point#POINT_VEC2 ToPointVec2
-- @param #number Speed -- @param #number Speed
-- @return #CARGO_REPRESENTABLE -- @return #AI_CARGO_REPRESENTABLE
function CARGO_REPRESENTABLE:RouteTo( ToPointVec2, Speed ) function AI_CARGO_REPRESENTABLE:RouteTo( ToPointVec2, Speed )
self:F2( ToPointVec2 ) self:F2( ToPointVec2 )
local Points = {} local Points = {}
@ -331,27 +331,27 @@ function CARGO_REPRESENTABLE:RouteTo( ToPointVec2, Speed )
return self return self
end end
end -- CARGO_BASE end -- AI_CARGO
do -- CARGO_UNIT do -- AI_CARGO_UNIT
--- @type CARGO_UNIT --- @type AI_CARGO_UNIT
-- @extends #CARGO_REPRESENTABLE -- @extends #AI_CARGO_REPRESENTABLE
CARGO_UNIT = { AI_CARGO_UNIT = {
ClassName = "CARGO_UNIT" ClassName = "AI_CARGO_UNIT"
} }
--- CARGO_UNIT Constructor. --- AI_CARGO_UNIT Constructor.
-- @param #CARGO_UNIT self -- @param #AI_CARGO_UNIT self
-- @param Wrapper.Unit#UNIT CargoUnit -- @param Wrapper.Unit#UNIT CargoUnit
-- @param #string Type -- @param #string Type
-- @param #string Name -- @param #string Name
-- @param #number Weight -- @param #number Weight
-- @param #number ReportRadius (optional) -- @param #number ReportRadius (optional)
-- @param #number NearRadius (optional) -- @param #number NearRadius (optional)
-- @return #CARGO_UNIT -- @return #AI_CARGO_UNIT
function CARGO_UNIT:New( CargoUnit, Type, Name, Weight, ReportRadius, NearRadius ) function AI_CARGO_UNIT:New( CargoUnit, Type, Name, Weight, ReportRadius, NearRadius )
local self = BASE:Inherit( self, CARGO_REPRESENTABLE:New( CargoUnit, Type, Name, Weight, ReportRadius, NearRadius ) ) -- #CARGO_UNIT local self = BASE:Inherit( self, AI_CARGO_REPRESENTABLE:New( CargoUnit, Type, Name, Weight, ReportRadius, NearRadius ) ) -- #AI_CARGO_UNIT
self:F( { Type, Name, Weight, ReportRadius, NearRadius } ) self:F( { Type, Name, Weight, ReportRadius, NearRadius } )
self:T( CargoUnit ) self:T( CargoUnit )
@ -363,12 +363,12 @@ function CARGO_UNIT:New( CargoUnit, Type, Name, Weight, ReportRadius, NearRadius
end end
--- Enter UnBoarding State. --- Enter UnBoarding State.
-- @param #CARGO_UNIT self -- @param #AI_CARGO_UNIT self
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
-- @param Core.Point#POINT_VEC2 ToPointVec2 -- @param Core.Point#POINT_VEC2 ToPointVec2
function CARGO_UNIT:onenterUnBoarding( Event, From, To, ToPointVec2 ) function AI_CARGO_UNIT:onenterUnBoarding( Event, From, To, ToPointVec2 )
self:F() self:F()
local Angle = 180 local Angle = 180
@ -408,12 +408,12 @@ function CARGO_UNIT:onenterUnBoarding( Event, From, To, ToPointVec2 )
end end
--- Leave UnBoarding State. --- Leave UnBoarding State.
-- @param #CARGO_UNIT self -- @param #AI_CARGO_UNIT self
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
-- @param Core.Point#POINT_VEC2 ToPointVec2 -- @param Core.Point#POINT_VEC2 ToPointVec2
function CARGO_UNIT:onleaveUnBoarding( Event, From, To, ToPointVec2 ) function AI_CARGO_UNIT:onleaveUnBoarding( Event, From, To, ToPointVec2 )
self:F( { ToPointVec2, Event, From, To } ) self:F( { ToPointVec2, Event, From, To } )
local Angle = 180 local Angle = 180
@ -432,12 +432,12 @@ function CARGO_UNIT:onleaveUnBoarding( Event, From, To, ToPointVec2 )
end end
--- UnBoard Event. --- UnBoard Event.
-- @param #CARGO_UNIT self -- @param #AI_CARGO_UNIT self
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
-- @param Core.Point#POINT_VEC2 ToPointVec2 -- @param Core.Point#POINT_VEC2 ToPointVec2
function CARGO_UNIT:onafterUnBoarding( Event, From, To, ToPointVec2 ) function AI_CARGO_UNIT:onafterUnBoarding( Event, From, To, ToPointVec2 )
self:F( { ToPointVec2, Event, From, To } ) self:F( { ToPointVec2, Event, From, To } )
self.CargoInAir = self.CargoObject:InAir() self.CargoInAir = self.CargoObject:InAir()
@ -457,12 +457,12 @@ end
--- Enter UnLoaded State. --- Enter UnLoaded State.
-- @param #CARGO_UNIT self -- @param #AI_CARGO_UNIT self
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
-- @param Core.Point#POINT_VEC2 -- @param Core.Point#POINT_VEC2
function CARGO_UNIT:onenterUnLoaded( Event, From, To, ToPointVec2 ) function AI_CARGO_UNIT:onenterUnLoaded( Event, From, To, ToPointVec2 )
self:F( { ToPointVec2, Event, From, To } ) self:F( { ToPointVec2, Event, From, To } )
local Angle = 180 local Angle = 180
@ -495,12 +495,12 @@ end
--- Enter Boarding State. --- Enter Boarding State.
-- @param #CARGO_UNIT self -- @param #AI_CARGO_UNIT self
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
-- @param Wrapper.Unit#UNIT CargoCarrier -- @param Wrapper.Unit#UNIT CargoCarrier
function CARGO_UNIT:onenterBoarding( Event, From, To, CargoCarrier ) function AI_CARGO_UNIT:onenterBoarding( Event, From, To, CargoCarrier )
self:F( { CargoCarrier.UnitName, Event, From, To } ) self:F( { CargoCarrier.UnitName, Event, From, To } )
local Speed = 10 local Speed = 10
@ -527,12 +527,12 @@ function CARGO_UNIT:onenterBoarding( Event, From, To, CargoCarrier )
end end
--- Leave Boarding State. --- Leave Boarding State.
-- @param #CARGO_UNIT self -- @param #AI_CARGO_UNIT self
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
-- @param Wrapper.Unit#UNIT CargoCarrier -- @param Wrapper.Unit#UNIT CargoCarrier
function CARGO_UNIT:onleaveBoarding( Event, From, To, CargoCarrier ) function AI_CARGO_UNIT:onleaveBoarding( Event, From, To, CargoCarrier )
self:F( { CargoCarrier.UnitName, Event, From, To } ) self:F( { CargoCarrier.UnitName, Event, From, To } )
if self:IsNear( CargoCarrier:GetPointVec2() ) then if self:IsNear( CargoCarrier:GetPointVec2() ) then
@ -545,12 +545,12 @@ function CARGO_UNIT:onleaveBoarding( Event, From, To, CargoCarrier )
end end
--- Loaded State. --- Loaded State.
-- @param #CARGO_UNIT self -- @param #AI_CARGO_UNIT self
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
-- @param Wrapper.Unit#UNIT CargoCarrier -- @param Wrapper.Unit#UNIT CargoCarrier
function CARGO_UNIT:onenterLoaded( Event, From, To, CargoCarrier ) function AI_CARGO_UNIT:onenterLoaded( Event, From, To, CargoCarrier )
self:F() self:F()
self.CargoCarrier = CargoCarrier self.CargoCarrier = CargoCarrier
@ -564,11 +564,11 @@ end
--- Board Event. --- Board Event.
-- @param #CARGO_UNIT self -- @param #AI_CARGO_UNIT self
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
function CARGO_UNIT:onafterBoard( Event, From, To, CargoCarrier ) function AI_CARGO_UNIT:onafterBoard( Event, From, To, CargoCarrier )
self:F() self:F()
self.CargoInAir = self.CargoObject:InAir() self.CargoInAir = self.CargoObject:InAir()
@ -585,25 +585,25 @@ end
end end
do -- CARGO_PACKAGE do -- AI_CARGO_PACKAGE
--- @type CARGO_PACKAGE --- @type AI_CARGO_PACKAGE
-- @extends #CARGO_REPRESENTABLE -- @extends #AI_CARGO_REPRESENTABLE
CARGO_PACKAGE = { AI_CARGO_PACKAGE = {
ClassName = "CARGO_PACKAGE" ClassName = "AI_CARGO_PACKAGE"
} }
--- CARGO_PACKAGE Constructor. --- AI_CARGO_PACKAGE Constructor.
-- @param #CARGO_PACKAGE self -- @param #AI_CARGO_PACKAGE self
-- @param Wrapper.Unit#UNIT CargoCarrier The UNIT carrying the package. -- @param Wrapper.Unit#UNIT CargoCarrier The UNIT carrying the package.
-- @param #string Type -- @param #string Type
-- @param #string Name -- @param #string Name
-- @param #number Weight -- @param #number Weight
-- @param #number ReportRadius (optional) -- @param #number ReportRadius (optional)
-- @param #number NearRadius (optional) -- @param #number NearRadius (optional)
-- @return #CARGO_PACKAGE -- @return #AI_CARGO_PACKAGE
function CARGO_PACKAGE:New( CargoCarrier, Type, Name, Weight, ReportRadius, NearRadius ) function AI_CARGO_PACKAGE:New( CargoCarrier, Type, Name, Weight, ReportRadius, NearRadius )
local self = BASE:Inherit( self, CARGO_REPRESENTABLE:New( CargoCarrier, Type, Name, Weight, ReportRadius, NearRadius ) ) -- #CARGO_PACKAGE local self = BASE:Inherit( self, AI_CARGO_REPRESENTABLE:New( CargoCarrier, Type, Name, Weight, ReportRadius, NearRadius ) ) -- #AI_CARGO_PACKAGE
self:F( { Type, Name, Weight, ReportRadius, NearRadius } ) self:F( { Type, Name, Weight, ReportRadius, NearRadius } )
self:T( CargoCarrier ) self:T( CargoCarrier )
@ -613,7 +613,7 @@ function CARGO_PACKAGE:New( CargoCarrier, Type, Name, Weight, ReportRadius, Near
end end
--- Board Event. --- Board Event.
-- @param #CARGO_PACKAGE self -- @param #AI_CARGO_PACKAGE self
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
@ -621,7 +621,7 @@ end
-- @param #number Speed -- @param #number Speed
-- @param #number BoardDistance -- @param #number BoardDistance
-- @param #number Angle -- @param #number Angle
function CARGO_PACKAGE:onafterOnBoard( Event, From, To, CargoCarrier, Speed, BoardDistance, LoadDistance, Angle ) function AI_CARGO_PACKAGE:onafterOnBoard( Event, From, To, CargoCarrier, Speed, BoardDistance, LoadDistance, Angle )
self:F() self:F()
self.CargoInAir = self.CargoCarrier:InAir() self.CargoInAir = self.CargoCarrier:InAir()
@ -651,10 +651,10 @@ function CARGO_PACKAGE:onafterOnBoard( Event, From, To, CargoCarrier, Speed, Boa
end end
--- Check if CargoCarrier is near the Cargo to be Loaded. --- Check if CargoCarrier is near the Cargo to be Loaded.
-- @param #CARGO_PACKAGE self -- @param #AI_CARGO_PACKAGE self
-- @param Wrapper.Unit#UNIT CargoCarrier -- @param Wrapper.Unit#UNIT CargoCarrier
-- @return #boolean -- @return #boolean
function CARGO_PACKAGE:IsNear( CargoCarrier ) function AI_CARGO_PACKAGE:IsNear( CargoCarrier )
self:F() self:F()
local CargoCarrierPoint = CargoCarrier:GetPointVec2() local CargoCarrierPoint = CargoCarrier:GetPointVec2()
@ -670,12 +670,12 @@ function CARGO_PACKAGE:IsNear( CargoCarrier )
end end
--- Boarded Event. --- Boarded Event.
-- @param #CARGO_PACKAGE self -- @param #AI_CARGO_PACKAGE self
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
-- @param Wrapper.Unit#UNIT CargoCarrier -- @param Wrapper.Unit#UNIT CargoCarrier
function CARGO_PACKAGE:onafterOnBoarded( Event, From, To, CargoCarrier, Speed, BoardDistance, LoadDistance, Angle ) function AI_CARGO_PACKAGE:onafterOnBoarded( Event, From, To, CargoCarrier, Speed, BoardDistance, LoadDistance, Angle )
self:F() self:F()
if self:IsNear( CargoCarrier ) then if self:IsNear( CargoCarrier ) then
@ -686,7 +686,7 @@ function CARGO_PACKAGE:onafterOnBoarded( Event, From, To, CargoCarrier, Speed, B
end end
--- UnBoard Event. --- UnBoard Event.
-- @param #CARGO_PACKAGE self -- @param #AI_CARGO_PACKAGE self
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
@ -695,7 +695,7 @@ end
-- @param #number UnBoardDistance -- @param #number UnBoardDistance
-- @param #number Radius -- @param #number Radius
-- @param #number Angle -- @param #number Angle
function CARGO_PACKAGE:onafterUnBoard( Event, From, To, CargoCarrier, Speed, UnLoadDistance, UnBoardDistance, Radius, Angle ) function AI_CARGO_PACKAGE:onafterUnBoard( Event, From, To, CargoCarrier, Speed, UnLoadDistance, UnBoardDistance, Radius, Angle )
self:F() self:F()
self.CargoInAir = self.CargoCarrier:InAir() self.CargoInAir = self.CargoCarrier:InAir()
@ -728,12 +728,12 @@ function CARGO_PACKAGE:onafterUnBoard( Event, From, To, CargoCarrier, Speed, UnL
end end
--- UnBoarded Event. --- UnBoarded Event.
-- @param #CARGO_PACKAGE self -- @param #AI_CARGO_PACKAGE self
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
-- @param Wrapper.Unit#UNIT CargoCarrier -- @param Wrapper.Unit#UNIT CargoCarrier
function CARGO_PACKAGE:onafterUnBoarded( Event, From, To, CargoCarrier, Speed ) function AI_CARGO_PACKAGE:onafterUnBoarded( Event, From, To, CargoCarrier, Speed )
self:F() self:F()
if self:IsNear( CargoCarrier ) then if self:IsNear( CargoCarrier ) then
@ -744,7 +744,7 @@ function CARGO_PACKAGE:onafterUnBoarded( Event, From, To, CargoCarrier, Speed )
end end
--- Load Event. --- Load Event.
-- @param #CARGO_PACKAGE self -- @param #AI_CARGO_PACKAGE self
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
@ -752,7 +752,7 @@ end
-- @param #number Speed -- @param #number Speed
-- @param #number LoadDistance -- @param #number LoadDistance
-- @param #number Angle -- @param #number Angle
function CARGO_PACKAGE:onafterLoad( Event, From, To, CargoCarrier, Speed, LoadDistance, Angle ) function AI_CARGO_PACKAGE:onafterLoad( Event, From, To, CargoCarrier, Speed, LoadDistance, Angle )
self:F() self:F()
self.CargoCarrier = CargoCarrier self.CargoCarrier = CargoCarrier
@ -772,13 +772,13 @@ function CARGO_PACKAGE:onafterLoad( Event, From, To, CargoCarrier, Speed, LoadDi
end end
--- UnLoad Event. --- UnLoad Event.
-- @param #CARGO_PACKAGE self -- @param #AI_CARGO_PACKAGE self
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
-- @param #number Distance -- @param #number Distance
-- @param #number Angle -- @param #number Angle
function CARGO_PACKAGE:onafterUnLoad( Event, From, To, CargoCarrier, Speed, Distance, Angle ) function AI_CARGO_PACKAGE:onafterUnLoad( Event, From, To, CargoCarrier, Speed, Distance, Angle )
self:F() self:F()
local StartPointVec2 = self.CargoCarrier:GetPointVec2() local StartPointVec2 = self.CargoCarrier:GetPointVec2()
@ -800,27 +800,27 @@ end
end end
do -- CARGO_GROUP do -- AI_CARGO_GROUP
--- @type CARGO_GROUP --- @type AI_CARGO_GROUP
-- @extends AI.AI_Cargo#CARGO_BASE -- @extends AI.AI_Cargo#AI_CARGO
-- @field Set#SET_BASE CargoSet A set of cargo objects. -- @field Set#SET_BASE CargoSet A set of cargo objects.
-- @field #string Name A string defining the name of the cargo group. The name is the unique identifier of the cargo. -- @field #string Name A string defining the name of the cargo group. The name is the unique identifier of the cargo.
CARGO_GROUP = { AI_CARGO_GROUP = {
ClassName = "CARGO_GROUP", ClassName = "AI_CARGO_GROUP",
} }
--- CARGO_GROUP constructor. --- AI_CARGO_GROUP constructor.
-- @param #CARGO_GROUP self -- @param #AI_CARGO_GROUP self
-- @param Core.Set#Set_BASE CargoSet -- @param Core.Set#Set_BASE CargoSet
-- @param #string Type -- @param #string Type
-- @param #string Name -- @param #string Name
-- @param #number Weight -- @param #number Weight
-- @param #number ReportRadius (optional) -- @param #number ReportRadius (optional)
-- @param #number NearRadius (optional) -- @param #number NearRadius (optional)
-- @return #CARGO_GROUP -- @return #AI_CARGO_GROUP
function CARGO_GROUP:New( CargoSet, Type, Name, ReportRadius, NearRadius ) function AI_CARGO_GROUP:New( CargoSet, Type, Name, ReportRadius, NearRadius )
local self = BASE:Inherit( self, CARGO_BASE:New( Type, Name, 0, ReportRadius, NearRadius ) ) -- #CARGO_GROUP local self = BASE:Inherit( self, AI_CARGO:New( Type, Name, 0, ReportRadius, NearRadius ) ) -- #AI_CARGO_GROUP
self:F( { Type, Name, ReportRadius, NearRadius } ) self:F( { Type, Name, ReportRadius, NearRadius } )
self.CargoSet = CargoSet self.CargoSet = CargoSet
@ -829,44 +829,44 @@ function CARGO_GROUP:New( CargoSet, Type, Name, ReportRadius, NearRadius )
return self return self
end end
end -- CARGO_GROUP end -- AI_CARGO_GROUP
do -- CARGO_GROUPED do -- AI_CARGO_GROUPED
--- @type CARGO_GROUPED --- @type AI_CARGO_GROUPED
-- @extends AI.AI_Cargo#CARGO_GROUP -- @extends AI.AI_Cargo#AI_CARGO_GROUP
CARGO_GROUPED = { AI_CARGO_GROUPED = {
ClassName = "CARGO_GROUPED", ClassName = "AI_CARGO_GROUPED",
} }
--- CARGO_GROUPED constructor. --- AI_CARGO_GROUPED constructor.
-- @param #CARGO_GROUPED self -- @param #AI_CARGO_GROUPED self
-- @param Core.Set#Set_BASE CargoSet -- @param Core.Set#Set_BASE CargoSet
-- @param #string Type -- @param #string Type
-- @param #string Name -- @param #string Name
-- @param #number Weight -- @param #number Weight
-- @param #number ReportRadius (optional) -- @param #number ReportRadius (optional)
-- @param #number NearRadius (optional) -- @param #number NearRadius (optional)
-- @return #CARGO_GROUPED -- @return #AI_CARGO_GROUPED
function CARGO_GROUPED:New( CargoSet, Type, Name, ReportRadius, NearRadius ) function AI_CARGO_GROUPED:New( CargoSet, Type, Name, ReportRadius, NearRadius )
local self = BASE:Inherit( self, CARGO_GROUP:New( CargoSet, Type, Name, ReportRadius, NearRadius ) ) -- #CARGO_GROUPED local self = BASE:Inherit( self, AI_CARGO_GROUP:New( CargoSet, Type, Name, ReportRadius, NearRadius ) ) -- #AI_CARGO_GROUPED
self:F( { Type, Name, ReportRadius, NearRadius } ) self:F( { Type, Name, ReportRadius, NearRadius } )
return self return self
end end
--- Enter Boarding State. --- Enter Boarding State.
-- @param #CARGO_GROUPED self -- @param #AI_CARGO_GROUPED self
-- @param Wrapper.Unit#UNIT CargoCarrier -- @param Wrapper.Unit#UNIT CargoCarrier
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
function CARGO_GROUPED:onenterBoarding( Event, From, To, CargoCarrier ) function AI_CARGO_GROUPED:onenterBoarding( Event, From, To, CargoCarrier )
self:F( { CargoCarrier.UnitName, Event, From, To } ) self:F( { CargoCarrier.UnitName, Event, From, To } )
if From == "UnLoaded" then if From == "UnLoaded" then
-- For each Cargo object within the CARGO_GROUPED, route each object to the CargoLoadPointVec2 -- For each Cargo object within the AI_CARGO_GROUPED, route each object to the CargoLoadPointVec2
self.CargoSet:ForEach( self.CargoSet:ForEach(
function( Cargo ) function( Cargo )
Cargo:__Board( 1, CargoCarrier ) Cargo:__Board( 1, CargoCarrier )
@ -879,16 +879,16 @@ function CARGO_GROUPED:onenterBoarding( Event, From, To, CargoCarrier )
end end
--- Enter Loaded State. --- Enter Loaded State.
-- @param #CARGO_GROUPED self -- @param #AI_CARGO_GROUPED self
-- @param Wrapper.Unit#UNIT CargoCarrier -- @param Wrapper.Unit#UNIT CargoCarrier
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
function CARGO_GROUPED:onenterLoaded( Event, From, To, CargoCarrier ) function AI_CARGO_GROUPED:onenterLoaded( Event, From, To, CargoCarrier )
self:F( { CargoCarrier.UnitName, Event, From, To } ) self:F( { CargoCarrier.UnitName, Event, From, To } )
if From == "UnLoaded" then if From == "UnLoaded" then
-- For each Cargo object within the CARGO_GROUPED, load each cargo to the CargoCarrier. -- For each Cargo object within the AI_CARGO_GROUPED, load each cargo to the CargoCarrier.
for CargoID, Cargo in pairs( self.CargoSet:GetSet() ) do for CargoID, Cargo in pairs( self.CargoSet:GetSet() ) do
Cargo:Load( CargoCarrier ) Cargo:Load( CargoCarrier )
end end
@ -896,17 +896,17 @@ function CARGO_GROUPED:onenterLoaded( Event, From, To, CargoCarrier )
end end
--- Leave Boarding State. --- Leave Boarding State.
-- @param #CARGO_GROUPED self -- @param #AI_CARGO_GROUPED self
-- @param Wrapper.Unit#UNIT CargoCarrier -- @param Wrapper.Unit#UNIT CargoCarrier
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
function CARGO_GROUPED:onleaveBoarding( Event, From, To, CargoCarrier ) function AI_CARGO_GROUPED:onleaveBoarding( Event, From, To, CargoCarrier )
self:F( { CargoCarrier.UnitName, Event, From, To } ) self:F( { CargoCarrier.UnitName, Event, From, To } )
local Boarded = true local Boarded = true
-- For each Cargo object within the CARGO_GROUPED, route each object to the CargoLoadPointVec2 -- For each Cargo object within the AI_CARGO_GROUPED, route each object to the CargoLoadPointVec2
for CargoID, Cargo in pairs( self.CargoSet:GetSet() ) do for CargoID, Cargo in pairs( self.CargoSet:GetSet() ) do
self:T( Cargo.current ) self:T( Cargo.current )
if not Cargo:is( "Loaded" ) then if not Cargo:is( "Loaded" ) then
@ -923,19 +923,19 @@ function CARGO_GROUPED:onleaveBoarding( Event, From, To, CargoCarrier )
end end
--- Enter UnBoarding State. --- Enter UnBoarding State.
-- @param #CARGO_GROUPED self -- @param #AI_CARGO_GROUPED self
-- @param Core.Point#POINT_VEC2 ToPointVec2 -- @param Core.Point#POINT_VEC2 ToPointVec2
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
function CARGO_GROUPED:onenterUnBoarding( Event, From, To, ToPointVec2 ) function AI_CARGO_GROUPED:onenterUnBoarding( Event, From, To, ToPointVec2 )
self:F() self:F()
local Timer = 1 local Timer = 1
if From == "Loaded" then if From == "Loaded" then
-- For each Cargo object within the CARGO_GROUPED, route each object to the CargoLoadPointVec2 -- For each Cargo object within the AI_CARGO_GROUPED, route each object to the CargoLoadPointVec2
self.CargoSet:ForEach( self.CargoSet:ForEach(
function( Cargo ) function( Cargo )
Cargo:__UnBoard( Timer, ToPointVec2 ) Cargo:__UnBoard( Timer, ToPointVec2 )
@ -949,12 +949,12 @@ function CARGO_GROUPED:onenterUnBoarding( Event, From, To, ToPointVec2 )
end end
--- Leave UnBoarding State. --- Leave UnBoarding State.
-- @param #CARGO_GROUPED self -- @param #AI_CARGO_GROUPED self
-- @param Core.Point#POINT_VEC2 ToPointVec2 -- @param Core.Point#POINT_VEC2 ToPointVec2
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
function CARGO_GROUPED:onleaveUnBoarding( Event, From, To, ToPointVec2 ) function AI_CARGO_GROUPED:onleaveUnBoarding( Event, From, To, ToPointVec2 )
self:F( { ToPointVec2, Event, From, To } ) self:F( { ToPointVec2, Event, From, To } )
local Angle = 180 local Angle = 180
@ -964,7 +964,7 @@ function CARGO_GROUPED:onleaveUnBoarding( Event, From, To, ToPointVec2 )
if From == "UnBoarding" then if From == "UnBoarding" then
local UnBoarded = true local UnBoarded = true
-- For each Cargo object within the CARGO_GROUPED, route each object to the CargoLoadPointVec2 -- For each Cargo object within the AI_CARGO_GROUPED, route each object to the CargoLoadPointVec2
for CargoID, Cargo in pairs( self.CargoSet:GetSet() ) do for CargoID, Cargo in pairs( self.CargoSet:GetSet() ) do
self:T( Cargo.current ) self:T( Cargo.current )
if not Cargo:is( "UnLoaded" ) then if not Cargo:is( "UnLoaded" ) then
@ -984,12 +984,12 @@ function CARGO_GROUPED:onleaveUnBoarding( Event, From, To, ToPointVec2 )
end end
--- UnBoard Event. --- UnBoard Event.
-- @param #CARGO_GROUPED self -- @param #AI_CARGO_GROUPED self
-- @param Core.Point#POINT_VEC2 ToPointVec2 -- @param Core.Point#POINT_VEC2 ToPointVec2
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
function CARGO_GROUPED:onafterUnBoarding( Event, From, To, ToPointVec2 ) function AI_CARGO_GROUPED:onafterUnBoarding( Event, From, To, ToPointVec2 )
self:F( { ToPointVec2, Event, From, To } ) self:F( { ToPointVec2, Event, From, To } )
self:__UnLoad( 1, ToPointVec2 ) self:__UnLoad( 1, ToPointVec2 )
@ -998,17 +998,17 @@ end
--- Enter UnLoaded State. --- Enter UnLoaded State.
-- @param #CARGO_GROUPED self -- @param #AI_CARGO_GROUPED self
-- @param Core.Point#POINT_VEC2 -- @param Core.Point#POINT_VEC2
-- @param #string Event -- @param #string Event
-- @param #string From -- @param #string From
-- @param #string To -- @param #string To
function CARGO_GROUPED:onenterUnLoaded( Event, From, To, ToPointVec2 ) function AI_CARGO_GROUPED:onenterUnLoaded( Event, From, To, ToPointVec2 )
self:F( { ToPointVec2, Event, From, To } ) self:F( { ToPointVec2, Event, From, To } )
if From == "Loaded" then if From == "Loaded" then
-- For each Cargo object within the CARGO_GROUPED, route each object to the CargoLoadPointVec2 -- For each Cargo object within the AI_CARGO_GROUPED, route each object to the CargoLoadPointVec2
self.CargoSet:ForEach( self.CargoSet:ForEach(
function( Cargo ) function( Cargo )
Cargo:UnLoad( ToPointVec2 ) Cargo:UnLoad( ToPointVec2 )
@ -1019,7 +1019,7 @@ function CARGO_GROUPED:onenterUnLoaded( Event, From, To, ToPointVec2 )
end end
end -- CARGO_GROUPED end -- AI_CARGO_GROUPED

View File

@ -2,9 +2,9 @@
-- --
-- === -- ===
-- --
-- 1) @{#PATROLZONE} class, extends @{Core.Fsm#FSM_CONTROLLABLE} -- 1) @{#AI_PATROLZONE} class, extends @{Core.Fsm#FSM_CONTROLLABLE}
-- ================================================================ -- ================================================================
-- The @{#PATROLZONE} class implements the core functions to patrol a @{Zone} by an AIR @{Controllable} @{Group}. -- The @{#AI_PATROLZONE} class implements the core functions to patrol a @{Zone} by an AIR @{Controllable} @{Group}.
-- The patrol algorithm works that for each airplane patrolling, upon arrival at the patrol zone, -- The patrol algorithm works that for each airplane patrolling, upon arrival at the patrol zone,
-- a random point is selected as the route point within the 3D space, within the given boundary limits. -- a random point is selected as the route point within the 3D space, within the given boundary limits.
-- The airplane will fly towards the random 3D point within the patrol zone, using a random speed within the given altitude and speed limits. -- The airplane will fly towards the random 3D point within the patrol zone, using a random speed within the given altitude and speed limits.
@ -12,24 +12,24 @@
-- This cycle will continue until a fuel treshold has been reached by the airplane. -- This cycle will continue until a fuel treshold has been reached by the airplane.
-- When the fuel treshold has been reached, the airplane will fly towards the nearest friendly airbase and will land. -- When the fuel treshold has been reached, the airplane will fly towards the nearest friendly airbase and will land.
-- --
-- 1.1) PATROLZONE constructor: -- 1.1) AI_PATROLZONE constructor:
-- ---------------------------- -- ----------------------------
-- --
-- * @{#PATROLZONE.New}(): Creates a new PATROLZONE object. -- * @{#AI_PATROLZONE.New}(): Creates a new AI_PATROLZONE object.
-- --
-- 1.2) PATROLZONE state machine: -- 1.2) AI_PATROLZONE state machine:
-- ---------------------------------- -- ----------------------------------
-- The PATROLZONE is a state machine: it manages the different events and states of the AIControllable it is controlling. -- The AI_PATROLZONE is a state machine: it manages the different events and states of the AIControllable it is controlling.
-- --
-- ### 1.2.1) PATROLZONE Events: -- ### 1.2.1) AI_PATROLZONE Events:
-- --
-- * @{#PATROLZONE.Route}( AIControllable ): A new 3D route point is selected and the AIControllable will fly towards that point with the given speed. -- * @{#AI_PATROLZONE.Route}( AIControllable ): A new 3D route point is selected and the AIControllable will fly towards that point with the given speed.
-- * @{#PATROLZONE.Patrol}( AIControllable ): The AIControllable reports it is patrolling. This event is called every 30 seconds. -- * @{#AI_PATROLZONE.Patrol}( AIControllable ): The AIControllable reports it is patrolling. This event is called every 30 seconds.
-- * @{#PATROLZONE.RTB}( AIControllable ): The AIControllable will report return to base. -- * @{#AI_PATROLZONE.RTB}( AIControllable ): The AIControllable will report return to base.
-- * @{#PATROLZONE.End}( AIControllable ): The end of the PATROLZONE process. -- * @{#AI_PATROLZONE.End}( AIControllable ): The end of the AI_PATROLZONE process.
-- * @{#PATROLZONE.Dead}( AIControllable ): The AIControllable is dead. The PATROLZONE process will be ended. -- * @{#AI_PATROLZONE.Dead}( AIControllable ): The AIControllable is dead. The AI_PATROLZONE process will be ended.
-- --
-- ### 1.2.2) PATROLZONE States: -- ### 1.2.2) AI_PATROLZONE States:
-- --
-- * **Route**: A new 3D route point is selected and the AIControllable will fly towards that point with the given speed. -- * **Route**: A new 3D route point is selected and the AIControllable will fly towards that point with the given speed.
-- * **Patrol**: The AIControllable is patrolling. This state is set every 30 seconds, so every 30 seconds, a state transition method can be used. -- * **Patrol**: The AIControllable is patrolling. This state is set every 30 seconds, so every 30 seconds, a state transition method can be used.
@ -37,7 +37,7 @@
-- * **Dead**: The AIControllable is dead ... -- * **Dead**: The AIControllable is dead ...
-- * **End**: The process has come to an end. -- * **End**: The process has come to an end.
-- --
-- ### 1.2.3) PATROLZONE state transition methods: -- ### 1.2.3) AI_PATROLZONE state transition methods:
-- --
-- State transition functions can be set **by the mission designer** customizing or improving the behaviour of the state. -- State transition functions can be set **by the mission designer** customizing or improving the behaviour of the state.
-- There are 2 moments when state transition methods will be called by the state machine: -- There are 2 moments when state transition methods will be called by the state machine:
@ -52,7 +52,7 @@
-- The state transition method needs to start with the name **OnAfter + the name of the state**. -- The state transition method needs to start with the name **OnAfter + the name of the state**.
-- 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.
-- --
-- An example how to manage a state transition for an PATROLZONE object **Patrol** for the state **RTB**: -- An example how to manage a state transition for an AI_PATROLZONE object **Patrol** for the state **RTB**:
-- --
-- local PatrolZoneGroup = GROUP:FindByName( "Patrol Zone" ) -- local PatrolZoneGroup = GROUP:FindByName( "Patrol Zone" )
-- local PatrolZone = ZONE_POLYGON:New( "PatrolZone", PatrolZoneGroup ) -- local PatrolZone = ZONE_POLYGON:New( "PatrolZone", PatrolZoneGroup )
@ -60,46 +60,46 @@
-- local PatrolSpawn = SPAWN:New( "Patrol Group" ) -- local PatrolSpawn = SPAWN:New( "Patrol Group" )
-- local PatrolGroup = PatrolSpawn:Spawn() -- local PatrolGroup = PatrolSpawn:Spawn()
-- --
-- local Patrol = PATROLZONE:New( PatrolZone, 3000, 6000, 300, 600 ) -- local Patrol = AI_PATROLZONE:New( PatrolZone, 3000, 6000, 300, 600 )
-- Patrol:SetControllable( PatrolGroup ) -- Patrol:SetControllable( PatrolGroup )
-- Patrol:ManageFuel( 0.2, 60 ) -- Patrol:ManageFuel( 0.2, 60 )
-- --
-- **OnBefore**RTB( AIGroup ) will be called by the PATROLZONE object when the AIGroup reports RTB, but **before** the RTB default action is processed by the PATROLZONE object. -- **OnBefore**RTB( AIGroup ) will be called by the AI_PATROLZONE object when the AIGroup reports RTB, but **before** the RTB default action is processed by the AI_PATROLZONE object.
-- --
-- --- State transition function for the PATROLZONE **Patrol** object -- --- State transition function for the AI_PATROLZONE **Patrol** object
-- -- @param #PATROLZONE self -- -- @param #AI_PATROLZONE self
-- -- @param Wrapper.Controllable#CONTROLLABLE AIGroup -- -- @param Wrapper.Controllable#CONTROLLABLE AIGroup
-- -- @return #boolean If false is returned, then the OnAfter state transition method will not be called. -- -- @return #boolean If false is returned, then the OnAfter state transition method will not be called.
-- function Patrol:OnBeforeRTB( AIGroup ) -- function Patrol:OnBeforeRTB( AIGroup )
-- AIGroup:MessageToRed( "Returning to base", 20 ) -- AIGroup:MessageToRed( "Returning to base", 20 )
-- end -- end
-- --
-- **OnAfter**RTB( AIGroup ) will be called by the PATROLZONE object when the AIGroup reports RTB, but **after** the RTB default action was processed by the PATROLZONE object. -- **OnAfter**RTB( AIGroup ) will be called by the AI_PATROLZONE object when the AIGroup reports RTB, but **after** the RTB default action was processed by the AI_PATROLZONE object.
-- --
-- --- State transition function for the PATROLZONE **Patrol** object -- --- State transition function for the AI_PATROLZONE **Patrol** object
-- -- @param #PATROLZONE self -- -- @param #AI_PATROLZONE self
-- -- @param Wrapper.Controllable#CONTROLLABLE AIGroup -- -- @param Wrapper.Controllable#CONTROLLABLE AIGroup
-- -- @return #Wrapper.Controllable#CONTROLLABLE The new AIGroup object that is set to be patrolling the zone. -- -- @return #Wrapper.Controllable#CONTROLLABLE The new AIGroup object that is set to be patrolling the zone.
-- function Patrol:OnAfterRTB( AIGroup ) -- function Patrol:OnAfterRTB( AIGroup )
-- return PatrolSpawn:Spawn() -- return PatrolSpawn:Spawn()
-- end -- end
-- --
-- 1.3) Manage the PATROLZONE parameters: -- 1.3) Manage the AI_PATROLZONE parameters:
-- ------------------------------------------ -- ------------------------------------------
-- The following methods are available to modify the parameters of a PATROLZONE object: -- The following methods are available to modify the parameters of a AI_PATROLZONE object:
-- --
-- * @{#PATROLZONE.SetControllable}(): Set the AIControllable. -- * @{#AI_PATROLZONE.SetControllable}(): Set the AIControllable.
-- * @{#PATROLZONE.GetControllable}(): Get the AIControllable. -- * @{#AI_PATROLZONE.GetControllable}(): Get the AIControllable.
-- * @{#PATROLZONE.SetSpeed}(): Set the patrol speed of the AI, for the next patrol. -- * @{#AI_PATROLZONE.SetSpeed}(): Set the patrol speed of the AI, for the next patrol.
-- * @{#PATROLZONE.SetAltitude}(): Set altitude of the AI, for the next patrol. -- * @{#AI_PATROLZONE.SetAltitude}(): Set altitude of the AI, for the next patrol.
-- --
-- 1.3) Manage the out of fuel in the PATROLZONE: -- 1.3) Manage the out of fuel in the AI_PATROLZONE:
-- ---------------------------------------------- -- ----------------------------------------------
-- When the AIControllable is out of fuel, it is required that a new AIControllable is started, before the old AIControllable can return to the home base. -- When the AIControllable is out of fuel, it is required that a new AIControllable is started, before the old AIControllable can return to the home base.
-- Therefore, with a parameter and a calculation of the distance to the home base, the fuel treshold is calculated. -- Therefore, with a parameter and a calculation of the distance to the home base, the fuel treshold is calculated.
-- When the fuel treshold is reached, the AIControllable will continue for a given time its patrol task in orbit, while a new AIControllable is targetted to the PATROLZONE. -- When the fuel treshold is reached, the AIControllable will continue for a given time its patrol task in orbit, while a new AIControllable is targetted to the AI_PATROLZONE.
-- Once the time is finished, the old AIControllable will return to the base. -- Once the time is finished, the old AIControllable will return to the base.
-- Use the method @{#PATROLZONE.ManageFuel}() to have this proces in place. -- Use the method @{#AI_PATROLZONE.ManageFuel}() to have this proces in place.
-- --
-- ==== -- ====
-- --
@ -135,20 +135,20 @@
-- State Transition Functions -- State Transition Functions
--- OnBefore State Transition Function --- OnBefore State Transition Function
-- @function [parent=#PATROLZONE] OnBeforeRoute -- @function [parent=#AI_PATROLZONE] OnBeforeRoute
-- @param #PATROLZONE self -- @param #AI_PATROLZONE self
-- @param Wrapper.Controllable#CONTROLLABLE Controllable -- @param Wrapper.Controllable#CONTROLLABLE Controllable
-- @return #boolean -- @return #boolean
--- OnAfter State Transition Function --- OnAfter State Transition Function
-- @function [parent=#PATROLZONE] OnAfterRoute -- @function [parent=#AI_PATROLZONE] OnAfterRoute
-- @param #PATROLZONE self -- @param #AI_PATROLZONE self
-- @param Wrapper.Controllable#CONTROLLABLE Controllable -- @param Wrapper.Controllable#CONTROLLABLE Controllable
--- PATROLZONE class --- AI_PATROLZONE class
-- @type PATROLZONE -- @type AI_PATROLZONE
-- @field Wrapper.Controllable#CONTROLLABLE AIControllable The @{Controllable} patrolling. -- @field Wrapper.Controllable#CONTROLLABLE AIControllable The @{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.
@ -156,26 +156,26 @@
-- @field Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Controllable} in km/h. -- @field Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{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 @{Controllable} in km/h.
-- @extends Core.Fsm#FSM_CONTROLLABLE -- @extends Core.Fsm#FSM_CONTROLLABLE
PATROLZONE = { AI_PATROLZONE = {
ClassName = "PATROLZONE", ClassName = "AI_PATROLZONE",
} }
--- Creates a new PATROLZONE object --- Creates a new AI_PATROLZONE object
-- @param #PATROLZONE self -- @param #AI_PATROLZONE self
-- @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 @{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 @{Controllable} in km/h.
-- @return #PATROLZONE self -- @return #AI_PATROLZONE self
-- @usage -- @usage
-- -- Define a new PATROLZONE Object. This PatrolArea will patrol an AIControllable within PatrolZone between 3000 and 6000 meters, with a variying speed between 600 and 900 km/h. -- -- Define a new AI_PATROLZONE Object. This PatrolArea will patrol an AIControllable within PatrolZone between 3000 and 6000 meters, with a variying speed between 600 and 900 km/h.
-- PatrolZone = ZONE:New( 'PatrolZone' ) -- PatrolZone = ZONE:New( 'PatrolZone' )
-- PatrolSpawn = SPAWN:New( 'Patrol Group' ) -- PatrolSpawn = SPAWN:New( 'Patrol Group' )
-- PatrolArea = PATROLZONE:New( PatrolZone, 3000, 6000, 600, 900 ) -- PatrolArea = AI_PATROLZONE:New( PatrolZone, 3000, 6000, 600, 900 )
function PATROLZONE:New( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed ) function AI_PATROLZONE:New( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed )
-- Inherits from BASE -- Inherits from BASE
local self = BASE:Inherit( self, FSM_CONTROLLABLE:New() ) -- Core.Fsm#FSM_CONTROLLABLE local self = BASE:Inherit( self, FSM_CONTROLLABLE:New() ) -- Core.Fsm#FSM_CONTROLLABLE
@ -201,11 +201,11 @@ end
--- Sets (modifies) the minimum and maximum speed of the patrol. --- Sets (modifies) the minimum and maximum speed of the patrol.
-- @param #PATROLZONE self -- @param #AI_PATROLZONE 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 @{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 @{Controllable} in km/h.
-- @return #PATROLZONE self -- @return #AI_PATROLZONE self
function PATROLZONE:SetSpeed( PatrolMinSpeed, PatrolMaxSpeed ) function AI_PATROLZONE:SetSpeed( PatrolMinSpeed, PatrolMaxSpeed )
self:F2( { PatrolMinSpeed, PatrolMaxSpeed } ) self:F2( { PatrolMinSpeed, PatrolMaxSpeed } )
self.PatrolMinSpeed = PatrolMinSpeed self.PatrolMinSpeed = PatrolMinSpeed
@ -215,11 +215,11 @@ end
--- Sets the floor and ceiling altitude of the patrol. --- Sets the floor and ceiling altitude of the patrol.
-- @param #PATROLZONE self -- @param #AI_PATROLZONE self
-- @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.
-- @return #PATROLZONE self -- @return #AI_PATROLZONE self
function PATROLZONE:SetAltitude( PatrolFloorAltitude, PatrolCeilingAltitude ) function AI_PATROLZONE:SetAltitude( PatrolFloorAltitude, PatrolCeilingAltitude )
self:F2( { PatrolFloorAltitude, PatrolCeilingAltitude } ) self:F2( { PatrolFloorAltitude, PatrolCeilingAltitude } )
self.PatrolFloorAltitude = PatrolFloorAltitude self.PatrolFloorAltitude = PatrolFloorAltitude
@ -232,7 +232,7 @@ end
function _NewPatrolRoute( AIControllable ) function _NewPatrolRoute( AIControllable )
AIControllable:T( "NewPatrolRoute" ) AIControllable:T( "NewPatrolRoute" )
local PatrolZone = AIControllable:GetState( AIControllable, "PatrolZone" ) -- PatrolCore.Zone#PATROLZONE local PatrolZone = AIControllable:GetState( AIControllable, "PatrolZone" ) -- PatrolCore.Zone#AI_PATROLZONE
PatrolZone:__Route( 1 ) PatrolZone:__Route( 1 )
end end
@ -241,13 +241,13 @@ end
--- When the AIControllable is out of fuel, it is required that a new AIControllable is started, before the old AIControllable can return to the home base. --- When the AIControllable is out of fuel, it is required that a new AIControllable is started, before the old AIControllable can return to the home base.
-- Therefore, with a parameter and a calculation of the distance to the home base, the fuel treshold is calculated. -- Therefore, with a parameter and a calculation of the distance to the home base, the fuel treshold is calculated.
-- When the fuel treshold is reached, the AIControllable will continue for a given time its patrol task in orbit, while a new AIControllable is targetted to the PATROLZONE. -- When the fuel treshold is reached, the AIControllable will continue for a given time its patrol task in orbit, while a new AIControllable is targetted to the AI_PATROLZONE.
-- Once the time is finished, the old AIControllable will return to the base. -- Once the time is finished, the old AIControllable will return to the base.
-- @param #PATROLZONE self -- @param #AI_PATROLZONE self
-- @param #number PatrolFuelTresholdPercentage The treshold in percentage (between 0 and 1) when the AIControllable is considered to get out of fuel. -- @param #number PatrolFuelTresholdPercentage The treshold in percentage (between 0 and 1) when the AIControllable is considered to get out of fuel.
-- @param #number PatrolOutOfFuelOrbitTime The amount of seconds the out of fuel AIControllable will orbit before returning to the base. -- @param #number PatrolOutOfFuelOrbitTime The amount of seconds the out of fuel AIControllable will orbit before returning to the base.
-- @return #PATROLZONE self -- @return #AI_PATROLZONE self
function PATROLZONE:ManageFuel( PatrolFuelTresholdPercentage, PatrolOutOfFuelOrbitTime ) function AI_PATROLZONE:ManageFuel( PatrolFuelTresholdPercentage, PatrolOutOfFuelOrbitTime )
self.PatrolManageFuel = true self.PatrolManageFuel = true
self.PatrolFuelTresholdPercentage = PatrolFuelTresholdPercentage self.PatrolFuelTresholdPercentage = PatrolFuelTresholdPercentage
@ -257,9 +257,9 @@ function PATROLZONE:ManageFuel( PatrolFuelTresholdPercentage, PatrolOutOfFuelOrb
end end
--- Defines a new patrol route using the @{Process_PatrolZone} parameters and settings. --- Defines a new patrol route using the @{Process_PatrolZone} parameters and settings.
-- @param #PATROLZONE self -- @param #AI_PATROLZONE self
-- @return #PATROLZONE self -- @return #AI_PATROLZONE self
function PATROLZONE:onenterRoute() function AI_PATROLZONE:onenterRoute()
self:F2() self:F2()
@ -354,8 +354,8 @@ function PATROLZONE:onenterRoute()
end end
--- @param #PATROLZONE self --- @param #AI_PATROLZONE self
function PATROLZONE:onenterPatrol() function AI_PATROLZONE:onenterPatrol()
self:F2() self:F2()
if self.Controllable and self.Controllable:IsAlive() then if self.Controllable and self.Controllable:IsAlive() then

View File

@ -1,29 +1,29 @@
--- This module contains the AIBALANCER class. --- This module contains the AI_BALANCER class.
-- --
-- === -- ===
-- --
-- 1) @{AI.AI_Balancer#AIBALANCER} class, extends @{Core.Base#BASE} -- 1) @{AI.AI_Balancer#AI_BALANCER} class, extends @{Core.Base#BASE}
-- ======================================================= -- =======================================================
-- The @{AI.AI_Balancer#AIBALANCER} class controls the dynamic spawning of AI GROUPS depending on a SET_CLIENT. -- The @{AI.AI_Balancer#AI_BALANCER} class controls the dynamic spawning of AI GROUPS depending on a SET_CLIENT.
-- There will be as many AI GROUPS spawned as there at CLIENTS in SET_CLIENT not spawned. -- There will be as many AI GROUPS spawned as there at CLIENTS in SET_CLIENT not spawned.
-- The AI_Balancer uses the @{PatrolCore.Zone#PATROLZONE} class to make AI patrol an zone until the fuel treshold is reached. -- The AI_Balancer uses the @{PatrolCore.Zone#AI_PATROLZONE} class to make AI patrol an zone until the fuel treshold is reached.
-- --
-- 1.1) AIBALANCER construction method: -- 1.1) AI_BALANCER construction method:
-- ------------------------------------ -- ------------------------------------
-- Create a new AIBALANCER object with the @{#AIBALANCER.New} method: -- Create a new AI_BALANCER object with the @{#AI_BALANCER.New} method:
-- --
-- * @{#AIBALANCER.New}: Creates a new AIBALANCER object. -- * @{#AI_BALANCER.New}: Creates a new AI_BALANCER object.
-- --
-- 1.2) AIBALANCER returns AI to Airbases: -- 1.2) AI_BALANCER returns AI to Airbases:
-- --------------------------------------- -- ---------------------------------------
-- You can configure to have the AI to return to: -- You can configure to have the AI to return to:
-- --
-- * @{#AIBALANCER.ReturnToHomeAirbase}: Returns the AI to the home @{Wrapper.Airbase#AIRBASE}. -- * @{#AI_BALANCER.ReturnToHomeAirbase}: Returns the AI to the home @{Wrapper.Airbase#AIRBASE}.
-- * @{#AIBALANCER.ReturnToNearestAirbases}: Returns the AI to the nearest friendly @{Wrapper.Airbase#AIRBASE}. -- * @{#AI_BALANCER.ReturnToNearestAirbases}: Returns the AI to the nearest friendly @{Wrapper.Airbase#AIRBASE}.
-- --
-- 1.3) AIBALANCER allows AI to patrol specific zones: -- 1.3) AI_BALANCER allows AI to patrol specific zones:
-- --------------------------------------------------- -- ---------------------------------------------------
-- Use @{AI.AI_Balancer#AIBALANCER.SetPatrolZone}() to specify a zone where the AI needs to patrol. -- Use @{AI.AI_Balancer#AI_BALANCER.SetPatrolZone}() to specify a zone where the AI needs to patrol.
-- --
-- === -- ===
-- --
@ -50,12 +50,12 @@
-- ### Contributions: -- ### Contributions:
-- --
-- * **Dutch_Baron (James)**: Who you can search on the Eagle Dynamics Forums. -- * **Dutch_Baron (James)**: Who you can search on the Eagle Dynamics Forums.
-- Working together with James has resulted in the creation of the AIBALANCER class. -- Working together with James has resulted in the creation of the AI_BALANCER class.
-- James has shared his ideas on balancing AI with air units, and together we made a first design which you can use now :-) -- James has shared his ideas on balancing AI with air units, and together we made a first design which you can use now :-)
-- --
-- * **SNAFU**: -- * **SNAFU**:
-- Had a couple of mails with the guys to validate, if the same concept in the GCI/CAP script could be reworked within MOOSE. -- Had a couple of mails with the guys to validate, if the same concept in the GCI/CAP script could be reworked within MOOSE.
-- None of the script code has been used however within the new AIBALANCER moose class. -- None of the script code has been used however within the new AI_BALANCER moose class.
-- --
-- ### Authors: -- ### Authors:
-- --
@ -65,28 +65,28 @@
--- AIBALANCER class --- AI_BALANCER class
-- @type AIBALANCER -- @type AI_BALANCER
-- @field Core.Set#SET_CLIENT SetClient -- @field Core.Set#SET_CLIENT SetClient
-- @field Functional.Spawn#SPAWN SpawnAI -- @field Functional.Spawn#SPAWN SpawnAI
-- @field #boolean ToNearestAirbase -- @field #boolean ToNearestAirbase
-- @field Core.Set#SET_AIRBASE ReturnAirbaseSet -- @field Core.Set#SET_AIRBASE ReturnAirbaseSet
-- @field Dcs.DCSTypes#Distance ReturnTresholdRange -- @field Dcs.DCSTypes#Distance ReturnTresholdRange
-- @field #boolean ToHomeAirbase -- @field #boolean ToHomeAirbase
-- @field PatrolCore.Zone#PATROLZONE PatrolZone -- @field PatrolCore.Zone#AI_PATROLZONE PatrolZone
-- @extends Core.Base#BASE -- @extends Core.Base#BASE
AIBALANCER = { AI_BALANCER = {
ClassName = "AIBALANCER", ClassName = "AI_BALANCER",
PatrolZones = {}, PatrolZones = {},
AIGroups = {}, AIGroups = {},
} }
--- Creates a new AIBALANCER object, building a set of units belonging to a coalitions, categories, countries, types or with defined prefix names. --- Creates a new AI_BALANCER object, building a set of units belonging to a coalitions, categories, countries, types or with defined prefix names.
-- @param #AIBALANCER self -- @param #AI_BALANCER self
-- @param SetClient A SET_CLIENT object that will contain the CLIENT objects to be monitored if they are alive or not (joined by a player). -- @param SetClient A SET_CLIENT object that will contain the CLIENT objects to be monitored if they are alive or not (joined by a player).
-- @param SpawnAI A SPAWN object that will spawn the AI units required, balancing the SetClient. -- @param SpawnAI A SPAWN object that will spawn the AI units required, balancing the SetClient.
-- @return #AIBALANCER self -- @return #AI_BALANCER self
function AIBALANCER:New( SetClient, SpawnAI ) function AI_BALANCER:New( SetClient, SpawnAI )
-- Inherits from BASE -- Inherits from BASE
local self = BASE:Inherit( self, BASE:New() ) local self = BASE:Inherit( self, BASE:New() )
@ -122,10 +122,10 @@ function AIBALANCER:New( SetClient, SpawnAI )
end end
--- Returns the AI to the nearest friendly @{Wrapper.Airbase#AIRBASE}. --- Returns the AI to the nearest friendly @{Wrapper.Airbase#AIRBASE}.
-- @param #AIBALANCER self -- @param #AI_BALANCER self
-- @param Dcs.DCSTypes#Distance ReturnTresholdRange If there is an enemy @{Wrapper.Client#CLIENT} within the ReturnTresholdRange given in meters, the AI will not return to the nearest @{Wrapper.Airbase#AIRBASE}. -- @param Dcs.DCSTypes#Distance ReturnTresholdRange If there is an enemy @{Wrapper.Client#CLIENT} within the ReturnTresholdRange given in meters, the AI will not return to the nearest @{Wrapper.Airbase#AIRBASE}.
-- @param Core.Set#SET_AIRBASE ReturnAirbaseSet The SET of @{Core.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 AIBALANCER:ReturnToNearestAirbases( ReturnTresholdRange, ReturnAirbaseSet ) function AI_BALANCER:ReturnToNearestAirbases( ReturnTresholdRange, ReturnAirbaseSet )
self.ToNearestAirbase = true self.ToNearestAirbase = true
self.ReturnTresholdRange = ReturnTresholdRange self.ReturnTresholdRange = ReturnTresholdRange
@ -133,21 +133,21 @@ function AIBALANCER:ReturnToNearestAirbases( ReturnTresholdRange, ReturnAirbaseS
end end
--- Returns the AI to the home @{Wrapper.Airbase#AIRBASE}. --- Returns the AI to the home @{Wrapper.Airbase#AIRBASE}.
-- @param #AIBALANCER self -- @param #AI_BALANCER self
-- @param Dcs.DCSTypes#Distance ReturnTresholdRange If there is an enemy @{Wrapper.Client#CLIENT} within the ReturnTresholdRange given in meters, the AI will not return to the nearest @{Wrapper.Airbase#AIRBASE}. -- @param Dcs.DCSTypes#Distance ReturnTresholdRange If there is an enemy @{Wrapper.Client#CLIENT} within the ReturnTresholdRange given in meters, the AI will not return to the nearest @{Wrapper.Airbase#AIRBASE}.
function AIBALANCER:ReturnToHomeAirbase( ReturnTresholdRange ) function AI_BALANCER:ReturnToHomeAirbase( ReturnTresholdRange )
self.ToHomeAirbase = true self.ToHomeAirbase = true
self.ReturnTresholdRange = ReturnTresholdRange self.ReturnTresholdRange = ReturnTresholdRange
end end
--- Let the AI patrol a @{Zone} with a given Speed range and Altitude range. --- Let the AI patrol a @{Zone} with a given Speed range and Altitude range.
-- @param #AIBALANCER self -- @param #AI_BALANCER self
-- @param PatrolCore.Zone#PATROLZONE PatrolZone The @{PatrolZone} where the AI needs to patrol. -- @param PatrolCore.Zone#AI_PATROLZONE PatrolZone The @{PatrolZone} where the AI needs to patrol.
-- @return PatrolCore.Zone#PATROLZONE self -- @return PatrolCore.Zone#AI_PATROLZONE self
function AIBALANCER:SetPatrolZone( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed ) function AI_BALANCER:SetPatrolZone( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed )
self.PatrolZone = PATROLZONE:New( self.PatrolZone = AI_PATROLZONE:New(
self.SpawnAI, self.SpawnAI,
PatrolZone, PatrolZone,
PatrolFloorAltitude, PatrolFloorAltitude,
@ -158,17 +158,17 @@ function AIBALANCER:SetPatrolZone( PatrolZone, PatrolFloorAltitude, PatrolCeilin
end end
--- Get the @{PatrolZone} object assigned by the @{AI_Balancer} object. --- Get the @{PatrolZone} object assigned by the @{AI_Balancer} object.
-- @param #AIBALANCER self -- @param #AI_BALANCER self
-- @return PatrolCore.Zone#PATROLZONE PatrolZone The @{PatrolZone} where the AI needs to patrol. -- @return PatrolCore.Zone#AI_PATROLZONE PatrolZone The @{PatrolZone} where the AI needs to patrol.
function AIBALANCER:GetPatrolZone() function AI_BALANCER:GetPatrolZone()
return self.PatrolZone return self.PatrolZone
end end
--- @param #AIBALANCER self --- @param #AI_BALANCER self
function AIBALANCER:_ClientAliveMonitorScheduler() function AI_BALANCER:_ClientAliveMonitorScheduler()
self.SetClient:ForEachClient( self.SetClient:ForEachClient(
--- @param Wrapper.Client#CLIENT Client --- @param Wrapper.Client#CLIENT Client
@ -255,7 +255,7 @@ function AIBALANCER:_ClientAliveMonitorScheduler()
--- Now test if the AIGroup needs to patrol a zone, otherwise let it follow its route... --- Now test if the AIGroup needs to patrol a zone, otherwise let it follow its route...
if self.PatrolZone then if self.PatrolZone then
self.PatrolZones[#self.PatrolZones+1] = PATROLZONE:New( self.PatrolZones[#self.PatrolZones+1] = AI_PATROLZONE:New(
self.PatrolZone.PatrolZone, self.PatrolZone.PatrolZone,
self.PatrolZone.PatrolFloorAltitude, self.PatrolZone.PatrolFloorAltitude,
self.PatrolZone.PatrolCeilingAltitude, self.PatrolZone.PatrolCeilingAltitude,

File diff suppressed because it is too large Load Diff

View File

@ -21,7 +21,7 @@
-- --
-- # Status: TESTED 07 Dec 2016 -- # Status: TESTED 07 Dec 2016
-- --
-- @module TEST.AIBALANCER.T001 -- @module TEST.AI_BALANCER.T001
-- Define the SET of CLIENTs from the red coalition. This SET is filled during startup. -- Define the SET of CLIENTs from the red coalition. This SET is filled during startup.
local RU_PlanesClientSet = SET_CLIENT:New():FilterCountries( "RUSSIA" ):FilterCategories( "plane" ):FilterStart() local RU_PlanesClientSet = SET_CLIENT:New():FilterCountries( "RUSSIA" ):FilterCategories( "plane" ):FilterStart()
@ -31,5 +31,5 @@ local RU_PlanesClientSet = SET_CLIENT:New():FilterCountries( "RUSSIA" ):FilterCa
-- If a blocked plane exists, this red plane will be ReSpawned. -- If a blocked plane exists, this red plane will be ReSpawned.
local RU_PlanesSpawn = SPAWN:New( "AI RU" ):InitCleanUp( 20 ) local RU_PlanesSpawn = SPAWN:New( "AI RU" ):InitCleanUp( 20 )
-- Start the AIBALANCER, using the SET of red CLIENTs, and the SPAWN object as a parameter. -- Start the AI_BALANCER, using the SET of red CLIENTs, and the SPAWN object as a parameter.
local RU_AI_Balancer = AIBALANCER:New( RU_PlanesClientSet, RU_PlanesSpawn ) local RU_AI_Balancer = AI_BALANCER:New( RU_PlanesClientSet, RU_PlanesSpawn )

View File

@ -22,7 +22,7 @@
-- --
-- # Status: DEVELOP 07 Dec 2016 -- # Status: DEVELOP 07 Dec 2016
-- --
-- @module TEST.AIBALANCER.T002 -- @module TEST.AI_BALANCER.T002
-- Define the SET of CLIENTs from the red coalition. This SET is filled during startup. -- Define the SET of CLIENTs from the red coalition. This SET is filled during startup.
local RU_PlanesClientSet = SET_CLIENT:New():FilterCountries( "RUSSIA" ):FilterCategories( "plane" ):FilterStart() local RU_PlanesClientSet = SET_CLIENT:New():FilterCountries( "RUSSIA" ):FilterCategories( "plane" ):FilterStart()
@ -32,8 +32,8 @@ local RU_PlanesClientSet = SET_CLIENT:New():FilterCountries( "RUSSIA" ):FilterCa
-- If a blocked plane exists, this red plane will be ReSpawned. -- If a blocked plane exists, this red plane will be ReSpawned.
local RU_PlanesSpawn = SPAWN:New( "AI RU" ):InitCleanUp( 20 ) local RU_PlanesSpawn = SPAWN:New( "AI RU" ):InitCleanUp( 20 )
-- Start the AIBALANCER, using the SET of red CLIENTs, and the SPAWN object as a parameter. -- Start the AI_BALANCER, using the SET of red CLIENTs, and the SPAWN object as a parameter.
local RU_AI_Balancer = AIBALANCER:New( RU_PlanesClientSet, RU_PlanesSpawn ) local RU_AI_Balancer = AI_BALANCER:New( RU_PlanesClientSet, RU_PlanesSpawn )
function RU_AI_Balancer:OnAfterSpawned( SetGroup, Event, From, To, AIGroup ) function RU_AI_Balancer:OnAfterSpawned( SetGroup, Event, From, To, AIGroup )
@ -41,7 +41,7 @@ function RU_AI_Balancer:OnAfterSpawned( SetGroup, Event, From, To, AIGroup )
local PatrolZone = ZONE_POLYGON:New( "PatrolZone", PatrolZoneGroup ) local PatrolZone = ZONE_POLYGON:New( "PatrolZone", PatrolZoneGroup )
local Patrol = PATROLZONE:New( PatrolZone, 3000, 6000, 400, 600 ) local Patrol = AI_PATROLZONE:New( PatrolZone, 3000, 6000, 400, 600 )
Patrol:ManageFuel( 0.2, 60 ) Patrol:ManageFuel( 0.2, 60 )
Patrol:SetControllable( AIGroup ) Patrol:SetControllable( AIGroup )
Patrol:__Start( 5 ) Patrol:__Start( 5 )

View File

@ -2,11 +2,11 @@
local US_PlanesClientSet = SET_CLIENT:New():FilterCountries( "USA" ):FilterCategories( "plane" ):FilterStart() local US_PlanesClientSet = SET_CLIENT:New():FilterCountries( "USA" ):FilterCategories( "plane" ):FilterStart()
local US_PlanesSpawn = SPAWN:New( "AI US" ):InitCleanUp( 20 ) local US_PlanesSpawn = SPAWN:New( "AI US" ):InitCleanUp( 20 )
local US_AI_Balancer = AIBALANCER:New( US_PlanesClientSet, US_PlanesSpawn ) local US_AI_Balancer = AI_BALANCER:New( US_PlanesClientSet, US_PlanesSpawn )
local RU_PlanesClientSet = SET_CLIENT:New():FilterCountries( "RUSSIA" ):FilterCategories( "plane" ):FilterStart() local RU_PlanesClientSet = SET_CLIENT:New():FilterCountries( "RUSSIA" ):FilterCategories( "plane" ):FilterStart()
local RU_PlanesSpawn = SPAWN:New( "AI RU" ):InitCleanUp( 20 ) local RU_PlanesSpawn = SPAWN:New( "AI RU" ):InitCleanUp( 20 )
local RU_AI_Balancer = AIBALANCER:New( RU_PlanesClientSet, RU_PlanesSpawn ) local RU_AI_Balancer = AI_BALANCER:New( RU_PlanesClientSet, RU_PlanesSpawn )
local RU_AirbasesSet = SET_AIRBASE:New():FilterCoalitions("red"):FilterStart() local RU_AirbasesSet = SET_AIRBASE:New():FilterCoalitions("red"):FilterStart()
RU_AirbasesSet:Flush() RU_AirbasesSet:Flush()
@ -15,10 +15,10 @@ RU_AI_Balancer:ReturnToNearestAirbases( 10000, RU_AirbasesSet )
--local PatrolZoneGroup = GROUP:FindByName( "Patrol Zone Blue" ) --local PatrolZoneGroup = GROUP:FindByName( "Patrol Zone Blue" )
--local PatrolZoneBlue = ZONE_POLYGON:New( "PatrolZone", PatrolZoneGroup ) --local PatrolZoneBlue = ZONE_POLYGON:New( "PatrolZone", PatrolZoneGroup )
--local PatrolZoneB = PATROLZONE:New( PatrolZoneBlue, 3000, 6000, 900, 1100 ):ManageFuel( 0.2, 180 ) --local PatrolZoneB = AI_PATROLZONE:New( PatrolZoneBlue, 3000, 6000, 900, 1100 ):ManageFuel( 0.2, 180 )
--US_AI_Balancer:SetPatrolZone( PatrolZoneB ) --US_AI_Balancer:SetPatrolZone( PatrolZoneB )
-- --
--local PatrolZoneGroup = GROUP:FindByName( "Patrol Zone Red" ) --local PatrolZoneGroup = GROUP:FindByName( "Patrol Zone Red" )
--local PatrolZoneRed = ZONE_POLYGON:New( "PatrolZone", PatrolZoneGroup ) --local PatrolZoneRed = ZONE_POLYGON:New( "PatrolZone", PatrolZoneGroup )
--local PatrolZoneR = PATROLZONE:New( PatrolZoneRed, 3000, 6000, 900, 1100 ):ManageFuel( 0.2, 180 ) --local PatrolZoneR = AI_PATROLZONE:New( PatrolZoneRed, 3000, 6000, 900, 1100 ):ManageFuel( 0.2, 180 )
--RU_AI_Balancer:SetPatrolZone( PatrolZoneR ) --RU_AI_Balancer:SetPatrolZone( PatrolZoneR )

View File

@ -1,6 +1,6 @@
local CargoEngineer = UNIT:FindByName( "Engineer" ) local CargoEngineer = UNIT:FindByName( "Engineer" )
local InfantryCargo = CARGO_UNIT:New( CargoEngineer, "Engineer", "Engineer Sven", "81", 2000, 25 ) local InfantryCargo = AI_CARGO_UNIT:New( CargoEngineer, "Engineer", "Engineer Sven", "81", 2000, 25 )
local CargoCarrier = UNIT:FindByName( "Carrier" ) local CargoCarrier = UNIT:FindByName( "Carrier" )

View File

@ -1,6 +1,6 @@
local CargoEngineer = UNIT:FindByName( "Engineer" ) local CargoEngineer = UNIT:FindByName( "Engineer" )
local InfantryCargo = CARGO_UNIT:New( CargoEngineer, "Engineer", "Engineer Sven", "81", 2000, 25 ) local InfantryCargo = AI_CARGO_UNIT:New( CargoEngineer, "Engineer", "Engineer Sven", "81", 2000, 25 )
local CargoCarrier = UNIT:FindByName( "Carrier" ) local CargoCarrier = UNIT:FindByName( "Carrier" )

View File

@ -1,6 +1,6 @@
local CargoEngineer = UNIT:FindByName( "Engineer" ) local CargoEngineer = UNIT:FindByName( "Engineer" )
local InfantryCargo = CARGO_UNIT:New( CargoEngineer, "Engineer", "Engineer Sven", "81", 2000, 25 ) local InfantryCargo = AI_CARGO_UNIT:New( CargoEngineer, "Engineer", "Engineer Sven", "81", 2000, 25 )
local CargoCarrierFrom = UNIT:FindByName( "CarrierFrom" ) local CargoCarrierFrom = UNIT:FindByName( "CarrierFrom" )

View File

@ -1,11 +1,11 @@
local CargoSet = SET_BASE:New() local CargoSet = SET_BASE:New()
CargoSet:Add( "Engineer1", CARGO_UNIT:New( UNIT:FindByName( "Engineer1" ), "Engineers", "Engineer", 81, 2000, 25 ) ) CargoSet:Add( "Engineer1", AI_CARGO_UNIT:New( UNIT:FindByName( "Engineer1" ), "Engineers", "Engineer", 81, 2000, 25 ) )
CargoSet:Add( "Engineer2", CARGO_UNIT:New( UNIT:FindByName( "Engineer2" ), "Engineers", "Engineer", 64, 2000, 25 ) ) CargoSet:Add( "Engineer2", AI_CARGO_UNIT:New( UNIT:FindByName( "Engineer2" ), "Engineers", "Engineer", 64, 2000, 25 ) )
CargoSet:Add( "Engineer3", CARGO_UNIT:New( UNIT:FindByName( "Engineer3" ), "Engineers", "Engineer", 72, 2000, 25 ) ) CargoSet:Add( "Engineer3", AI_CARGO_UNIT:New( UNIT:FindByName( "Engineer3" ), "Engineers", "Engineer", 72, 2000, 25 ) )
CargoSet:Add( "Engineer4", CARGO_UNIT:New( UNIT:FindByName( "Engineer4" ), "Engineers", "Engineer", 69, 2000, 25 ) ) CargoSet:Add( "Engineer4", AI_CARGO_UNIT:New( UNIT:FindByName( "Engineer4" ), "Engineers", "Engineer", 69, 2000, 25 ) )
local InfantryCargo = CARGO_GROUPED:New( CargoSet, "Engineers", "Engineers", 2000, 25 ) local InfantryCargo = AI_CARGO_GROUPED:New( CargoSet, "Engineers", "Engineers", 2000, 25 )
local CargoCarrier = UNIT:FindByName( "Carrier" ) local CargoCarrier = UNIT:FindByName( "Carrier" )

View File

@ -1,11 +1,11 @@
local CargoSet = SET_BASE:New() local CargoSet = SET_BASE:New()
CargoSet:Add( "Engineer1", CARGO_UNIT:New( UNIT:FindByName( "Engineer1" ), "Engineers", "Engineer", 81, 2000, 25 ) ) CargoSet:Add( "Engineer1", AI_CARGO_UNIT:New( UNIT:FindByName( "Engineer1" ), "Engineers", "Engineer", 81, 2000, 25 ) )
CargoSet:Add( "Engineer2", CARGO_UNIT:New( UNIT:FindByName( "Engineer2" ), "Engineers", "Engineer", 64, 2000, 25 ) ) CargoSet:Add( "Engineer2", AI_CARGO_UNIT:New( UNIT:FindByName( "Engineer2" ), "Engineers", "Engineer", 64, 2000, 25 ) )
CargoSet:Add( "Engineer3", CARGO_UNIT:New( UNIT:FindByName( "Engineer3" ), "Engineers", "Engineer", 72, 2000, 25 ) ) CargoSet:Add( "Engineer3", AI_CARGO_UNIT:New( UNIT:FindByName( "Engineer3" ), "Engineers", "Engineer", 72, 2000, 25 ) )
CargoSet:Add( "Engineer4", CARGO_UNIT:New( UNIT:FindByName( "Engineer4" ), "Engineers", "Engineer", 69, 2000, 25 ) ) CargoSet:Add( "Engineer4", AI_CARGO_UNIT:New( UNIT:FindByName( "Engineer4" ), "Engineers", "Engineer", 69, 2000, 25 ) )
local InfantryCargo = CARGO_GROUPED:New( CargoSet, "Engineers", "Engineers", 2000, 25 ) local InfantryCargo = AI_CARGO_GROUPED:New( CargoSet, "Engineers", "Engineers", 2000, 25 )
local CargoCarrier = UNIT:FindByName( "Carrier" ) local CargoCarrier = UNIT:FindByName( "Carrier" )

View File

@ -1,11 +1,11 @@
local CargoSet = SET_BASE:New() local CargoSet = SET_BASE:New()
CargoSet:Add( "Engineer1", CARGO_UNIT:New( UNIT:FindByName( "Engineer1" ), "Engineers", "Engineer", 81, 2000, 25 ) ) CargoSet:Add( "Engineer1", AI_CARGO_UNIT:New( UNIT:FindByName( "Engineer1" ), "Engineers", "Engineer", 81, 2000, 25 ) )
CargoSet:Add( "Engineer2", CARGO_UNIT:New( UNIT:FindByName( "Engineer2" ), "Engineers", "Engineer", 64, 2000, 25 ) ) CargoSet:Add( "Engineer2", AI_CARGO_UNIT:New( UNIT:FindByName( "Engineer2" ), "Engineers", "Engineer", 64, 2000, 25 ) )
CargoSet:Add( "Engineer3", CARGO_UNIT:New( UNIT:FindByName( "Engineer3" ), "Engineers", "Engineer", 72, 2000, 25 ) ) CargoSet:Add( "Engineer3", AI_CARGO_UNIT:New( UNIT:FindByName( "Engineer3" ), "Engineers", "Engineer", 72, 2000, 25 ) )
CargoSet:Add( "Engineer4", CARGO_UNIT:New( UNIT:FindByName( "Engineer4" ), "Engineers", "Engineer", 69, 2000, 25 ) ) CargoSet:Add( "Engineer4", AI_CARGO_UNIT:New( UNIT:FindByName( "Engineer4" ), "Engineers", "Engineer", 69, 2000, 25 ) )
local InfantryCargo = CARGO_GROUPED:New( CargoSet, "Engineers", "Engineers", 2000, 25 ) local InfantryCargo = AI_CARGO_GROUPED:New( CargoSet, "Engineers", "Engineers", 2000, 25 )
local CargoCarrierFrom = UNIT:FindByName( "CarrierFrom" ) local CargoCarrierFrom = UNIT:FindByName( "CarrierFrom" )

View File

@ -1,6 +1,6 @@
local DeliveryUnit = UNIT:FindByName( "Delivery" ) local DeliveryUnit = UNIT:FindByName( "Delivery" )
local Letter = CARGO_PACKAGE:New( DeliveryUnit, "Letter", "Secret Orders", "0.3", 2000, 25 ) local Letter = AI_CARGO_PACKAGE:New( DeliveryUnit, "Letter", "Secret Orders", "0.3", 2000, 25 )
local CargoCarrier = UNIT:FindByName( "Carrier" ) local CargoCarrier = UNIT:FindByName( "Carrier" )

View File

@ -1,6 +1,6 @@
local CargoEngineer = UNIT:FindByName( "Engineer" ) local CargoEngineer = UNIT:FindByName( "Engineer" )
local InfantryCargo = CARGO_UNIT:New( CargoEngineer, "Engineer", "Engineer Sven", "81", 2000, 25 ) local InfantryCargo = AI_CARGO_UNIT:New( CargoEngineer, "Engineer", "Engineer Sven", "81", 2000, 25 )
local CargoCarrier = UNIT:FindByName( "Carrier" ) local CargoCarrier = UNIT:FindByName( "Carrier" )

View File

@ -1,6 +1,6 @@
-- This test mission models the behaviour of the PATROLZONE class. -- This test mission models the behaviour of the AI_PATROLZONE class.
-- --
-- It creates a 2 PATROLZONE objects with the name Patrol1 and Patrol2. -- It creates a 2 AI_PATROLZONE objects with the name Patrol1 and Patrol2.
-- Patrol1 will govern a GROUP object to patrol the zone defined by PatrolZone1, within 3000 meters and 6000 meters, within a speed of 400 and 600 km/h. -- Patrol1 will govern a GROUP object to patrol the zone defined by PatrolZone1, within 3000 meters and 6000 meters, within a speed of 400 and 600 km/h.
-- When the GROUP object that is assigned to Patrol has fuel below 20%, the GROUP object will orbit for 60 secondes, before returning to base. -- When the GROUP object that is assigned to Patrol has fuel below 20%, the GROUP object will orbit for 60 secondes, before returning to base.
-- --
@ -23,16 +23,16 @@ local PatrolZone2 = ZONE_POLYGON:New( "Patrol Zone 2", PatrolZoneGroup2 )
local PatrolSpawn = SPAWN:New( "Patrol Group" ) local PatrolSpawn = SPAWN:New( "Patrol Group" )
local PatrolGroup = PatrolSpawn:Spawn() local PatrolGroup = PatrolSpawn:Spawn()
local Patrol1 = PATROLZONE:New( PatrolZone1, 3000, 6000, 400, 600 ) local Patrol1 = AI_PATROLZONE:New( PatrolZone1, 3000, 6000, 400, 600 )
Patrol1:ManageFuel( 0.2, 60 ) Patrol1:ManageFuel( 0.2, 60 )
Patrol1:SetControllable( PatrolGroup ) Patrol1:SetControllable( PatrolGroup )
Patrol1:__Start( 5 ) Patrol1:__Start( 5 )
local Patrol2 = PATROLZONE:New( PatrolZone2, 600, 1000, 300, 400 ) local Patrol2 = AI_PATROLZONE:New( PatrolZone2, 600, 1000, 300, 400 )
Patrol2:ManageFuel( 0.2, 0 ) Patrol2:ManageFuel( 0.2, 0 )
--- State transition function for the PROCESS\_PATROLZONE **Patrol1** object --- State transition function for the PROCESS\_PATROLZONE **Patrol1** object
-- @param #PATROLZONE self -- @param #AI_PATROLZONE self
-- @param Wrapper.Group#GROUP AIGroup -- @param Wrapper.Group#GROUP AIGroup
-- @return #boolean If false is returned, then the OnAfter state transition function will not be called. -- @return #boolean If false is returned, then the OnAfter state transition function will not be called.
function Patrol1:OnBeforeRTB( AIGroup ) function Patrol1:OnBeforeRTB( AIGroup )
@ -40,7 +40,7 @@ function Patrol1:OnBeforeRTB( AIGroup )
end end
--- State transition function for the PROCESS\_PATROLZONE **Patrol1** object --- State transition function for the PROCESS\_PATROLZONE **Patrol1** object
-- @param Process_PatrolCore.Zone#PATROLZONE self -- @param Process_PatrolCore.Zone#AI_PATROLZONE self
-- @param Wrapper.Group#GROUP AIGroup -- @param Wrapper.Group#GROUP AIGroup
function Patrol1:OnAfterRTB( AIGroup ) function Patrol1:OnAfterRTB( AIGroup )
local NewGroup = PatrolSpawn:Spawn() local NewGroup = PatrolSpawn:Spawn()
@ -49,14 +49,14 @@ function Patrol1:OnAfterRTB( AIGroup )
end end
--- State transition function for the PROCESS\_PATROLZONE **Patrol1** object --- State transition function for the PROCESS\_PATROLZONE **Patrol1** object
-- @param Process_PatrolCore.Zone#PATROLZONE self -- @param Process_PatrolCore.Zone#AI_PATROLZONE self
-- @param Wrapper.Group#GROUP AIGroup -- @param Wrapper.Group#GROUP AIGroup
function Patrol1:OnAfterPatrol( AIGroup ) function Patrol1:OnAfterPatrol( AIGroup )
AIGroup:MessageToRed( "Patrolling in zone " .. PatrolZone1:GetName() , 20 ) AIGroup:MessageToRed( "Patrolling in zone " .. PatrolZone1:GetName() , 20 )
end end
--- State transition function for the PROCESS\_PATROLZONE **Patrol2** object --- State transition function for the PROCESS\_PATROLZONE **Patrol2** object
-- @param #PATROLZONE self -- @param #AI_PATROLZONE self
-- @param Wrapper.Group#GROUP AIGroup -- @param Wrapper.Group#GROUP AIGroup
-- @return #boolean If false is returned, then the OnAfter state transition function will not be called. -- @return #boolean If false is returned, then the OnAfter state transition function will not be called.
function Patrol2:OnBeforeRTB( AIGroup ) function Patrol2:OnBeforeRTB( AIGroup )
@ -64,7 +64,7 @@ function Patrol2:OnBeforeRTB( AIGroup )
end end
--- State transition function for the PROCESS\_PATROLZONE **Patrol2** object --- State transition function for the PROCESS\_PATROLZONE **Patrol2** object
-- @param Process_PatrolCore.Zone#PATROLZONE self -- @param Process_PatrolCore.Zone#AI_PATROLZONE self
-- @param Wrapper.Group#GROUP AIGroup -- @param Wrapper.Group#GROUP AIGroup
function Patrol2:OnAfterRTB( AIGroup ) function Patrol2:OnAfterRTB( AIGroup )
local NewGroup = PatrolSpawn:Spawn() local NewGroup = PatrolSpawn:Spawn()
@ -73,7 +73,7 @@ function Patrol2:OnAfterRTB( AIGroup )
end end
--- State transition function for the PROCESS\_PATROLZONE **Patrol2** object --- State transition function for the PROCESS\_PATROLZONE **Patrol2** object
-- @param Process_PatrolCore.Zone#PATROLZONE self -- @param Process_PatrolCore.Zone#AI_PATROLZONE self
-- @param Wrapper.Group#GROUP AIGroup -- @param Wrapper.Group#GROUP AIGroup
function Patrol2:OnAfterPatrol( AIGroup ) function Patrol2:OnAfterPatrol( AIGroup )
AIGroup:MessageToRed( "Patrolling in zone " .. PatrolZone2:GetName() , 20 ) AIGroup:MessageToRed( "Patrolling in zone " .. PatrolZone2:GetName() , 20 )

View File

@ -25,11 +25,11 @@ do
Cargo_Pickup_Zone_2 = CARGO_ZONE:New( 'Pickup Zone 2', 'DE Communication Center 2' ):RedSmoke() Cargo_Pickup_Zone_2 = CARGO_ZONE:New( 'Pickup Zone 2', 'DE Communication Center 2' ):RedSmoke()
for CargoItem = 1, 2 do for CargoItem = 1, 2 do
CargoTable[CargoItem] = CARGO_GROUP:New( 'Engineers', 'Team ' .. EngineerNames[CargoItem], math.random( 70, 100 ) * 3, 'DE Infantry', Cargo_Pickup_Zone_1 ) CargoTable[CargoItem] = AI_CARGO_GROUP:New( 'Engineers', 'Team ' .. EngineerNames[CargoItem], math.random( 70, 100 ) * 3, 'DE Infantry', Cargo_Pickup_Zone_1 )
end end
for CargoItem = 3, 5 do for CargoItem = 3, 5 do
CargoTable[CargoItem] = CARGO_GROUP:New( 'Engineers', 'Team ' .. EngineerNames[CargoItem], math.random( 70, 100 ) * 3, 'DE Infantry', Cargo_Pickup_Zone_2 ) CargoTable[CargoItem] = AI_CARGO_GROUP:New( 'Engineers', 'Team ' .. EngineerNames[CargoItem], math.random( 70, 100 ) * 3, 'DE Infantry', Cargo_Pickup_Zone_2 )
end end
--Cargo_Package = CARGO_INVISIBLE:New( 'Letter', 0.1, 'DE Secret Agent', 'Pickup Zone Package' ) --Cargo_Package = CARGO_INVISIBLE:New( 'Letter', 0.1, 'DE Secret Agent', 'Pickup Zone Package' )
@ -68,7 +68,7 @@ do
Package_Pickup_Zone = CARGO_ZONE:New( 'Package Pickup Zone', 'DE Guard' ):GreenSmoke() Package_Pickup_Zone = CARGO_ZONE:New( 'Package Pickup Zone', 'DE Guard' ):GreenSmoke()
Cargo_Package = CARGO_PACKAGE:New( 'Letter', 'Letter to Command', 0.1, Client_Package_1 ) Cargo_Package = AI_CARGO_PACKAGE:New( 'Letter', 'Letter to Command', 0.1, Client_Package_1 )
--Cargo_Goods = CARGO_STATIC:New( 'Goods', 20, 'Goods', 'Pickup Zone Goods', 'DE Collection Point' ) --Cargo_Goods = CARGO_STATIC:New( 'Goods', 20, 'Goods', 'Pickup Zone Goods', 'DE Collection Point' )
--Cargo_SlingLoad = CARGO_SLING:New( 'Basket', 40, 'Basket', 'Pickup Zone Sling Load', 'DE Cargo Guard' ) --Cargo_SlingLoad = CARGO_SLING:New( 'Basket', 40, 'Basket', 'Pickup Zone Sling Load', 'DE Cargo Guard' )

View File

@ -0,0 +1,641 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" href="stylesheet.css" type="text/css"/>
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div>
<div id="main">
<div id="navigation">
<h2>Modules</h2>
<ul><li>
<a href="index.html">index</a>
</li></ul>
<ul>
<li>AI_Balancer</li>
<li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li>
<li><a href="Assign.html">Assign</a></li>
<li><a href="Base.html">Base</a></li>
<li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
<li><a href="DCSCommand.html">DCSCommand</a></li>
<li><a href="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li>
<li><a href="DCSTask.html">DCSTask</a></li>
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li>
<li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="Mission.html">Mission</a></li>
<li><a href="Object.html">Object</a></li>
<li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li>
<li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li>
<li><a href="Task_A2G.html">Task_A2G</a></li>
<li><a href="Task_Client_Menu.html">Task_Client_Menu</a></li>
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul>
</div>
<div id="content">
<h1>Module <code>AI_Balancer</code></h1>
<p>This module contains the AI_BALANCER class.</p>
<hr/>
<h1>1) <a href="AI.AI_Balancer.html##(AI_BALANCER)">AI.AI<em>Balancer#AI</em>BALANCER</a> class, extends <a href="Core.Fsm.html##(FSM_SET)">Core.Fsm#FSM_SET</a></h1>
<p>The <a href="AI.AI_Balancer.html##(AI_BALANCER)">AI.AI<em>Balancer#AI</em>BALANCER</a> class monitors and manages as many AI GROUPS as there are
CLIENTS in a SET<em>CLIENT collection not occupied by players.
The AI</em>BALANCER class manages internally a collection of AI management objects, which govern the behaviour
of the underlying AI GROUPS.</p>
<p>The parent class <a href="Core.Fsm.html##(FSM_SET)">Core.Fsm#FSM_SET</a> manages the functionality to control the Finite State Machine (FSM)
and calls for each event the state transition methods providing the internal <a href="Core.Fsm.html##(FSM_SET).Set">Core.Fsm#FSM_SET.Set</a> object containing the
SET_GROUP and additional event parameters provided during the event.</p>
<h2>1.1) AI_BALANCER construction method</h2>
<p>Create a new AI_BALANCER object with the <a href="##(AI_BALANCER).New">AI_BALANCER.New</a> method:</p>
<ul>
<li><a href="##(AI_BALANCER).New">AI_BALANCER.New</a>: Creates a new AI_BALANCER object.</li>
</ul>
<h2>1.2) </h2>
<p> * Add
* Remove</p>
<h2>1.2) AI_BALANCER returns AI to Airbases</h2>
<p>You can configure to have the AI to return to:</p>
<ul>
<li><a href="##(AI_BALANCER).ReturnToHomeAirbase">AI_BALANCER.ReturnToHomeAirbase</a>: Returns the AI to the home <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>.</li>
<li><a href="##(AI_BALANCER).ReturnToNearestAirbases">AI_BALANCER.ReturnToNearestAirbases</a>: Returns the AI to the nearest friendly <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>.
--</li>
</ul>
<h1><strong>API CHANGE HISTORY</strong></h1>
<p>The underlying change log documents the API changes. Please read this carefully. The following notation is used:</p>
<ul>
<li><strong>Added</strong> parts are expressed in bold type face.</li>
<li><em>Removed</em> parts are expressed in italic type face.</li>
</ul>
<p>Hereby the change log:</p>
<p>2016-08-17: SPAWN:<strong>InitCleanUp</strong>( SpawnCleanUpInterval ) replaces SPAWN:<em>CleanUp</em>( SpawnCleanUpInterval )</p>
<ul>
<li>Want to ensure that the methods starting with <strong>Init</strong> are the first called methods before any <em>Spawn</em> method is called!</li>
<li>This notation makes it now more clear which methods are initialization methods and which methods are Spawn enablement methods.</li>
</ul>
<hr/>
<h1>AUTHORS and CONTRIBUTIONS</h1>
<h3>Contributions:</h3>
<ul>
<li><p><strong>Dutch_Baron (James)</strong>: Who you can search on the Eagle Dynamics Forums. <br/>
Working together with James has resulted in the creation of the AI_BALANCER class. <br/>
James has shared his ideas on balancing AI with air units, and together we made a first design which you can use now :-)</p></li>
<li><p><strong>SNAFU</strong>:
Had a couple of mails with the guys to validate, if the same concept in the GCI/CAP script could be reworked within MOOSE.
None of the script code has been used however within the new AI_BALANCER moose class.</p></li>
</ul>
<h3>Authors:</h3>
<ul>
<li>FlightControl: Framework Design &amp; Programming</li>
</ul>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#AI_BALANCER">AI_BALANCER</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(AI_BALANCER)">Type <code>AI_BALANCER</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_BALANCER).AIGroups">AI_BALANCER.AIGroups</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_BALANCER).ClassName">AI_BALANCER.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_BALANCER).New">AI_BALANCER:New(SetClient, SpawnAI)</a></td>
<td class="summary">
<p>Creates a new AI_BALANCER object</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_BALANCER).PatrolZones">AI_BALANCER.PatrolZones</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_BALANCER).ReturnAirbaseSet">AI_BALANCER.ReturnAirbaseSet</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_BALANCER).ReturnToHomeAirbase">AI_BALANCER:ReturnToHomeAirbase(ReturnTresholdRange)</a></td>
<td class="summary">
<p>Returns the AI to the home <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_BALANCER).ReturnToNearestAirbases">AI_BALANCER:ReturnToNearestAirbases(ReturnTresholdRange, ReturnAirbaseSet)</a></td>
<td class="summary">
<p>Returns the AI to the nearest friendly <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_BALANCER).ReturnTresholdRange">AI_BALANCER.ReturnTresholdRange</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_BALANCER).SetClient">AI_BALANCER.SetClient</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_BALANCER).ToHomeAirbase">AI_BALANCER.ToHomeAirbase</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_BALANCER).ToNearestAirbase">AI_BALANCER.ToNearestAirbase</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_BALANCER).onenterDestroying">AI_BALANCER:onenterDestroying(SetGroup, AIGroup, Event, From, To)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_BALANCER).onenterMonitoring">AI_BALANCER:onenterMonitoring(SetGroup)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_BALANCER).onenterReturning">AI_BALANCER:onenterReturning(SetGroup, AIGroup, Event, From, To)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_BALANCER).onenterSpawning">AI_BALANCER:onenterSpawning(SetGroup, ClientName, AIGroup, Event, From, To)</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2>Global(s)</h2>
<dl class="function">
<dt>
<em><a href="##(AI_BALANCER)">#AI_BALANCER</a></em>
<a id="AI_BALANCER" >
<strong>AI_BALANCER</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(AI_Balancer)" >Type <code>AI_Balancer</code></a></h2>
<h2><a id="#(AI_BALANCER)" >Type <code>AI_BALANCER</code></a></h2>
<p>AI_BALANCER class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em></em>
<a id="#(AI_BALANCER).AIGroups" >
<strong>AI_BALANCER.AIGroups</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(AI_BALANCER).ClassName" >
<strong>AI_BALANCER.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AI_BALANCER).New" >
<strong>AI_BALANCER:New(SetClient, SpawnAI)</strong>
</a>
</dt>
<dd>
<p>Creates a new AI_BALANCER object</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Core.Set.html##(SET_CLIENT)">Core.Set#SET_CLIENT</a> SetClient </em></code>:
A SET_CLIENT object that will contain the CLIENT objects to be monitored if they are alive or not (joined by a player).</p>
</li>
<li>
<p><code><em><a href="Functional.Spawn.html##(SPAWN)">Functional.Spawn#SPAWN</a> SpawnAI </em></code>:
The default Spawn object to spawn new AI Groups when needed.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(AI_BALANCER)">#AI_BALANCER</a>:</em></p>
<h3>Usage:</h3>
<pre class="example"><code>-- Define a new AI_BALANCER Object.</code></pre>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(AI_BALANCER).PatrolZones" >
<strong>AI_BALANCER.PatrolZones</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(AI_BALANCER).ReturnAirbaseSet" >
<strong>AI_BALANCER.ReturnAirbaseSet</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AI_BALANCER).ReturnToHomeAirbase" >
<strong>AI_BALANCER:ReturnToHomeAirbase(ReturnTresholdRange)</strong>
</a>
</dt>
<dd>
<p>Returns the AI to the home <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Dcs.DCSTypes.html##(Distance)">Dcs.DCSTypes#Distance</a> ReturnTresholdRange </em></code>:
If there is an enemy <a href="Wrapper.Client.html##(CLIENT)">Wrapper.Client#CLIENT</a> within the ReturnTresholdRange given in meters, the AI will not return to the nearest <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>.</p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AI_BALANCER).ReturnToNearestAirbases" >
<strong>AI_BALANCER:ReturnToNearestAirbases(ReturnTresholdRange, ReturnAirbaseSet)</strong>
</a>
</dt>
<dd>
<p>Returns the AI to the nearest friendly <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Dcs.DCSTypes.html##(Distance)">Dcs.DCSTypes#Distance</a> ReturnTresholdRange </em></code>:
If there is an enemy <a href="Wrapper.Client.html##(CLIENT)">Wrapper.Client#CLIENT</a> within the ReturnTresholdRange given in meters, the AI will not return to the nearest <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>.</p>
</li>
<li>
<p><code><em><a href="Core.Set.html##(SET_AIRBASE)">Core.Set#SET_AIRBASE</a> ReturnAirbaseSet </em></code>:
The SET of <a href="Core.Set.html##(SET_AIRBASE)">Core.Set#SET_AIRBASE</a>s to evaluate where to return to.</p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(AI_BALANCER).ReturnTresholdRange" >
<strong>AI_BALANCER.ReturnTresholdRange</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Core.Set.html##(SET_CLIENT)">Core.Set#SET_CLIENT</a></em>
<a id="#(AI_BALANCER).SetClient" >
<strong>AI_BALANCER.SetClient</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#boolean</em>
<a id="#(AI_BALANCER).ToHomeAirbase" >
<strong>AI_BALANCER.ToHomeAirbase</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#boolean</em>
<a id="#(AI_BALANCER).ToNearestAirbase" >
<strong>AI_BALANCER.ToNearestAirbase</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AI_BALANCER).onenterDestroying" >
<strong>AI_BALANCER:onenterDestroying(SetGroup, AIGroup, Event, From, To)</strong>
</a>
</dt>
<dd>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Core.Set.html##(SET_GROUP)">Core.Set#SET_GROUP</a> SetGroup </em></code>: </p>
</li>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>: </p>
</li>
<li>
<p><code><em> Event </em></code>: </p>
</li>
<li>
<p><code><em> From </em></code>: </p>
</li>
<li>
<p><code><em> To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AI_BALANCER).onenterMonitoring" >
<strong>AI_BALANCER:onenterMonitoring(SetGroup)</strong>
</a>
</dt>
<dd>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> SetGroup </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AI_BALANCER).onenterReturning" >
<strong>AI_BALANCER:onenterReturning(SetGroup, AIGroup, Event, From, To)</strong>
</a>
</dt>
<dd>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Core.Set.html##(SET_GROUP)">Core.Set#SET_GROUP</a> SetGroup </em></code>: </p>
</li>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>: </p>
</li>
<li>
<p><code><em> Event </em></code>: </p>
</li>
<li>
<p><code><em> From </em></code>: </p>
</li>
<li>
<p><code><em> To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AI_BALANCER).onenterSpawning" >
<strong>AI_BALANCER:onenterSpawning(SetGroup, ClientName, AIGroup, Event, From, To)</strong>
</a>
</dt>
<dd>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Core.Set.html##(SET_GROUP)">Core.Set#SET_GROUP</a> SetGroup </em></code>: </p>
</li>
<li>
<p><code><em>#string ClientName </em></code>: </p>
</li>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>: </p>
</li>
<li>
<p><code><em> Event </em></code>: </p>
</li>
<li>
<p><code><em> From </em></code>: </p>
</li>
<li>
<p><code><em> To </em></code>: </p>
</li>
</ul>
</dd>
</dl>
</div>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -17,7 +17,7 @@
<a href="index.html">index</a> <a href="index.html">index</a>
</li></ul> </li></ul>
<ul> <ul>
<li><a href="AIBalancer.html">AIBalancer</a></li> <li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="Account.html">Account</a></li> <li><a href="Account.html">Account</a></li>
<li>Airbase</li> <li>Airbase</li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li> <li><a href="AirbasePolice.html">AirbasePolice</a></li>
@ -26,6 +26,7 @@
<li><a href="Cargo.html">Cargo</a></li> <li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</a></li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li> <li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li> <li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li> <li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
@ -42,9 +43,9 @@
<li><a href="DCStrigger.html">DCStrigger</a></li> <li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li> <li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li> <li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li> <li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li> <li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li> <li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li> <li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
@ -56,17 +57,16 @@
<li><a href="Patrol.html">Patrol</a></li> <li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li> <li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li> <li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li> <li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li> <li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li> <li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li> <li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li> <li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li> <li><a href="Task.html">Task</a></li>
@ -75,9 +75,11 @@
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li> <li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li> <li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li> <li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li> <li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
@ -89,7 +91,7 @@
<hr/> <hr/>
<h1>1) <a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a> class, extends <a href="Positionable.html##(POSITIONABLE)">Positionable#POSITIONABLE</a></h1> <h1>1) <a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a> class, extends <a href="Wrapper.Positionable.html##(POSITIONABLE)">Wrapper.Positionable#POSITIONABLE</a></h1>
<p>The <a href="AIRBASE.html">AIRBASE</a> class is a wrapper class to handle the DCS Airbase objects:</p> <p>The <a href="AIRBASE.html">AIRBASE</a> class is a wrapper class to handle the DCS Airbase objects:</p>
<ul> <ul>
@ -121,7 +123,7 @@ If the DCS Airbase object does not exist or is nil, the AIRBASE methods will ret
<h2>1.2) DCS AIRBASE APIs</h2> <h2>1.2) DCS AIRBASE APIs</h2>
<p>The DCS Airbase APIs are used extensively within MOOSE. The AIRBASE class has for each DCS Airbase API a corresponding method. <p>The DCS Airbase APIs are used extensively within MOOSE. The AIRBASE class has for each DCS Airbase API a corresponding method.
To be able to distinguish easily in your code the difference between a AIRBASE API call and a DCS Airbase API call, To be able to distinguish easily in your code the difference between a AIRBASE API call and a DCS Airbase API call,
the first letter of the method is also capitalized. So, by example, the DCS Airbase method <a href="DCSAirbase.html##(Airbase).getName">DCSAirbase#Airbase.getName</a>() the first letter of the method is also capitalized. So, by example, the DCS Airbase method <a href="Dcs.DCSWrapper.Airbase.html##(Airbase).getName">Dcs.DCSWrapper.Airbase#Airbase.getName</a>()
is implemented in the AIRBASE class as <a href="##(AIRBASE).GetName">AIRBASE.GetName</a>().</p> is implemented in the AIRBASE class as <a href="##(AIRBASE).GetName">AIRBASE.GetName</a>().</p>
<h2>More functions will be added</h2> <h2>More functions will be added</h2>
@ -242,14 +244,14 @@ is implemented in the AIRBASE class as <a href="##(AIRBASE).GetName">AIRBASE.Get
<ul> <ul>
<li> <li>
<p><code><em><a href="DCSAirbase.html##(Airbase)">DCSAirbase#Airbase</a> DCSAirbase </em></code>: <p><code><em><a href="Dcs.DCSWrapper.Airbase.html##(Airbase)">Dcs.DCSWrapper.Airbase#Airbase</a> DCSAirbase </em></code>:
An existing DCS Airbase object reference.</p> An existing DCS Airbase object reference.</p>
</li> </li>
</ul> </ul>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a>:</em> <p><em><a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>:</em>
self</p> self</p>
</dd> </dd>
@ -276,7 +278,7 @@ The Airbase Name.</p>
</ul> </ul>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a>:</em> <p><em><a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>:</em>
self</p> self</p>
</dd> </dd>
@ -316,7 +318,7 @@ The name of the airbase.</p>
</ul> </ul>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a>:</em></p> <p><em><a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>:</em></p>
</dd> </dd>

View File

@ -17,7 +17,7 @@
<a href="index.html">index</a> <a href="index.html">index</a>
</li></ul> </li></ul>
<ul> <ul>
<li><a href="AIBalancer.html">AIBalancer</a></li> <li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="Account.html">Account</a></li> <li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li> <li><a href="Airbase.html">Airbase</a></li>
<li>AirbasePolice</li> <li>AirbasePolice</li>
@ -26,6 +26,7 @@
<li><a href="Cargo.html">Cargo</a></li> <li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</a></li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li> <li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li> <li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li> <li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
@ -42,9 +43,9 @@
<li><a href="DCStrigger.html">DCStrigger</a></li> <li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li> <li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li> <li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li> <li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li> <li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li> <li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li> <li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
@ -56,17 +57,16 @@
<li><a href="Patrol.html">Patrol</a></li> <li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li> <li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li> <li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li> <li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li> <li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li> <li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li> <li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li> <li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li> <li><a href="Task.html">Task</a></li>
@ -75,9 +75,11 @@
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li> <li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li> <li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li> <li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li> <li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
@ -89,8 +91,8 @@
<hr/> <hr/>
<h1>1) <a href="AirbasePolice.html##(AIRBASEPOLICE_BASE)">AirbasePolice#AIRBASEPOLICE_BASE</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1> <h1>1) <a href="Functional.AirbasePolice.html##(AIRBASEPOLICE_BASE)">Functional.AirbasePolice#AIRBASEPOLICE_BASE</a> class, extends <a href="Core.Base.html##(BASE)">Core.Base#BASE</a></h1>
<p>The <a href="AirbasePolice.html##(AIRBASEPOLICE_BASE)">AirbasePolice#AIRBASEPOLICE_BASE</a> class provides the main methods to monitor CLIENT behaviour at airbases. <p>The <a href="Functional.AirbasePolice.html##(AIRBASEPOLICE_BASE)">Functional.AirbasePolice#AIRBASEPOLICE_BASE</a> class provides the main methods to monitor CLIENT behaviour at airbases.
CLIENTS should not be allowed to:</p> CLIENTS should not be allowed to:</p>
<ul> <ul>
@ -100,7 +102,7 @@ CLIENTS should not be allowed to:</p>
<li>Obey ground control orders.</li> <li>Obey ground control orders.</li>
</ul> </ul>
<h1>2) <a href="AirbasePolice.html##(AIRBASEPOLICE_CAUCASUS)">AirbasePolice#AIRBASEPOLICE_CAUCASUS</a> class, extends <a href="AirbasePolice.html##(AIRBASEPOLICE_BASE)">AirbasePolice#AIRBASEPOLICE_BASE</a></h1> <h1>2) <a href="Functional.AirbasePolice.html##(AIRBASEPOLICE_CAUCASUS)">Functional.AirbasePolice#AIRBASEPOLICE_CAUCASUS</a> class, extends <a href="Functional.AirbasePolice.html##(AIRBASEPOLICE_BASE)">Functional.AirbasePolice#AIRBASEPOLICE_BASE</a></h1>
<p>All the airbases on the caucasus map can be monitored using this class. <p>All the airbases on the caucasus map can be monitored using this class.
If you want to monitor specific airbases, you need to use the <a href="##(AIRBASEPOLICE_BASE).Monitor">AIRBASEPOLICE_BASE.Monitor</a>() method, which takes a table or airbase names. If you want to monitor specific airbases, you need to use the <a href="##(AIRBASEPOLICE_BASE).Monitor">AIRBASEPOLICE_BASE.Monitor</a>() method, which takes a table or airbase names.
The following names can be given: The following names can be given:
@ -126,7 +128,7 @@ The following names can be given:
* TbilisiLochini * TbilisiLochini
* Vaziani</p> * Vaziani</p>
<h1>3) <a href="AirbasePolice.html##(AIRBASEPOLICE_NEVADA)">AirbasePolice#AIRBASEPOLICE_NEVADA</a> class, extends <a href="AirbasePolice.html##(AIRBASEPOLICE_BASE)">AirbasePolice#AIRBASEPOLICE_BASE</a></h1> <h1>3) <a href="Functional.AirbasePolice.html##(AIRBASEPOLICE_NEVADA)">Functional.AirbasePolice#AIRBASEPOLICE_NEVADA</a> class, extends <a href="Functional.AirbasePolice.html##(AIRBASEPOLICE_BASE)">Functional.AirbasePolice#AIRBASEPOLICE_BASE</a></h1>
<p>All the airbases on the NEVADA map can be monitored using this class. <p>All the airbases on the NEVADA map can be monitored using this class.
If you want to monitor specific airbases, you need to use the <a href="##(AIRBASEPOLICE_BASE).Monitor">AIRBASEPOLICE_BASE.Monitor</a>() method, which takes a table or airbase names. If you want to monitor specific airbases, you need to use the <a href="##(AIRBASEPOLICE_BASE).Monitor">AIRBASEPOLICE_BASE.Monitor</a>() method, which takes a table or airbase names.
The following names can be given: The following names can be given:
@ -272,7 +274,7 @@ The following names can be given:
<dl class="function"> <dl class="function">
<dt> <dt>
<em><a href="Set.html##(SET_CLIENT)">Set#SET_CLIENT</a></em> <em><a href="Core.Set.html##(SET_CLIENT)">Core.Set#SET_CLIENT</a></em>
<a id="#(AIRBASEPOLICE_BASE).SetClient" > <a id="#(AIRBASEPOLICE_BASE).SetClient" >
<strong>AIRBASEPOLICE_BASE.SetClient</strong> <strong>AIRBASEPOLICE_BASE.SetClient</strong>
</a> </a>
@ -291,7 +293,7 @@ The following names can be given:
<dl class="function"> <dl class="function">
<dt> <dt>
<em><a href="Set.html##(SET_CLIENT)">Set#SET_CLIENT</a></em> <em><a href="Core.Set.html##(SET_CLIENT)">Core.Set#SET_CLIENT</a></em>
<a id="#(AIRBASEPOLICE_CAUCASUS).SetClient" > <a id="#(AIRBASEPOLICE_CAUCASUS).SetClient" >
<strong>AIRBASEPOLICE_CAUCASUS.SetClient</strong> <strong>AIRBASEPOLICE_CAUCASUS.SetClient</strong>
</a> </a>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -17,7 +17,7 @@
<a href="index.html">index</a> <a href="index.html">index</a>
</li></ul> </li></ul>
<ul> <ul>
<li><a href="AIBalancer.html">AIBalancer</a></li> <li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="Account.html">Account</a></li> <li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li> <li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li> <li><a href="AirbasePolice.html">AirbasePolice</a></li>
@ -26,6 +26,7 @@
<li><a href="Cargo.html">Cargo</a></li> <li><a href="Cargo.html">Cargo</a></li>
<li>CleanUp</li> <li>CleanUp</li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</a></li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li> <li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li> <li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li> <li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
@ -42,9 +43,9 @@
<li><a href="DCStrigger.html">DCStrigger</a></li> <li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li> <li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li> <li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li> <li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li> <li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li> <li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li> <li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
@ -56,17 +57,16 @@
<li><a href="Patrol.html">Patrol</a></li> <li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li> <li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li> <li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li> <li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li> <li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li> <li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li> <li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li> <li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li> <li><a href="Task.html">Task</a></li>
@ -75,9 +75,11 @@
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li> <li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li> <li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li> <li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li> <li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
@ -132,7 +134,7 @@
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(CLEANUP)._AddForCleanUp">CLEANUP:_AddForCleanUp(CleanUpUnit, CleanUpUnitName)</a></td> <td class="name" nowrap="nowrap"><a href="##(CLEANUP)._AddForCleanUp">CLEANUP:_AddForCleanUp(CleanUpUnit, CleanUpUnitName)</a></td>
<td class="summary"> <td class="summary">
<p>Add the <a href="DCSUnit.html##(Unit)">DCSUnit#Unit</a> to the CleanUpList for CleanUp.</p> <p>Add the <a href="Dcs.DCSWrapper.Unit.html##(Unit)">Dcs.DCSWrapper.Unit#Unit</a> to the CleanUpList for CleanUp.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -156,7 +158,7 @@
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(CLEANUP)._DestroyUnit">CLEANUP:_DestroyUnit(CleanUpUnit, CleanUpUnitName)</a></td> <td class="name" nowrap="nowrap"><a href="##(CLEANUP)._DestroyUnit">CLEANUP:_DestroyUnit(CleanUpUnit, CleanUpUnitName)</a></td>
<td class="summary"> <td class="summary">
<p>Destroys a <a href="DCSUnit.html##(Unit)">DCSUnit#Unit</a> from the simulator, but checks first if it is still existing!</p> <p>Destroys a <a href="Dcs.DCSWrapper.Unit.html##(Unit)">Dcs.DCSWrapper.Unit#Unit</a> from the simulator, but checks first if it is still existing!</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -304,7 +306,7 @@
</dt> </dt>
<dd> <dd>
<p>Add the <a href="DCSUnit.html##(Unit)">DCSUnit#Unit</a> to the CleanUpList for CleanUp.</p> <p>Add the <a href="Dcs.DCSWrapper.Unit.html##(Unit)">Dcs.DCSWrapper.Unit#Unit</a> to the CleanUpList for CleanUp.</p>
<h3>Parameters</h3> <h3>Parameters</h3>
<ul> <ul>
@ -349,7 +351,7 @@
<ul> <ul>
<li> <li>
<p><code><em><a href="DCSGroup.html##(Group)">DCSGroup#Group</a> GroupObject </em></code>: <p><code><em><a href="Dcs.DCSWrapper.Group.html##(Group)">Dcs.DCSWrapper.Group#Group</a> GroupObject </em></code>:
The object to be destroyed.</p> The object to be destroyed.</p>
</li> </li>
@ -374,10 +376,10 @@ The groupname...</p>
<p> TODO check DCSTypes#Weapon <p> TODO check Dcs.DCSTypes#Weapon
- Destroys a missile from the simulator, but checks first if it is still existing! - Destroys a missile from the simulator, but checks first if it is still existing!
@param #CLEANUP self @param #CLEANUP self
@param DCSTypes#Weapon MissileObject</p> @param Dcs.DCSTypes#Weapon MissileObject</p>
<h3>Parameter</h3> <h3>Parameter</h3>
<ul> <ul>
@ -398,13 +400,13 @@ The groupname...</p>
</dt> </dt>
<dd> <dd>
<p>Destroys a <a href="DCSUnit.html##(Unit)">DCSUnit#Unit</a> from the simulator, but checks first if it is still existing!</p> <p>Destroys a <a href="Dcs.DCSWrapper.Unit.html##(Unit)">Dcs.DCSWrapper.Unit#Unit</a> from the simulator, but checks first if it is still existing!</p>
<h3>Parameters</h3> <h3>Parameters</h3>
<ul> <ul>
<li> <li>
<p><code><em><a href="DCSUnit.html##(Unit)">DCSUnit#Unit</a> CleanUpUnit </em></code>: <p><code><em><a href="Dcs.DCSWrapper.Unit.html##(Unit)">Dcs.DCSWrapper.Unit#Unit</a> CleanUpUnit </em></code>:
The object to be destroyed.</p> The object to be destroyed.</p>
</li> </li>
@ -435,7 +437,7 @@ The Unit name ...</p>
<ul> <ul>
<li> <li>
<p><code><em><a href="DCSTypes.html##(Event)">DCSTypes#Event</a> event </em></code>: </p> <p><code><em><a href="Dcs.DCSTypes.html##(Event)">Dcs.DCSTypes#Event</a> event </em></code>: </p>
</li> </li>
<li> <li>
@ -464,7 +466,7 @@ The Unit name ...</p>
<ul> <ul>
<li> <li>
<p><code><em><a href="DCSTypes.html##(Event)">DCSTypes#Event</a> event </em></code>: </p> <p><code><em><a href="Dcs.DCSTypes.html##(Event)">Dcs.DCSTypes#Event</a> event </em></code>: </p>
</li> </li>
<li> <li>
@ -493,7 +495,7 @@ The Unit name ...</p>
<ul> <ul>
<li> <li>
<p><code><em><a href="DCSTypes.html##(Event)">DCSTypes#Event</a> event </em></code>: </p> <p><code><em><a href="Dcs.DCSTypes.html##(Event)">Dcs.DCSTypes#Event</a> event </em></code>: </p>
</li> </li>
<li> <li>
@ -522,7 +524,7 @@ The Unit name ...</p>
<ul> <ul>
<li> <li>
<p><code><em><a href="DCSTypes.html##(Event)">DCSTypes#Event</a> event </em></code>: </p> <p><code><em><a href="Dcs.DCSTypes.html##(Event)">Dcs.DCSTypes#Event</a> event </em></code>: </p>
</li> </li>
<li> <li>

View File

@ -17,7 +17,7 @@
<a href="index.html">index</a> <a href="index.html">index</a>
</li></ul> </li></ul>
<ul> <ul>
<li><a href="AIBalancer.html">AIBalancer</a></li> <li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="Account.html">Account</a></li> <li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li> <li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li> <li><a href="AirbasePolice.html">AirbasePolice</a></li>
@ -26,6 +26,7 @@
<li><a href="Cargo.html">Cargo</a></li> <li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li>Client</li> <li>Client</li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li> <li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li> <li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li> <li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
@ -42,9 +43,9 @@
<li><a href="DCStrigger.html">DCStrigger</a></li> <li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li> <li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li> <li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li> <li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li> <li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li> <li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li> <li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
@ -56,17 +57,16 @@
<li><a href="Patrol.html">Patrol</a></li> <li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li> <li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li> <li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li> <li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li> <li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li> <li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li> <li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li> <li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li> <li><a href="Task.html">Task</a></li>
@ -75,9 +75,11 @@
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li> <li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li> <li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li> <li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li> <li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
@ -87,10 +89,10 @@
<h1>1) <a href="Client.html##(CLIENT)">Client#CLIENT</a> class, extends <a href="Unit.html##(UNIT)">Unit#UNIT</a></h1> <h1>1) <a href="Wrapper.Client.html##(CLIENT)">Wrapper.Client#CLIENT</a> class, extends <a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a></h1>
<p>Clients are those <strong>Units</strong> defined within the Mission Editor that have the skillset defined as <strong>Client</strong> or <strong>Player</strong>. <p>Clients are those <strong>Units</strong> defined within the Mission Editor that have the skillset defined as <strong>Client</strong> or <strong>Player</strong>.
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.
The <a href="Client.html##(CLIENT)">Client#CLIENT</a> class is a wrapper class to handle the DCS Unit objects that have the skillset defined as <strong>Client</strong> or <strong>Player</strong>:</p> The <a href="Wrapper.Client.html##(CLIENT)">Wrapper.Client#CLIENT</a> class is a wrapper class to handle the DCS Unit objects that have the skillset defined as <strong>Client</strong> or <strong>Player</strong>:</p>
<ul> <ul>
<li>Wraps the DCS Unit objects with skill level set to Player or Client.</li> <li>Wraps the DCS Unit objects with skill level set to Player or Client.</li>
@ -226,7 +228,7 @@ If the DCS Unit object does not exist or is nil, the CLIENT methods will return
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).FindByName">CLIENT:FindByName(ClientName, ClientBriefing)</a></td> <td class="name" nowrap="nowrap"><a href="##(CLIENT).FindByName">CLIENT:FindByName(ClientName, ClientBriefing, Error)</a></td>
<td class="summary"> <td class="summary">
<p>Finds a CLIENT from the _DATABASE using the relevant Client Unit Name.</p> <p>Finds a CLIENT from the _DATABASE using the relevant Client Unit Name.</p>
</td> </td>
@ -312,7 +314,7 @@ If the DCS Unit object does not exist or is nil, the CLIENT methods will return
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).ShowCargo">CLIENT:ShowCargo()</a></td> <td class="name" nowrap="nowrap"><a href="##(CLIENT).ShowCargo">CLIENT:ShowCargo()</a></td>
<td class="summary"> <td class="summary">
<p>Shows the <a href="Cargo.html##(CARGO)">Cargo#CARGO</a> contained within the CLIENT to the player as a message.</p> <p>Shows the <a href="AI.AI_Cargo.html##(CARGO)">AI.AI_Cargo#CARGO</a> contained within the CLIENT to the player as a message.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -657,7 +659,7 @@ Text that describes the briefing of the mission when a Player logs into the Clie
<dt> <dt>
<a id="#(CLIENT).FindByName" > <a id="#(CLIENT).FindByName" >
<strong>CLIENT:FindByName(ClientName, ClientBriefing)</strong> <strong>CLIENT:FindByName(ClientName, ClientBriefing, Error)</strong>
</a> </a>
</dt> </dt>
<dd> <dd>
@ -680,6 +682,12 @@ Name of the DCS <strong>Unit</strong> as defined within the Mission Editor.</p>
<p><code><em>#string ClientBriefing </em></code>: <p><code><em>#string ClientBriefing </em></code>:
Text that describes the briefing of the mission when a Player logs into the Client.</p> Text that describes the briefing of the mission when a Player logs into the Client.</p>
</li>
<li>
<p><code><em>#boolean Error </em></code>:
A flag that indicates whether an error should be raised if the CLIENT cannot be found. By default an error will be raised.</p>
</li> </li>
</ul> </ul>
<h3>Return value</h3> <h3>Return value</h3>
@ -712,7 +720,7 @@ Text that describes the briefing of the mission when a Player logs into the Clie
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="DCSTypes.html##(Unit)">DCSTypes#Unit</a>:</em></p> <p><em><a href="Dcs.DCSTypes.html##(Unit)">Dcs.DCSTypes#Unit</a>:</em></p>
</dd> </dd>
@ -729,10 +737,10 @@ Text that describes the briefing of the mission when a Player logs into the Clie
<p> TODO: Check DCSTypes#Group.ID <p> TODO: Check Dcs.DCSTypes#Group.ID
- Get the group ID of the client. - Get the group ID of the client.
@param #CLIENT self @param #CLIENT self
@return DCSTypes#Group.ID</p> @return Dcs.DCSTypes#Group.ID</p>
</dd> </dd>
</dl> </dl>
@ -767,7 +775,7 @@ Text that describes the briefing of the mission when a Player logs into the Clie
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="Unit.html##(UNIT)">Unit#UNIT</a>:</em></p> <p><em><a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a>:</em></p>
</dd> </dd>
@ -788,7 +796,7 @@ Text that describes the briefing of the mission when a Player logs into the Clie
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="DCSGroup.html##(Group)">DCSGroup#Group</a>:</em></p> <p><em><a href="Dcs.DCSWrapper.Group.html##(Group)">Dcs.DCSWrapper.Group#Group</a>:</em></p>
</dd> </dd>
@ -866,7 +874,7 @@ is the category of the message (the title).</p>
<li> <li>
<p><code><em>#number MessageInterval </em></code>: <p><code><em>#number MessageInterval </em></code>:
is the interval in seconds between the display of the <a href="Message.html##(MESSAGE)">Message#MESSAGE</a> when the CLIENT is in the air.</p> is the interval in seconds between the display of the <a href="Core.Message.html##(MESSAGE)">Core.Message#MESSAGE</a> when the CLIENT is in the air.</p>
</li> </li>
<li> <li>
@ -976,10 +984,10 @@ self</p>
</dt> </dt>
<dd> <dd>
<p>Shows the <a href="Cargo.html##(CARGO)">Cargo#CARGO</a> contained within the CLIENT to the player as a message.</p> <p>Shows the <a href="AI.AI_Cargo.html##(CARGO)">AI.AI_Cargo#CARGO</a> contained within the CLIENT to the player as a message.</p>
<p>The <a href="Cargo.html##(CARGO)">Cargo#CARGO</a> is shown using the <a href="Message.html##(MESSAGE)">Message#MESSAGE</a> distribution system.</p> <p>The <a href="AI.AI_Cargo.html##(CARGO)">AI.AI_Cargo#CARGO</a> is shown using the <a href="Core.Message.html##(MESSAGE)">Core.Message#MESSAGE</a> distribution system.</p>
</dd> </dd>
</dl> </dl>

View File

@ -0,0 +1,765 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" href="stylesheet.css" type="text/css"/>
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div>
<div id="main">
<div id="navigation">
<h2>Modules</h2>
<ul><li>
<a href="index.html">index</a>
</li></ul>
<ul>
<li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li>
<li><a href="Assign.html">Assign</a></li>
<li><a href="Base.html">Base</a></li>
<li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li>CommandCenter</li>
<li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
<li><a href="DCSCommand.html">DCSCommand</a></li>
<li><a href="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li>
<li><a href="DCSTask.html">DCSTask</a></li>
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li>
<li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="Mission.html">Mission</a></li>
<li><a href="Object.html">Object</a></li>
<li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li>
<li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li>
<li><a href="Task_A2G.html">Task_A2G</a></li>
<li><a href="Task_Client_Menu.html">Task_Client_Menu</a></li>
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul>
</div>
<div id="content">
<h1>Module <code>CommandCenter</code></h1>
<p>A COMMANDCENTER is the owner of multiple missions within MOOSE.</p>
<p>A COMMANDCENTER governs multiple missions, the tasking and the reporting.</p>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#COMMANDCENTER">COMMANDCENTER</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#REPORT">REPORT</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(COMMANDCENTER)">Type <code>COMMANDCENTER</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).AddMission">COMMANDCENTER:AddMission(Mission)</a></td>
<td class="summary">
<p>Add a MISSION to be governed by the HQ command center.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).ClassName">COMMANDCENTER.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).CommandCenterCoalition">COMMANDCENTER.CommandCenterCoalition</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).CommandCenterMenu">COMMANDCENTER.CommandCenterMenu</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).CommandCenterName">COMMANDCENTER.CommandCenterName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).CommandCenterPositionable">COMMANDCENTER.CommandCenterPositionable</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).GetMissions">COMMANDCENTER:GetMissions()</a></td>
<td class="summary">
<p>Get the Missions governed by the HQ command center.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).GetName">COMMANDCENTER:GetName()</a></td>
<td class="summary">
<p>Gets the name of the HQ command center.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).GetPositionable">COMMANDCENTER:GetPositionable()</a></td>
<td class="summary">
<p>Gets the POSITIONABLE of the HQ command center.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).HQ">COMMANDCENTER.HQ</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).HasGroup">COMMANDCENTER:HasGroup(Wrapper, MissionGroup)</a></td>
<td class="summary">
<p>Checks of the COMMANDCENTER has a GROUP.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).MessageToCoalition">COMMANDCENTER:MessageToCoalition(Message)</a></td>
<td class="summary">
<p>Send a CC message to the coalition of the CC.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).MessageToGroup">COMMANDCENTER:MessageToGroup(Message, TaskGroup)</a></td>
<td class="summary">
<p>Send a CC message to a GROUP.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).Name">COMMANDCENTER.Name</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).New">COMMANDCENTER:New(CommandCenterPositionable, CommandCenterName)</a></td>
<td class="summary">
<p>The constructor takes an IDENTIFIABLE as the HQ command center.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).RemoveMission">COMMANDCENTER:RemoveMission(Mission)</a></td>
<td class="summary">
<p>Removes a MISSION to be governed by the HQ command center.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).ReportDetails">COMMANDCENTER:ReportDetails(ReportGroup, Task)</a></td>
<td class="summary">
<p>Report the status of a Task to a Group.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).ReportSummary">COMMANDCENTER:ReportSummary(ReportGroup)</a></td>
<td class="summary">
<p>Report the status of all MISSIONs to a GROUP.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(COMMANDCENTER).SetMenu">COMMANDCENTER:SetMenu()</a></td>
<td class="summary">
<p>Sets the menu structure of the Missions governed by the HQ command center.</p>
</td>
</tr>
</table>
<h2><a id="#(REPORT)">Type <code>REPORT</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(REPORT).Add">REPORT:Add(Text)</a></td>
<td class="summary">
<p>Add a new line to a REPORT.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(REPORT).ClassName">REPORT.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(REPORT).New">REPORT:New(Title)</a></td>
<td class="summary">
<p>Create a new REPORT.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(REPORT).Text">REPORT:Text()</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2>Global(s)</h2>
<dl class="function">
<dt>
<em><a href="##(COMMANDCENTER)">#COMMANDCENTER</a></em>
<a id="COMMANDCENTER" >
<strong>COMMANDCENTER</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(REPORT)">#REPORT</a></em>
<a id="REPORT" >
<strong>REPORT</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(CommandCenter)" >Type <code>CommandCenter</code></a></h2>
<h2><a id="#(COMMANDCENTER)" >Type <code>COMMANDCENTER</code></a></h2>
<p>The COMMANDCENTER class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<a id="#(COMMANDCENTER).AddMission" >
<strong>COMMANDCENTER:AddMission(Mission)</strong>
</a>
</dt>
<dd>
<p>Add a MISSION to be governed by the HQ command center.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Tasking.Mission.html##(MISSION)">Tasking.Mission#MISSION</a> Mission </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="Tasking.Mission.html##(MISSION)">Tasking.Mission#MISSION</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(COMMANDCENTER).ClassName" >
<strong>COMMANDCENTER.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Dcs.DCSCoalitionWrapper.Object.html##(coalition)">Dcs.DCSCoalitionWrapper.Object#coalition</a></em>
<a id="#(COMMANDCENTER).CommandCenterCoalition" >
<strong>COMMANDCENTER.CommandCenterCoalition</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(COMMANDCENTER).CommandCenterMenu" >
<strong>COMMANDCENTER.CommandCenterMenu</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(COMMANDCENTER).CommandCenterName" >
<strong>COMMANDCENTER.CommandCenterName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(COMMANDCENTER).CommandCenterPositionable" >
<strong>COMMANDCENTER.CommandCenterPositionable</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(COMMANDCENTER).GetMissions" >
<strong>COMMANDCENTER:GetMissions()</strong>
</a>
</dt>
<dd>
<p>Get the Missions governed by the HQ command center.</p>
<h3>Return value</h3>
<p><em><a href="##(list)">#list</a>:</em>
Tasking.Mission#MISSION></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(COMMANDCENTER).GetName" >
<strong>COMMANDCENTER:GetName()</strong>
</a>
</dt>
<dd>
<p>Gets the name of the HQ command center.</p>
<h3>Return value</h3>
<p><em>#string:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(COMMANDCENTER).GetPositionable" >
<strong>COMMANDCENTER:GetPositionable()</strong>
</a>
</dt>
<dd>
<p>Gets the POSITIONABLE of the HQ command center.</p>
<h3>Return value</h3>
<p><em><a href="Wrapper.Positionable.html##(POSITIONABLE)">Wrapper.Positionable#POSITIONABLE</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a></em>
<a id="#(COMMANDCENTER).HQ" >
<strong>COMMANDCENTER.HQ</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(COMMANDCENTER).HasGroup" >
<strong>COMMANDCENTER:HasGroup(Wrapper, MissionGroup)</strong>
</a>
</dt>
<dd>
<p>Checks of the COMMANDCENTER has a GROUP.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em> Wrapper </em></code>:
Group#GROUP</p>
</li>
<li>
<p><code><em> MissionGroup </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em>#boolean:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(COMMANDCENTER).MessageToCoalition" >
<strong>COMMANDCENTER:MessageToCoalition(Message)</strong>
</a>
</dt>
<dd>
<p>Send a CC message to the coalition of the CC.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> Message </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(COMMANDCENTER).MessageToGroup" >
<strong>COMMANDCENTER:MessageToGroup(Message, TaskGroup)</strong>
</a>
</dt>
<dd>
<p>Send a CC message to a GROUP.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em> Message </em></code>: </p>
</li>
<li>
<p><code><em> TaskGroup </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(COMMANDCENTER).Name" >
<strong>COMMANDCENTER.Name</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(COMMANDCENTER).New" >
<strong>COMMANDCENTER:New(CommandCenterPositionable, CommandCenterName)</strong>
</a>
</dt>
<dd>
<p>The constructor takes an IDENTIFIABLE as the HQ command center.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Wrapper.Positionable.html##(POSITIONABLE)">Wrapper.Positionable#POSITIONABLE</a> CommandCenterPositionable </em></code>: </p>
</li>
<li>
<p><code><em>#string CommandCenterName </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(COMMANDCENTER)">#COMMANDCENTER</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(COMMANDCENTER).RemoveMission" >
<strong>COMMANDCENTER:RemoveMission(Mission)</strong>
</a>
</dt>
<dd>
<p>Removes a MISSION to be governed by the HQ command center.</p>
<p>The given Mission is not nilified.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Tasking.Mission.html##(MISSION)">Tasking.Mission#MISSION</a> Mission </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="Tasking.Mission.html##(MISSION)">Tasking.Mission#MISSION</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(COMMANDCENTER).ReportDetails" >
<strong>COMMANDCENTER:ReportDetails(ReportGroup, Task)</strong>
</a>
</dt>
<dd>
<p>Report the status of a Task to a Group.</p>
<p>Report the details of a Mission, listing the Mission, and all the Task details.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em> ReportGroup </em></code>: </p>
</li>
<li>
<p><code><em> Task </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(COMMANDCENTER).ReportSummary" >
<strong>COMMANDCENTER:ReportSummary(ReportGroup)</strong>
</a>
</dt>
<dd>
<p>Report the status of all MISSIONs to a GROUP.</p>
<p>Each Mission is listed, with an indication how many Tasks are still to be completed.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> ReportGroup </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(COMMANDCENTER).SetMenu" >
<strong>COMMANDCENTER:SetMenu()</strong>
</a>
</dt>
<dd>
<p>Sets the menu structure of the Missions governed by the HQ command center.</p>
</dd>
</dl>
<h2><a id="#(REPORT)" >Type <code>REPORT</code></a></h2>
<p>The REPORT class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<a id="#(REPORT).Add" >
<strong>REPORT:Add(Text)</strong>
</a>
</dt>
<dd>
<p>Add a new line to a REPORT.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#string Text </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(REPORT)">#REPORT</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(REPORT).ClassName" >
<strong>REPORT.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(REPORT).New" >
<strong>REPORT:New(Title)</strong>
</a>
</dt>
<dd>
<p>Create a new REPORT.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#string Title </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(REPORT)">#REPORT</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(REPORT).Text" >
<strong>REPORT:Text()</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(TASK)" >Type <code>TASK</code></a></h2>
<h2><a id="#(list)" >Type <code>list</code></a></h2>
</div>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -17,7 +17,7 @@
<a href="index.html">index</a> <a href="index.html">index</a>
</li></ul> </li></ul>
<ul> <ul>
<li><a href="AIBalancer.html">AIBalancer</a></li> <li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="Account.html">Account</a></li> <li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li> <li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li> <li><a href="AirbasePolice.html">AirbasePolice</a></li>
@ -26,6 +26,7 @@
<li><a href="Cargo.html">Cargo</a></li> <li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</a></li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li> <li><a href="Controllable.html">Controllable</a></li>
<li>DCSAirbase</li> <li>DCSAirbase</li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li> <li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
@ -42,9 +43,9 @@
<li><a href="DCStrigger.html">DCStrigger</a></li> <li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li> <li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li> <li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li> <li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li> <li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li> <li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li> <li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
@ -56,17 +57,16 @@
<li><a href="Patrol.html">Patrol</a></li> <li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li> <li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li> <li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li> <li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li> <li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li> <li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li> <li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li> <li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li> <li><a href="Task.html">Task</a></li>
@ -75,9 +75,11 @@
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li> <li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li> <li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li> <li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li> <li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
@ -380,7 +382,7 @@ Airbase type name.</p>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="Unit.html##(Unit)">Unit#Unit</a>:</em></p> <p><em><a href="Wrapper.Unit.html##(Unit)">Wrapper.Unit#Unit</a>:</em></p>
</dd> </dd>

View File

@ -17,7 +17,7 @@
<a href="index.html">index</a> <a href="index.html">index</a>
</li></ul> </li></ul>
<ul> <ul>
<li><a href="AIBalancer.html">AIBalancer</a></li> <li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="Account.html">Account</a></li> <li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li> <li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li> <li><a href="AirbasePolice.html">AirbasePolice</a></li>
@ -26,6 +26,7 @@
<li><a href="Cargo.html">Cargo</a></li> <li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</a></li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li> <li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li> <li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li>DCSCoalitionObject</li> <li>DCSCoalitionObject</li>
@ -42,9 +43,9 @@
<li><a href="DCStrigger.html">DCStrigger</a></li> <li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li> <li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li> <li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li> <li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li> <li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li> <li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li> <li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
@ -56,17 +57,16 @@
<li><a href="Patrol.html">Patrol</a></li> <li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li> <li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li> <li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li> <li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li> <li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li> <li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li> <li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li> <li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li> <li><a href="Task.html">Task</a></li>
@ -75,9 +75,11 @@
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li> <li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li> <li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li> <li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li> <li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
@ -194,7 +196,7 @@
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="DCSTypes.html##(coalition.side)">DCSTypes#coalition.side</a>:</em></p> <p><em><a href="Dcs.DCSTypes.html##(coalition.side)">Dcs.DCSTypes#coalition.side</a>:</em></p>
</dd> </dd>

View File

@ -17,7 +17,7 @@
<a href="index.html">index</a> <a href="index.html">index</a>
</li></ul> </li></ul>
<ul> <ul>
<li><a href="AIBalancer.html">AIBalancer</a></li> <li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="Account.html">Account</a></li> <li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li> <li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li> <li><a href="AirbasePolice.html">AirbasePolice</a></li>
@ -26,6 +26,7 @@
<li><a href="Cargo.html">Cargo</a></li> <li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</a></li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li> <li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li> <li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li> <li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
@ -42,9 +43,9 @@
<li><a href="DCStrigger.html">DCStrigger</a></li> <li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li> <li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li> <li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li> <li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li> <li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li> <li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li> <li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
@ -56,17 +57,16 @@
<li><a href="Patrol.html">Patrol</a></li> <li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li> <li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li> <li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li> <li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li> <li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li> <li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li> <li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li> <li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li> <li><a href="Task.html">Task</a></li>
@ -75,9 +75,11 @@
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li> <li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li> <li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li> <li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li> <li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">

View File

@ -17,7 +17,7 @@
<a href="index.html">index</a> <a href="index.html">index</a>
</li></ul> </li></ul>
<ul> <ul>
<li><a href="AIBalancer.html">AIBalancer</a></li> <li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="Account.html">Account</a></li> <li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li> <li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li> <li><a href="AirbasePolice.html">AirbasePolice</a></li>
@ -26,6 +26,7 @@
<li><a href="Cargo.html">Cargo</a></li> <li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</a></li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li> <li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li> <li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li> <li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
@ -42,9 +43,9 @@
<li><a href="DCStrigger.html">DCStrigger</a></li> <li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li> <li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li> <li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li> <li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li> <li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li> <li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li> <li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
@ -56,17 +57,16 @@
<li><a href="Patrol.html">Patrol</a></li> <li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li> <li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li> <li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li> <li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li> <li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li> <li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li> <li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li> <li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li> <li><a href="Task.html">Task</a></li>
@ -75,9 +75,11 @@
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li> <li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li> <li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li> <li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li> <li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
@ -344,7 +346,7 @@ Controller.Detection detection1, Controller.Detection detection2, ... Controller
<ul> <ul>
<li> <li>
<p><code><em><a href="Object.html##(Object)">Object#Object</a> target </em></code>: <p><code><em><a href="Wrapper.Object.html##(Object)">Wrapper.Object#Object</a> target </em></code>:
Target to check</p> Target to check</p>
</li> </li>
@ -417,7 +419,7 @@ lastVel Has effect only if visible is false. Last velocity of the target when it
<ul> <ul>
<li> <li>
<p><code><em><a href="Object.html##(Object)">Object#Object</a> object </em></code>: <p><code><em><a href="Wrapper.Object.html##(Object)">Wrapper.Object#Object</a> object </em></code>:
The target.</p> The target.</p>
</li> </li>
@ -681,7 +683,7 @@ Value of the option.</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<em><a href="Object.html##(Object)">Object#Object</a></em> <em><a href="Wrapper.Object.html##(Object)">Wrapper.Object#Object</a></em>
<a id="#(DetectedTarget).object" > <a id="#(DetectedTarget).object" >
<strong>DetectedTarget.object</strong> <strong>DetectedTarget.object</strong>
</a> </a>

View File

@ -17,7 +17,7 @@
<a href="index.html">index</a> <a href="index.html">index</a>
</li></ul> </li></ul>
<ul> <ul>
<li><a href="AIBalancer.html">AIBalancer</a></li> <li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="Account.html">Account</a></li> <li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li> <li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li> <li><a href="AirbasePolice.html">AirbasePolice</a></li>
@ -26,6 +26,7 @@
<li><a href="Cargo.html">Cargo</a></li> <li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</a></li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li> <li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li> <li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li> <li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
@ -42,9 +43,9 @@
<li><a href="DCStrigger.html">DCStrigger</a></li> <li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li> <li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li> <li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li> <li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li> <li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li> <li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li> <li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
@ -56,17 +57,16 @@
<li><a href="Patrol.html">Patrol</a></li> <li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li> <li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li> <li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li> <li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li> <li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li> <li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li> <li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li> <li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li> <li><a href="Task.html">Task</a></li>
@ -75,9 +75,11 @@
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li> <li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li> <li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li> <li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li> <li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
@ -330,7 +332,7 @@
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="DCSCoalitionObject.html##(coalition.side)">DCSCoalitionObject#coalition.side</a>:</em></p> <p><em><a href="Dcs.DCSCoalitionWrapper.Object.html##(coalition.side)">Dcs.DCSCoalitionWrapper.Object#coalition.side</a>:</em></p>
</dd> </dd>
@ -458,7 +460,7 @@
</ul> </ul>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="DCSUnit.html##(Unit)">DCSUnit#Unit</a>:</em></p> <p><em><a href="Dcs.DCSWrapper.Unit.html##(Unit)">Dcs.DCSWrapper.Unit#Unit</a>:</em></p>
</dd> </dd>
@ -480,7 +482,7 @@
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="##(list)">#list</a>:</em> <p><em><a href="##(list)">#list</a>:</em>
DCSUnit#Unit> array of Units</p> Dcs.DCSWrapper.Unit#Unit> array of Units</p>
</dd> </dd>
</dl> </dl>

View File

@ -17,7 +17,7 @@
<a href="index.html">index</a> <a href="index.html">index</a>
</li></ul> </li></ul>
<ul> <ul>
<li><a href="AIBalancer.html">AIBalancer</a></li> <li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="Account.html">Account</a></li> <li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li> <li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li> <li><a href="AirbasePolice.html">AirbasePolice</a></li>
@ -26,6 +26,7 @@
<li><a href="Cargo.html">Cargo</a></li> <li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</a></li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li> <li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li> <li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li> <li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
@ -42,9 +43,9 @@
<li><a href="DCStrigger.html">DCStrigger</a></li> <li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li> <li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li> <li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li> <li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li> <li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li> <li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li> <li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
@ -56,17 +57,16 @@
<li><a href="Patrol.html">Patrol</a></li> <li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li> <li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li> <li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li> <li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li> <li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li> <li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li> <li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li> <li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li> <li><a href="Task.html">Task</a></li>
@ -75,9 +75,11 @@
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li> <li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li> <li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li> <li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li> <li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">

View File

@ -17,7 +17,7 @@
<a href="index.html">index</a> <a href="index.html">index</a>
</li></ul> </li></ul>
<ul> <ul>
<li><a href="AIBalancer.html">AIBalancer</a></li> <li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="Account.html">Account</a></li> <li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li> <li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li> <li><a href="AirbasePolice.html">AirbasePolice</a></li>
@ -26,6 +26,7 @@
<li><a href="Cargo.html">Cargo</a></li> <li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</a></li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li> <li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li> <li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li> <li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
@ -42,9 +43,9 @@
<li><a href="DCStrigger.html">DCStrigger</a></li> <li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li> <li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li> <li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li> <li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li> <li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li> <li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li> <li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
@ -56,17 +57,16 @@
<li><a href="Patrol.html">Patrol</a></li> <li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li> <li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li> <li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li> <li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li> <li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li> <li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li> <li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li> <li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li> <li><a href="Task.html">Task</a></li>
@ -75,9 +75,11 @@
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li> <li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li> <li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li> <li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li> <li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">

View File

@ -17,7 +17,7 @@
<a href="index.html">index</a> <a href="index.html">index</a>
</li></ul> </li></ul>
<ul> <ul>
<li><a href="AIBalancer.html">AIBalancer</a></li> <li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="Account.html">Account</a></li> <li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li> <li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li> <li><a href="AirbasePolice.html">AirbasePolice</a></li>
@ -26,6 +26,7 @@
<li><a href="Cargo.html">Cargo</a></li> <li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</a></li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li> <li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li> <li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li> <li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
@ -42,9 +43,9 @@
<li><a href="DCStrigger.html">DCStrigger</a></li> <li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li> <li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li> <li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li> <li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li> <li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li> <li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li> <li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
@ -56,17 +57,16 @@
<li><a href="Patrol.html">Patrol</a></li> <li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li> <li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li> <li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li> <li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li> <li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li> <li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li> <li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li> <li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li> <li><a href="Task.html">Task</a></li>
@ -75,9 +75,11 @@
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li> <li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li> <li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li> <li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li> <li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">

View File

@ -17,7 +17,7 @@
<a href="index.html">index</a> <a href="index.html">index</a>
</li></ul> </li></ul>
<ul> <ul>
<li><a href="AIBalancer.html">AIBalancer</a></li> <li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="Account.html">Account</a></li> <li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li> <li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li> <li><a href="AirbasePolice.html">AirbasePolice</a></li>
@ -26,6 +26,7 @@
<li><a href="Cargo.html">Cargo</a></li> <li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</a></li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li> <li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li> <li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li> <li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
@ -42,9 +43,9 @@
<li><a href="DCStrigger.html">DCStrigger</a></li> <li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li> <li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li> <li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li> <li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li> <li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li> <li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li> <li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
@ -56,17 +57,16 @@
<li><a href="Patrol.html">Patrol</a></li> <li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li> <li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li> <li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li> <li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li> <li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li> <li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li> <li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li> <li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li> <li><a href="Task.html">Task</a></li>
@ -75,9 +75,11 @@
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li> <li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li> <li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li> <li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li> <li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
@ -202,24 +204,6 @@
<td class="name" nowrap="nowrap"><a href="##(Unit).SensorType">Unit.SensorType</a></td> <td class="name" nowrap="nowrap"><a href="##(Unit).SensorType">Unit.SensorType</a></td>
<td class="summary"> <td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(Unit).detectionDistanceAfterburner">Unit.detectionDistanceAfterburner</a></td>
<td class="summary">
<p>..., engines are in afterburner mode</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(Unit).detectionDistanceIdle">Unit.detectionDistanceIdle</a></td>
<td class="summary">
<p>detection of tail-on target with heat signature = 1 in upper hemisphere, engines are in idle</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(Unit).detectionDistanceMaximal">Unit.detectionDistanceMaximal</a></td>
<td class="summary">
<p>..., engines are in maximal mode</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -655,6 +639,28 @@ First value indicates if at least one of the unit's radar(s) is on.</p>
<td class="name" nowrap="nowrap"><a href="##(Unit.SensorType).RWR">Unit.SensorType.RWR</a></td> <td class="name" nowrap="nowrap"><a href="##(Unit.SensorType).RWR">Unit.SensorType.RWR</a></td>
<td class="summary"> <td class="summary">
</td>
</tr>
</table>
<h2><a id="#(Wrapper.Unit)">Type <code>Wrapper.Unit</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(Wrapper.Unit).detectionDistanceAfterburner">Wrapper.Unit.detectionDistanceAfterburner</a></td>
<td class="summary">
<p>..., engines are in afterburner mode</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(Wrapper.Unit).detectionDistanceIdle">Wrapper.Unit.detectionDistanceIdle</a></td>
<td class="summary">
<p>detection of tail-on target with heat signature = 1 in upper hemisphere, engines are in idle</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(Wrapper.Unit).detectionDistanceMaximal">Wrapper.Unit.detectionDistanceMaximal</a></td>
<td class="summary">
<p>..., engines are in maximal mode</p>
</td> </td>
</tr> </tr>
</table> </table>
@ -687,9 +693,6 @@ First value indicates if at least one of the unit's radar(s) is on.</p>
<h2><a id="#(TypeName)" >Type <code>TypeName</code></a></h2> <h2><a id="#(TypeName)" >Type <code>TypeName</code></a></h2>
<h2><a id="#(Unit)" >Type <code>Unit</code></a></h2> <h2><a id="#(Unit)" >Type <code>Unit</code></a></h2>
<p>An IRST.</p>
<h3>Field(s)</h3> <h3>Field(s)</h3>
<dl class="function"> <dl class="function">
<dt> <dt>
@ -940,48 +943,6 @@ First value indicates if at least one of the unit's radar(s) is on.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(Distance)">#Distance</a></em>
<a id="#(Unit).detectionDistanceAfterburner" >
<strong>Unit.detectionDistanceAfterburner</strong>
</a>
</dt>
<dd>
<p>..., engines are in afterburner mode</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(Distance)">#Distance</a></em>
<a id="#(Unit).detectionDistanceIdle" >
<strong>Unit.detectionDistanceIdle</strong>
</a>
</dt>
<dd>
<p>detection of tail-on target with heat signature = 1 in upper hemisphere, engines are in idle</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(Distance)">#Distance</a></em>
<a id="#(Unit).detectionDistanceMaximal" >
<strong>Unit.detectionDistanceMaximal</strong>
</a>
</dt>
<dd>
<p>..., engines are in maximal mode</p>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">
@ -1122,7 +1083,7 @@ First value indicates if at least one of the unit's radar(s) is on.</p>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="DCSGroup.html##(Group)">DCSGroup#Group</a>:</em></p> <p><em><a href="Dcs.DCSWrapper.Group.html##(Group)">Dcs.DCSWrapper.Group#Group</a>:</em></p>
</dd> </dd>
@ -1240,7 +1201,7 @@ First value indicates if at least one of the unit's radar(s) is on.</p>
<h3>Return value</h3> <h3>Return value</h3>
<p><em>#boolean, <a href="Object.html##(Object)">Object#Object</a>:</em></p> <p><em>#boolean, <a href="Wrapper.Object.html##(Object)">Wrapper.Object#Object</a>:</em></p>
</dd> </dd>
@ -2054,6 +2015,54 @@ If sensor type is not specified the function returns true if the unit has at lea
<h2><a id="#(Weapon.Desc)" >Type <code>Weapon.Desc</code></a></h2> <h2><a id="#(Weapon.Desc)" >Type <code>Weapon.Desc</code></a></h2>
<h2><a id="#(Wrapper.Unit)" >Type <code>Wrapper.Unit</code></a></h2>
<p>An IRST.</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em><a href="##(Distance)">#Distance</a></em>
<a id="#(Wrapper.Unit).detectionDistanceAfterburner" >
<strong>Wrapper.Unit.detectionDistanceAfterburner</strong>
</a>
</dt>
<dd>
<p>..., engines are in afterburner mode</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(Distance)">#Distance</a></em>
<a id="#(Wrapper.Unit).detectionDistanceIdle" >
<strong>Wrapper.Unit.detectionDistanceIdle</strong>
</a>
</dt>
<dd>
<p>detection of tail-on target with heat signature = 1 in upper hemisphere, engines are in idle</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(Distance)">#Distance</a></em>
<a id="#(Wrapper.Unit).detectionDistanceMaximal" >
<strong>Wrapper.Unit.detectionDistanceMaximal</strong>
</a>
</dt>
<dd>
<p>..., engines are in maximal mode</p>
</dd>
</dl>
<h2><a id="#(list)" >Type <code>list</code></a></h2> <h2><a id="#(list)" >Type <code>list</code></a></h2>
</div> </div>

View File

@ -17,7 +17,7 @@
<a href="index.html">index</a> <a href="index.html">index</a>
</li></ul> </li></ul>
<ul> <ul>
<li><a href="AIBalancer.html">AIBalancer</a></li> <li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="Account.html">Account</a></li> <li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li> <li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li> <li><a href="AirbasePolice.html">AirbasePolice</a></li>
@ -26,6 +26,7 @@
<li><a href="Cargo.html">Cargo</a></li> <li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</a></li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li> <li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li> <li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li> <li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
@ -42,9 +43,9 @@
<li><a href="DCStrigger.html">DCStrigger</a></li> <li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li> <li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li> <li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li> <li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li> <li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li> <li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li> <li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
@ -56,17 +57,16 @@
<li><a href="Patrol.html">Patrol</a></li> <li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li> <li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li> <li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li> <li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li> <li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li> <li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li> <li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li> <li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li> <li><a href="Task.html">Task</a></li>
@ -75,9 +75,11 @@
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li> <li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li> <li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li> <li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li> <li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">

View File

@ -17,7 +17,7 @@
<a href="index.html">index</a> <a href="index.html">index</a>
</li></ul> </li></ul>
<ul> <ul>
<li><a href="AIBalancer.html">AIBalancer</a></li> <li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="Account.html">Account</a></li> <li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li> <li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li> <li><a href="AirbasePolice.html">AirbasePolice</a></li>
@ -26,6 +26,7 @@
<li><a href="Cargo.html">Cargo</a></li> <li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</a></li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li> <li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li> <li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li> <li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
@ -42,9 +43,9 @@
<li><a href="DCStrigger.html">DCStrigger</a></li> <li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li> <li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li> <li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li> <li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li> <li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li> <li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li> <li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
@ -56,17 +57,16 @@
<li><a href="Patrol.html">Patrol</a></li> <li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li> <li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li> <li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li> <li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li> <li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li> <li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li> <li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li> <li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li> <li><a href="Task.html">Task</a></li>
@ -75,9 +75,11 @@
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li> <li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li> <li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li> <li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li> <li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">

View File

@ -17,7 +17,7 @@
<a href="index.html">index</a> <a href="index.html">index</a>
</li></ul> </li></ul>
<ul> <ul>
<li><a href="AIBalancer.html">AIBalancer</a></li> <li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="Account.html">Account</a></li> <li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li> <li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li> <li><a href="AirbasePolice.html">AirbasePolice</a></li>
@ -26,6 +26,7 @@
<li><a href="Cargo.html">Cargo</a></li> <li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</a></li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li> <li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li> <li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li> <li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
@ -42,9 +43,9 @@
<li><a href="DCStrigger.html">DCStrigger</a></li> <li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li> <li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li> <li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li> <li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li> <li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li> <li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li> <li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
@ -56,17 +57,16 @@
<li><a href="Patrol.html">Patrol</a></li> <li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li> <li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li> <li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li> <li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li> <li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li> <li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li> <li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li> <li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li> <li><a href="Task.html">Task</a></li>
@ -75,9 +75,11 @@
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li> <li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li> <li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li> <li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li> <li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">

View File

@ -17,7 +17,7 @@
<a href="index.html">index</a> <a href="index.html">index</a>
</li></ul> </li></ul>
<ul> <ul>
<li><a href="AIBalancer.html">AIBalancer</a></li> <li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="Account.html">Account</a></li> <li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li> <li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li> <li><a href="AirbasePolice.html">AirbasePolice</a></li>
@ -26,6 +26,7 @@
<li><a href="Cargo.html">Cargo</a></li> <li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</a></li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li> <li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li> <li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li> <li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
@ -42,9 +43,9 @@
<li>DCStrigger</li> <li>DCStrigger</li>
<li><a href="Database.html">Database</a></li> <li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li> <li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li> <li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li> <li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li> <li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li> <li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
@ -56,17 +57,16 @@
<li><a href="Patrol.html">Patrol</a></li> <li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li> <li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li> <li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li> <li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li> <li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li> <li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li> <li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li> <li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li> <li><a href="Task.html">Task</a></li>
@ -75,9 +75,11 @@
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li> <li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li> <li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li> <li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li> <li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">

View File

@ -17,7 +17,7 @@
<a href="index.html">index</a> <a href="index.html">index</a>
</li></ul> </li></ul>
<ul> <ul>
<li><a href="AIBalancer.html">AIBalancer</a></li> <li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="Account.html">Account</a></li> <li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li> <li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li> <li><a href="AirbasePolice.html">AirbasePolice</a></li>
@ -26,6 +26,7 @@
<li><a href="Cargo.html">Cargo</a></li> <li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</a></li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li> <li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li> <li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li> <li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
@ -42,9 +43,9 @@
<li><a href="DCStrigger.html">DCStrigger</a></li> <li><a href="DCStrigger.html">DCStrigger</a></li>
<li>Database</li> <li>Database</li>
<li><a href="Detection.html">Detection</a></li> <li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li> <li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li> <li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li> <li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li> <li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
@ -56,17 +57,16 @@
<li><a href="Patrol.html">Patrol</a></li> <li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li> <li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li> <li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li> <li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li> <li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li> <li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li> <li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li> <li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li> <li><a href="Task.html">Task</a></li>
@ -75,9 +75,11 @@
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li> <li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li> <li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li> <li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li> <li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
@ -89,7 +91,7 @@
<hr/> <hr/>
<h1>1) <a href="Database.html##(DATABASE)">Database#DATABASE</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1> <h1>1) <a href="Core.Database.html##(DATABASE)">Core.Database#DATABASE</a> class, extends <a href="Core.Base.html##(BASE)">Core.Base#BASE</a></h1>
<p>Mission designers can use the DATABASE class to refer to:</p> <p>Mission designers can use the DATABASE class to refer to:</p>
<ul> <ul>
@ -760,7 +762,7 @@ The following iterator methods are currently available within the DATABASE:</p>
</ul> </ul>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="Airbase.html##(AIRBASE)">Airbase#AIRBASE</a>:</em> <p><em><a href="Wrapper.Airbase.html##(AIRBASE)">Wrapper.Airbase#AIRBASE</a>:</em>
The found AIRBASE.</p> The found AIRBASE.</p>
</dd> </dd>
@ -786,7 +788,7 @@ The found AIRBASE.</p>
</ul> </ul>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="Client.html##(CLIENT)">Client#CLIENT</a>:</em> <p><em><a href="Wrapper.Client.html##(CLIENT)">Wrapper.Client#CLIENT</a>:</em>
The found CLIENT.</p> The found CLIENT.</p>
</dd> </dd>
@ -812,7 +814,7 @@ The found CLIENT.</p>
</ul> </ul>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="Group.html##(GROUP)">Group#GROUP</a>:</em> <p><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a>:</em>
The found GROUP.</p> The found GROUP.</p>
</dd> </dd>
@ -838,7 +840,7 @@ The found GROUP.</p>
</ul> </ul>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="Static.html##(STATIC)">Static#STATIC</a>:</em> <p><em><a href="Wrapper.Static.html##(STATIC)">Wrapper.Static#STATIC</a>:</em>
The found STATIC.</p> The found STATIC.</p>
</dd> </dd>
@ -864,7 +866,7 @@ The found STATIC.</p>
</ul> </ul>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="Unit.html##(UNIT)">Unit#UNIT</a>:</em> <p><em><a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a>:</em>
The found Unit.</p> The found Unit.</p>
</dd> </dd>
@ -1457,7 +1459,7 @@ self</p>
<ul> <ul>
<li> <li>
<p><code><em><a href="Event.html##(EVENTDATA)">Event#EVENTDATA</a> Event </em></code>: </p> <p><code><em><a href="Core.Event.html##(EVENTDATA)">Core.Event#EVENTDATA</a> Event </em></code>: </p>
</li> </li>
</ul> </ul>
@ -1478,7 +1480,7 @@ self</p>
<ul> <ul>
<li> <li>
<p><code><em><a href="Event.html##(EVENTDATA)">Event#EVENTDATA</a> Event </em></code>: </p> <p><code><em><a href="Core.Event.html##(EVENTDATA)">Core.Event#EVENTDATA</a> Event </em></code>: </p>
</li> </li>
</ul> </ul>
@ -1499,7 +1501,7 @@ self</p>
<ul> <ul>
<li> <li>
<p><code><em><a href="Event.html##(EVENTDATA)">Event#EVENTDATA</a> Event </em></code>: </p> <p><code><em><a href="Core.Event.html##(EVENTDATA)">Core.Event#EVENTDATA</a> Event </em></code>: </p>
</li> </li>
</ul> </ul>
@ -1520,7 +1522,7 @@ self</p>
<ul> <ul>
<li> <li>
<p><code><em><a href="Event.html##(EVENTDATA)">Event#EVENTDATA</a> Event </em></code>: </p> <p><code><em><a href="Core.Event.html##(EVENTDATA)">Core.Event#EVENTDATA</a> Event </em></code>: </p>
</li> </li>
</ul> </ul>

View File

@ -17,7 +17,7 @@
<a href="index.html">index</a> <a href="index.html">index</a>
</li></ul> </li></ul>
<ul> <ul>
<li><a href="AIBalancer.html">AIBalancer</a></li> <li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="Account.html">Account</a></li> <li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li> <li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li> <li><a href="AirbasePolice.html">AirbasePolice</a></li>
@ -26,6 +26,7 @@
<li><a href="Cargo.html">Cargo</a></li> <li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</a></li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li> <li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li> <li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li> <li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
@ -42,9 +43,9 @@
<li><a href="DCStrigger.html">DCStrigger</a></li> <li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li> <li><a href="Database.html">Database</a></li>
<li>Detection</li> <li>Detection</li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li> <li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li> <li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Group.html">Group</a></li> <li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li> <li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
@ -56,17 +57,16 @@
<li><a href="Patrol.html">Patrol</a></li> <li><a href="Patrol.html">Patrol</a></li>
<li><a href="Point.html">Point</a></li> <li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li> <li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li> <li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li> <li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="Route.html">Route</a></li> <li><a href="Route.html">Route</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li> <li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li> <li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li> <li><a href="Task.html">Task</a></li>
@ -75,9 +75,11 @@
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li> <li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li> <li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li> <li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li> <li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
@ -88,12 +90,12 @@
<h1> </h1> <h1> </h1>
<h1> 1) <a href="Detection.html##(DETECTION_BASE)">Detection#DETECTION_BASE</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1> <h1> 1) <a href="Functional.Detection.html##(DETECTION_BASE)">Functional.Detection#DETECTION_BASE</a> class, extends <a href="Core.Base.html##(BASE)">Core.Base#BASE</a></h1>
<p> The <a href="Detection.html##(DETECTION_BASE)">Detection#DETECTION_BASE</a> class defines the core functions to administer detected objects. <p> The <a href="Functional.Detection.html##(DETECTION_BASE)">Functional.Detection#DETECTION_BASE</a> class defines the core functions to administer detected objects.
The <a href="Detection.html##(DETECTION_BASE)">Detection#DETECTION_BASE</a> class will detect objects within the battle zone for a list of <a href="Group.html">Group</a>s detecting targets following (a) detection method(s).</p> The <a href="Functional.Detection.html##(DETECTION_BASE)">Functional.Detection#DETECTION_BASE</a> class will detect objects within the battle zone for a list of <a href="Group.html">Group</a>s detecting targets following (a) detection method(s).</p>
<h2> 1.1) DETECTION_BASE constructor</h2> <h2> 1.1) DETECTION_BASE constructor</h2>
<p> Construct a new DETECTION_BASE instance using the <a href="Detection.html##(DETECTION_BASE).New">Detection#DETECTION_BASE.New</a>() method.</p> <p> Construct a new DETECTION_BASE instance using the <a href="Functional.Detection.html##(DETECTION_BASE).New">Functional.Detection#DETECTION_BASE.New</a>() method.</p>
<h2> 1.2) DETECTION_BASE initialization</h2> <h2> 1.2) DETECTION_BASE initialization</h2>
<p> By default, detection will return detected objects with all the detection sensors available. <p> By default, detection will return detected objects with all the detection sensors available.
@ -104,42 +106,42 @@
<p> Use the following functions to report the objects it detected using the methods Visual, Optical, Radar, IRST, RWR, DLINK:</p> <p> Use the following functions to report the objects it detected using the methods Visual, Optical, Radar, IRST, RWR, DLINK:</p>
<ul> <ul>
<li><a href="Detection.html##(DETECTION_BASE).InitDetectVisual">Detection#DETECTION_BASE.InitDetectVisual</a>(): Detected using Visual.</li> <li><a href="Functional.Detection.html##(DETECTION_BASE).InitDetectVisual">Functional.Detection#DETECTION_BASE.InitDetectVisual</a>(): Detected using Visual.</li>
<li><a href="Detection.html##(DETECTION_BASE).InitDetectOptical">Detection#DETECTION_BASE.InitDetectOptical</a>(): Detected using Optical.</li> <li><a href="Functional.Detection.html##(DETECTION_BASE).InitDetectOptical">Functional.Detection#DETECTION_BASE.InitDetectOptical</a>(): Detected using Optical.</li>
<li><a href="Detection.html##(DETECTION_BASE).InitDetectRadar">Detection#DETECTION_BASE.InitDetectRadar</a>(): Detected using Radar.</li> <li><a href="Functional.Detection.html##(DETECTION_BASE).InitDetectRadar">Functional.Detection#DETECTION_BASE.InitDetectRadar</a>(): Detected using Radar.</li>
<li><a href="Detection.html##(DETECTION_BASE).InitDetectIRST">Detection#DETECTION_BASE.InitDetectIRST</a>(): Detected using IRST.</li> <li><a href="Functional.Detection.html##(DETECTION_BASE).InitDetectIRST">Functional.Detection#DETECTION_BASE.InitDetectIRST</a>(): Detected using IRST.</li>
<li><a href="Detection.html##(DETECTION_BASE).InitDetectRWR">Detection#DETECTION_BASE.InitDetectRWR</a>(): Detected using RWR.</li> <li><a href="Functional.Detection.html##(DETECTION_BASE).InitDetectRWR">Functional.Detection#DETECTION_BASE.InitDetectRWR</a>(): Detected using RWR.</li>
<li><a href="Detection.html##(DETECTION_BASE).InitDetectDLINK">Detection#DETECTION_BASE.InitDetectDLINK</a>(): Detected using DLINK.</li> <li><a href="Functional.Detection.html##(DETECTION_BASE).InitDetectDLINK">Functional.Detection#DETECTION_BASE.InitDetectDLINK</a>(): Detected using DLINK.</li>
</ul> </ul>
<h2> 1.3) Obtain objects detected by DETECTION_BASE</h2> <h2> 1.3) Obtain objects detected by DETECTION_BASE</h2>
<p> DETECTION_BASE builds <a href="Set.html">Set</a>s of objects detected. These <a href="Set.html##(SET_BASE)">Set#SET_BASE</a>s can be retrieved using the method <a href="Detection.html##(DETECTION_BASE).GetDetectedSets">Detection#DETECTION_BASE.GetDetectedSets</a>(). <p> DETECTION_BASE builds <a href="Set.html">Set</a>s of objects detected. These <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a>s can be retrieved using the method <a href="Functional.Detection.html##(DETECTION_BASE).GetDetectedSets">Functional.Detection#DETECTION_BASE.GetDetectedSets</a>().
The method will return a list (table) of <a href="Set.html##(SET_BASE)">Set#SET_BASE</a> objects.</p> The method will return a list (table) of <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a> objects.</p>
<hr/> <hr/>
<h1> 2) <a href="Detection.html##(DETECTION_AREAS)">Detection#DETECTION_AREAS</a> class, extends <a href="Detection.html##(DETECTION_BASE)">Detection#DETECTION_BASE</a></h1> <h1> 2) <a href="Functional.Detection.html##(DETECTION_AREAS)">Functional.Detection#DETECTION_AREAS</a> class, extends <a href="Functional.Detection.html##(DETECTION_BASE)">Functional.Detection#DETECTION_BASE</a></h1>
<p> The <a href="Detection.html##(DETECTION_AREAS)">Detection#DETECTION_AREAS</a> class will detect units within the battle zone for a list of <a href="Group.html">Group</a>s detecting targets following (a) detection method(s), <p> The <a href="Functional.Detection.html##(DETECTION_AREAS)">Functional.Detection#DETECTION_AREAS</a> class will detect units within the battle zone for a list of <a href="Group.html">Group</a>s detecting targets following (a) detection method(s),
and will build a list (table) of <a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a>s containing the <a href="Unit.html##(UNIT)">Unit#UNIT</a>s detected. and will build a list (table) of <a href="Core.Set.html##(SET_UNIT)">Core.Set#SET_UNIT</a>s containing the <a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a>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.</p> A set with multiple detected zones will be created as there are groups of units detected.</p>
<h2> 2.1) Retrieve the Detected Unit sets and Detected Zones</h2> <h2> 2.1) Retrieve the Detected Unit sets and Detected Zones</h2>
<p> The DetectedUnitSets methods are implemented in <a href="Detection.html##(DECTECTION_BASE)">Detection#DECTECTION_BASE</a> and the DetectedZones methods is implemented in <a href="Detection.html##(DETECTION_AREAS)">Detection#DETECTION_AREAS</a>.</p> <p> The DetectedUnitSets methods are implemented in <a href="Functional.Detection.html##(DECTECTION_BASE)">Functional.Detection#DECTECTION_BASE</a> and the DetectedZones methods is implemented in <a href="Functional.Detection.html##(DETECTION_AREAS)">Functional.Detection#DETECTION_AREAS</a>.</p>
<p> Retrieve the DetectedUnitSets with the method <a href="Detection.html##(DETECTION_BASE).GetDetectedSets">Detection#DETECTION_BASE.GetDetectedSets</a>(). A table will be return of <a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a>s. <p> Retrieve the DetectedUnitSets with the method <a href="Functional.Detection.html##(DETECTION_BASE).GetDetectedSets">Functional.Detection#DETECTION_BASE.GetDetectedSets</a>(). A table will be return of <a href="Core.Set.html##(SET_UNIT)">Core.Set#SET_UNIT</a>s.
To understand the amount of sets created, use the method <a href="Detection.html##(DETECTION_BASE).GetDetectedSetCount">Detection#DETECTION_BASE.GetDetectedSetCount</a>(). To understand the amount of sets created, use the method <a href="Functional.Detection.html##(DETECTION_BASE).GetDetectedSetCount">Functional.Detection#DETECTION_BASE.GetDetectedSetCount</a>().
If you want to obtain a specific set from the DetectedSets, use the method <a href="Detection.html##(DETECTION_BASE).GetDetectedSet">Detection#DETECTION_BASE.GetDetectedSet</a>() with a given index.</p> If you want to obtain a specific set from the DetectedSets, use the method <a href="Functional.Detection.html##(DETECTION_BASE).GetDetectedSet">Functional.Detection#DETECTION_BASE.GetDetectedSet</a>() with a given index.</p>
<p> Retrieve the formed <a href="Zone.html">Zone</a>s as a result of the grouping the detected units within the DetectionZoneRange, use the method <a href="Detection.html##(DETECTION_BASE).GetDetectionZones">Detection#DETECTION_BASE.GetDetectionZones</a>(). <p> Retrieve the formed <a href="Zone.html">Zone</a>s as a result of the grouping the detected units within the DetectionZoneRange, use the method <a href="Functional.Detection.html##(DETECTION_BASE).GetDetectionZones">Functional.Detection#DETECTION_BASE.GetDetectionZones</a>().
To understand the amount of zones created, use the method <a href="Detection.html##(DETECTION_BASE).GetDetectionZoneCount">Detection#DETECTION_BASE.GetDetectionZoneCount</a>(). To understand the amount of zones created, use the method <a href="Functional.Detection.html##(DETECTION_BASE).GetDetectionZoneCount">Functional.Detection#DETECTION_BASE.GetDetectionZoneCount</a>().
If you want to obtain a specific zone from the DetectedZones, use the method <a href="Detection.html##(DETECTION_BASE).GetDetectionZone">Detection#DETECTION_BASE.GetDetectionZone</a>() with a given index.</p> If you want to obtain a specific zone from the DetectedZones, use the method <a href="Functional.Detection.html##(DETECTION_BASE).GetDetectionZone">Functional.Detection#DETECTION_BASE.GetDetectionZone</a>() with a given index.</p>
<h2> 1.4) Flare or Smoke detected units</h2> <h2> 1.4) Flare or Smoke detected units</h2>
<p> Use the methods <a href="Detection.html##(DETECTION_AREAS).FlareDetectedUnits">Detection#DETECTION_AREAS.FlareDetectedUnits</a>() or <a href="Detection.html##(DETECTION_AREAS).SmokeDetectedUnits">Detection#DETECTION_AREAS.SmokeDetectedUnits</a>() to flare or smoke the detected units when a new detection has taken place.</p> <p> Use the methods <a href="Functional.Detection.html##(DETECTION_AREAS).FlareDetectedUnits">Functional.Detection#DETECTION_AREAS.FlareDetectedUnits</a>() or <a href="Functional.Detection.html##(DETECTION_AREAS).SmokeDetectedUnits">Functional.Detection#DETECTION_AREAS.SmokeDetectedUnits</a>() to flare or smoke the detected units when a new detection has taken place.</p>
<h2> 1.5) Flare or Smoke detected zones</h2> <h2> 1.5) Flare or Smoke detected zones</h2>
<p> Use the methods <a href="Detection.html##(DETECTION_AREAS).FlareDetectedZones">Detection#DETECTION_AREAS.FlareDetectedZones</a>() or <a href="Detection.html##(DETECTION_AREAS).SmokeDetectedZones">Detection#DETECTION_AREAS.SmokeDetectedZones</a>() to flare or smoke the detected zones when a new detection has taken place.</p> <p> Use the methods <a href="Functional.Detection.html##(DETECTION_AREAS).FlareDetectedZones">Functional.Detection#DETECTION_AREAS.FlareDetectedZones</a>() or <a href="Functional.Detection.html##(DETECTION_AREAS).SmokeDetectedZones">Functional.Detection#DETECTION_AREAS.SmokeDetectedZones</a>() to flare or smoke the detected zones when a new detection has taken place.</p>
<hr/> <hr/>
@ -260,13 +262,13 @@
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_AREAS).GetDetectedSet">DETECTION_AREAS:GetDetectedSet(Index)</a></td> <td class="name" nowrap="nowrap"><a href="##(DETECTION_AREAS).GetDetectedSet">DETECTION_AREAS:GetDetectedSet(Index)</a></td>
<td class="summary"> <td class="summary">
<p>Get the <a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a> of a detecttion area using a given numeric index.</p> <p>Get the <a href="Core.Set.html##(SET_UNIT)">Core.Set#SET_UNIT</a> of a detecttion area using a given numeric index.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_AREAS).GetDetectedZone">DETECTION_AREAS:GetDetectedZone(Index)</a></td> <td class="name" nowrap="nowrap"><a href="##(DETECTION_AREAS).GetDetectedZone">DETECTION_AREAS:GetDetectedZone(Index)</a></td>
<td class="summary"> <td class="summary">
<p>Get the <a href="Zone.html##(ZONE_UNIT)">Zone#ZONE_UNIT</a> of a detection area using a given numeric index.</p> <p>Get the <a href="Core.Zone.html##(ZONE_UNIT)">Core.Zone#ZONE_UNIT</a> of a detection area using a given numeric index.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -502,7 +504,7 @@
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).GetDetectedSets">DETECTION_BASE:GetDetectedSets()</a></td> <td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).GetDetectedSets">DETECTION_BASE:GetDetectedSets()</a></td>
<td class="summary"> <td class="summary">
<p>Get the detected <a href="Set.html##(SET_BASE)">Set#SET_BASE</a>s.</p> <p>Get the detected <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a>s.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -598,7 +600,7 @@
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE)._DetectionScheduler">DETECTION_BASE:_DetectionScheduler(SchedulerName)</a></td> <td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE)._DetectionScheduler">DETECTION_BASE:_DetectionScheduler(SchedulerName)</a></td>
<td class="summary"> <td class="summary">
<p>Form <a href="Set.html">Set</a>s of detected <a href="Unit.html##(UNIT)">Unit#UNIT</a>s in an array of <a href="Set.html##(SET_BASE)">Set#SET_BASE</a>s.</p> <p>Form <a href="Set.html">Set</a>s of detected <a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a>s in an array of <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a>s.</p>
</td> </td>
</tr> </tr>
</table> </table>
@ -786,13 +788,13 @@ self</p>
<ul> <ul>
<li> <li>
<p><code><em><a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a> Set </em></code>: <p><code><em><a href="Core.Set.html##(SET_UNIT)">Core.Set#SET_UNIT</a> Set </em></code>:
-- The Set of Units in the detected area.</p> -- The Set of Units in the detected area.</p>
</li> </li>
<li> <li>
<p><code><em><a href="Zone.html##(ZONE_UNIT)">Zone#ZONE_UNIT</a> Zone </em></code>: <p><code><em><a href="Core.Zone.html##(ZONE_UNIT)">Core.Zone#ZONE_UNIT</a> Zone </em></code>:
-- The Zone of the detected area.</p> -- The Zone of the detected area.</p>
</li> </li>
@ -882,7 +884,7 @@ self</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<em><a href="DCSTypes.html##(Distance)">DCSTypes#Distance</a></em> <em><a href="Dcs.DCSTypes.html##(Distance)">Dcs.DCSTypes#Distance</a></em>
<a id="#(DETECTION_AREAS).DetectionZoneRange" > <a id="#(DETECTION_AREAS).DetectionZoneRange" >
<strong>DETECTION_AREAS.DetectionZoneRange</strong> <strong>DETECTION_AREAS.DetectionZoneRange</strong>
</a> </a>
@ -1000,7 +1002,7 @@ DetectedAreas</p>
</dt> </dt>
<dd> <dd>
<p>Get the <a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a> of a detecttion area using a given numeric index.</p> <p>Get the <a href="Core.Set.html##(SET_UNIT)">Core.Set#SET_UNIT</a> of a detecttion area using a given numeric index.</p>
<h3>Parameter</h3> <h3>Parameter</h3>
<ul> <ul>
@ -1012,7 +1014,7 @@ DetectedAreas</p>
</ul> </ul>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a>:</em> <p><em><a href="Core.Set.html##(SET_UNIT)">Core.Set#SET_UNIT</a>:</em>
DetectedSet</p> DetectedSet</p>
</dd> </dd>
@ -1026,7 +1028,7 @@ DetectedSet</p>
</dt> </dt>
<dd> <dd>
<p>Get the <a href="Zone.html##(ZONE_UNIT)">Zone#ZONE_UNIT</a> of a detection area using a given numeric index.</p> <p>Get the <a href="Core.Zone.html##(ZONE_UNIT)">Core.Zone#ZONE_UNIT</a> of a detection area using a given numeric index.</p>
<h3>Parameter</h3> <h3>Parameter</h3>
<ul> <ul>
@ -1038,7 +1040,7 @@ DetectedSet</p>
</ul> </ul>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="Zone.html##(ZONE_UNIT)">Zone#ZONE_UNIT</a>:</em> <p><em><a href="Core.Zone.html##(ZONE_UNIT)">Core.Zone#ZONE_UNIT</a>:</em>
DetectedZone</p> DetectedZone</p>
</dd> </dd>
@ -1116,7 +1118,7 @@ trhe if there are friendlies nearby </p>
</ul> </ul>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="Unit.html##(UNIT)">Unit#UNIT</a>:</em> <p><em><a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a>:</em>
The nearest FAC unit</p> The nearest FAC unit</p>
</dd> </dd>
@ -1136,26 +1138,26 @@ The nearest FAC unit</p>
<ul> <ul>
<li> <li>
<p><code><em><a href="Set.html##(SET_GROUP)">Set#SET_GROUP</a> DetectionSetGroup </em></code>: <p><code><em><a href="Core.Set.html##(SET_GROUP)">Core.Set#SET_GROUP</a> DetectionSetGroup </em></code>:
The <a href="Set.html">Set</a> of GROUPs in the Forward Air Controller role.</p> The <a href="Set.html">Set</a> of GROUPs in the Forward Air Controller role.</p>
</li> </li>
<li> <li>
<p><code><em><a href="DCSTypes.html##(Distance)">DCSTypes#Distance</a> DetectionRange </em></code>: <p><code><em><a href="Dcs.DCSTypes.html##(Distance)">Dcs.DCSTypes#Distance</a> DetectionRange </em></code>:
The range till which targets are accepted to be detected.</p> The range till which targets are accepted to be detected.</p>
</li> </li>
<li> <li>
<p><code><em><a href="DCSTypes.html##(Distance)">DCSTypes#Distance</a> DetectionZoneRange </em></code>: <p><code><em><a href="Dcs.DCSTypes.html##(Distance)">Dcs.DCSTypes#Distance</a> DetectionZoneRange </em></code>:
The range till which targets are grouped upon the first detected target.</p> The range till which targets are grouped upon the first detected target.</p>
</li> </li>
</ul> </ul>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="Detection.html##(DETECTION_AREAS)">Detection#DETECTION_AREAS</a>:</em> <p><em><a href="Functional.Detection.html##(DETECTION_AREAS)">Functional.Detection#DETECTION_AREAS</a>:</em>
self</p> self</p>
</dd> </dd>
@ -1202,7 +1204,7 @@ The Index of the detection are to be removed.</p>
<ul> <ul>
<li> <li>
<p><code><em><a href="Unit.html##(UNIT)">Unit#UNIT</a> ReportUnit </em></code>: </p> <p><code><em><a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a> ReportUnit </em></code>: </p>
</li> </li>
<li> <li>
@ -1381,7 +1383,7 @@ self</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<em><a href="Unit.html##(UNIT)">Unit#UNIT</a></em> <em><a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a></em>
<a id="#(DETECTION_AREAS.DetectedArea).NearestFAC" > <a id="#(DETECTION_AREAS.DetectedArea).NearestFAC" >
<strong>DETECTION_AREAS.DetectedArea.NearestFAC</strong> <strong>DETECTION_AREAS.DetectedArea.NearestFAC</strong>
</a> </a>
@ -1395,7 +1397,7 @@ self</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<em><a href="Set.html##(SET_UNIT)">Set#SET_UNIT</a></em> <em><a href="Core.Set.html##(SET_UNIT)">Core.Set#SET_UNIT</a></em>
<a id="#(DETECTION_AREAS.DetectedArea).Set" > <a id="#(DETECTION_AREAS.DetectedArea).Set" >
<strong>DETECTION_AREAS.DetectedArea.Set</strong> <strong>DETECTION_AREAS.DetectedArea.Set</strong>
</a> </a>
@ -1409,7 +1411,7 @@ self</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<em><a href="Zone.html##(ZONE_UNIT)">Zone#ZONE_UNIT</a></em> <em><a href="Core.Zone.html##(ZONE_UNIT)">Core.Zone#ZONE_UNIT</a></em>
<a id="#(DETECTION_AREAS.DetectedArea).Zone" > <a id="#(DETECTION_AREAS.DetectedArea).Zone" >
<strong>DETECTION_AREAS.DetectedArea.Zone</strong> <strong>DETECTION_AREAS.DetectedArea.Zone</strong>
</a> </a>
@ -1578,7 +1580,7 @@ self</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<em><a href="DCSTypes.html##(Distance)">DCSTypes#Distance</a></em> <em><a href="Dcs.DCSTypes.html##(Distance)">Dcs.DCSTypes#Distance</a></em>
<a id="#(DETECTION_BASE).DetectionRange" > <a id="#(DETECTION_BASE).DetectionRange" >
<strong>DETECTION_BASE.DetectionRange</strong> <strong>DETECTION_BASE.DetectionRange</strong>
</a> </a>
@ -1620,7 +1622,7 @@ self</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<em><a href="Set.html##(SET_GROUP)">Set#SET_GROUP</a></em> <em><a href="Core.Set.html##(SET_GROUP)">Core.Set#SET_GROUP</a></em>
<a id="#(DETECTION_BASE).DetectionSetGroup" > <a id="#(DETECTION_BASE).DetectionSetGroup" >
<strong>DETECTION_BASE.DetectionSetGroup</strong> <strong>DETECTION_BASE.DetectionSetGroup</strong>
</a> </a>
@ -1678,7 +1680,7 @@ self</p>
</ul> </ul>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="Set.html##(SET_BASE)">Set#SET_BASE</a>:</em></p> <p><em><a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a>:</em></p>
</dd> </dd>
@ -1710,7 +1712,7 @@ Count</p>
</dt> </dt>
<dd> <dd>
<p>Get the detected <a href="Set.html##(SET_BASE)">Set#SET_BASE</a>s.</p> <p>Get the detected <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a>s.</p>
<h3>Return value</h3> <h3>Return value</h3>
@ -1732,7 +1734,7 @@ DetectedSets</p>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="Group.html##(GROUP)">Group#GROUP</a>:</em></p> <p><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a>:</em></p>
</dd> </dd>
@ -1955,13 +1957,13 @@ true if already identified.</p>
<ul> <ul>
<li> <li>
<p><code><em><a href="Set.html##(SET_GROUP)">Set#SET_GROUP</a> DetectionSetGroup </em></code>: <p><code><em><a href="Core.Set.html##(SET_GROUP)">Core.Set#SET_GROUP</a> DetectionSetGroup </em></code>:
The <a href="Set.html">Set</a> of GROUPs in the Forward Air Controller role.</p> The <a href="Set.html">Set</a> of GROUPs in the Forward Air Controller role.</p>
</li> </li>
<li> <li>
<p><code><em><a href="DCSTypes.html##(Distance)">DCSTypes#Distance</a> DetectionRange </em></code>: <p><code><em><a href="Dcs.DCSTypes.html##(Distance)">Dcs.DCSTypes#Distance</a> DetectionRange </em></code>:
The range till which targets are accepted to be detected.</p> The range till which targets are accepted to be detected.</p>
</li> </li>
@ -2077,7 +2079,7 @@ self</p>
</dt> </dt>
<dd> <dd>
<p>Form <a href="Set.html">Set</a>s of detected <a href="Unit.html##(UNIT)">Unit#UNIT</a>s in an array of <a href="Set.html##(SET_BASE)">Set#SET_BASE</a>s.</p> <p>Form <a href="Set.html">Set</a>s of detected <a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a>s in an array of <a href="Core.Set.html##(SET_BASE)">Core.Set#SET_BASE</a>s.</p>
<h3>Parameter</h3> <h3>Parameter</h3>
<ul> <ul>

Some files were not shown because too many files have changed in this diff Show More