Compare commits
9 Commits
master-bac
...
2.2.3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a35e95a7dc | ||
|
|
58e3e5293e | ||
|
|
305cb3092e | ||
|
|
7c26e88345 | ||
|
|
36a9295197 | ||
|
|
ca77e2d029 | ||
|
|
93d5327811 | ||
|
|
d5e9c47bad | ||
|
|
e62523786c |
@@ -4,7 +4,7 @@
|
||||
--
|
||||
-- ===
|
||||
--
|
||||
-- AI CAP classes makes AI Controllables execute a Combat Air Patrol.
|
||||
-- AI CAP classes makes AI Groups execute a Combat Air Patrol.
|
||||
--
|
||||
-- There are the following types of CAP classes defined:
|
||||
--
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
--- # AI_A2A_CAP class, extends @{AI_CAP#AI_PATROL_ZONE}
|
||||
--
|
||||
-- The AI_A2A_CAP class implements the core functions to patrol a @{Zone} by an AI @{Controllable} or @{Group}
|
||||
-- The AI_A2A_CAP class implements the core functions to patrol a @{Zone} by an AI @{Group} or @{Group}
|
||||
-- and automatically engage any airborne enemies that are within a certain range or within a certain zone.
|
||||
--
|
||||
-- 
|
||||
@@ -120,20 +120,20 @@ AI_A2A_CAP = {
|
||||
|
||||
--- Creates a new AI_A2A_CAP object
|
||||
-- @param #AI_A2A_CAP self
|
||||
-- @param Wrapper.Group#GROUP AIGroup
|
||||
-- @param Wrapper.Group#GROUP AICap
|
||||
-- @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 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 PatrolMaxSpeed The maximum speed of the @{Controllable} in km/h.
|
||||
-- @param Dcs.DCSTypes#Speed EngageMinSpeed The minimum speed of the @{Controllable} in km/h when engaging a target.
|
||||
-- @param Dcs.DCSTypes#Speed EngageMaxSpeed The maximum speed of the @{Controllable} in km/h when engaging a target.
|
||||
-- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Group} in km/h.
|
||||
-- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Group} in km/h.
|
||||
-- @param Dcs.DCSTypes#Speed EngageMinSpeed The minimum speed of the @{Group} in km/h when engaging a target.
|
||||
-- @param Dcs.DCSTypes#Speed EngageMaxSpeed The maximum speed of the @{Group} in km/h when engaging a target.
|
||||
-- @param Dcs.DCSTypes#AltitudeType PatrolAltType The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO
|
||||
-- @return #AI_A2A_CAP
|
||||
function AI_A2A_CAP:New( AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, EngageMinSpeed, EngageMaxSpeed, PatrolAltType )
|
||||
function AI_A2A_CAP:New( AICap, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, EngageMinSpeed, EngageMaxSpeed, PatrolAltType )
|
||||
|
||||
-- Inherits from BASE
|
||||
local self = BASE:Inherit( self, AI_A2A_PATROL:New( AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType ) ) -- #AI_A2A_CAP
|
||||
local self = BASE:Inherit( self, AI_A2A_PATROL:New( AICap, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType ) ) -- #AI_A2A_CAP
|
||||
|
||||
self.Accomplished = false
|
||||
self.Engaging = false
|
||||
@@ -146,7 +146,7 @@ function AI_A2A_CAP:New( AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeiling
|
||||
--- OnBefore Transition Handler for Event Engage.
|
||||
-- @function [parent=#AI_A2A_CAP] OnBeforeEngage
|
||||
-- @param #AI_A2A_CAP self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AICap The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -155,7 +155,7 @@ function AI_A2A_CAP:New( AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeiling
|
||||
--- OnAfter Transition Handler for Event Engage.
|
||||
-- @function [parent=#AI_A2A_CAP] OnAfterEngage
|
||||
-- @param #AI_A2A_CAP self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AICap The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -172,7 +172,7 @@ function AI_A2A_CAP:New( AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeiling
|
||||
--- OnLeave Transition Handler for State Engaging.
|
||||
-- @function [parent=#AI_A2A_CAP] OnLeaveEngaging
|
||||
-- @param #AI_A2A_CAP self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AICap The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -181,7 +181,7 @@ function AI_A2A_CAP:New( AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeiling
|
||||
--- OnEnter Transition Handler for State Engaging.
|
||||
-- @function [parent=#AI_A2A_CAP] OnEnterEngaging
|
||||
-- @param #AI_A2A_CAP self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AICap The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -191,7 +191,7 @@ function AI_A2A_CAP:New( AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeiling
|
||||
--- OnBefore Transition Handler for Event Fired.
|
||||
-- @function [parent=#AI_A2A_CAP] OnBeforeFired
|
||||
-- @param #AI_A2A_CAP self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AICap The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -200,7 +200,7 @@ function AI_A2A_CAP:New( AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeiling
|
||||
--- OnAfter Transition Handler for Event Fired.
|
||||
-- @function [parent=#AI_A2A_CAP] OnAfterFired
|
||||
-- @param #AI_A2A_CAP self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AICap The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -219,7 +219,7 @@ function AI_A2A_CAP:New( AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeiling
|
||||
--- OnBefore Transition Handler for Event Destroy.
|
||||
-- @function [parent=#AI_A2A_CAP] OnBeforeDestroy
|
||||
-- @param #AI_A2A_CAP self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AICap The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -228,7 +228,7 @@ function AI_A2A_CAP:New( AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeiling
|
||||
--- OnAfter Transition Handler for Event Destroy.
|
||||
-- @function [parent=#AI_A2A_CAP] OnAfterDestroy
|
||||
-- @param #AI_A2A_CAP self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AICap The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -248,7 +248,7 @@ function AI_A2A_CAP:New( AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeiling
|
||||
--- OnBefore Transition Handler for Event Abort.
|
||||
-- @function [parent=#AI_A2A_CAP] OnBeforeAbort
|
||||
-- @param #AI_A2A_CAP self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AICap The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -257,7 +257,7 @@ function AI_A2A_CAP:New( AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeiling
|
||||
--- OnAfter Transition Handler for Event Abort.
|
||||
-- @function [parent=#AI_A2A_CAP] OnAfterAbort
|
||||
-- @param #AI_A2A_CAP self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AICap The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -276,7 +276,7 @@ function AI_A2A_CAP:New( AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeiling
|
||||
--- OnBefore Transition Handler for Event Accomplish.
|
||||
-- @function [parent=#AI_A2A_CAP] OnBeforeAccomplish
|
||||
-- @param #AI_A2A_CAP self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AICap The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -285,7 +285,7 @@ function AI_A2A_CAP:New( AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeiling
|
||||
--- OnAfter Transition Handler for Event Accomplish.
|
||||
-- @function [parent=#AI_A2A_CAP] OnAfterAccomplish
|
||||
-- @param #AI_A2A_CAP self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AICap The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -304,13 +304,13 @@ end
|
||||
|
||||
--- onafter State Transition for Event Patrol.
|
||||
-- @param #AI_A2A_GCI self
|
||||
-- @param Wrapper.Group#GROUP AIGroup The AI Group managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AICap The AI Group managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
function AI_A2A_CAP:onafterStart( AIGroup, From, Event, To )
|
||||
function AI_A2A_CAP:onafterStart( AICap, From, Event, To )
|
||||
|
||||
AIGroup:HandleEvent( EVENTS.Takeoff, nil, self )
|
||||
AICap:HandleEvent( EVENTS.Takeoff, nil, self )
|
||||
|
||||
end
|
||||
|
||||
@@ -344,36 +344,36 @@ end
|
||||
|
||||
--- onafter State Transition for Event Patrol.
|
||||
-- @param #AI_A2A_CAP self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE AIGroup The AI Group managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AICap The AI Group managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
function AI_A2A_CAP:onafterPatrol( AIGroup, From, Event, To )
|
||||
function AI_A2A_CAP:onafterPatrol( AICap, From, Event, To )
|
||||
|
||||
-- Call the parent Start event handler
|
||||
self:GetParent(self).onafterPatrol( self, AIGroup, From, Event, To )
|
||||
self:GetParent(self).onafterPatrol( self, AICap, From, Event, To )
|
||||
self:HandleEvent( EVENTS.Dead )
|
||||
|
||||
end
|
||||
|
||||
-- todo: need to fix this global function
|
||||
|
||||
--- @param Wrapper.Group#GROUP AIGroup
|
||||
function AI_A2A_CAP.AttackRoute( AIGroup, Fsm )
|
||||
--- @param Wrapper.Group#GROUP AICap
|
||||
function AI_A2A_CAP.AttackRoute( AICap, Fsm )
|
||||
|
||||
AIGroup:F( { "AI_A2A_CAP.AttackRoute:", AIGroup:GetName() } )
|
||||
AICap:F( { "AI_A2A_CAP.AttackRoute:", AICap:GetName() } )
|
||||
|
||||
if AIGroup:IsAlive() then
|
||||
if AICap:IsAlive() then
|
||||
Fsm:__Engage( 0.5 )
|
||||
end
|
||||
end
|
||||
|
||||
--- @param #AI_A2A_CAP self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE AIGroup The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AICap The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
function AI_A2A_CAP:onbeforeEngage( AIGroup, From, Event, To )
|
||||
function AI_A2A_CAP:onbeforeEngage( AICap, From, Event, To )
|
||||
|
||||
if self.Accomplished == true then
|
||||
return false
|
||||
@@ -381,24 +381,24 @@ function AI_A2A_CAP:onbeforeEngage( AIGroup, From, Event, To )
|
||||
end
|
||||
|
||||
--- @param #AI_A2A_CAP self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE AIGroup The AI Group managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AICap The AI Group managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
function AI_A2A_CAP:onafterAbort( AIGroup, From, Event, To )
|
||||
AIGroup:ClearTasks()
|
||||
function AI_A2A_CAP:onafterAbort( AICap, From, Event, To )
|
||||
AICap:ClearTasks()
|
||||
self:__Route( 0.5 )
|
||||
end
|
||||
|
||||
|
||||
--- @param #AI_A2A_CAP self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE AIGroup The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AICap The AICap Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
function AI_A2A_CAP:onafterEngage( AIGroup, From, Event, To, AttackSetUnit )
|
||||
function AI_A2A_CAP:onafterEngage( AICap, From, Event, To, AttackSetUnit )
|
||||
|
||||
self:F( { AIGroup, From, Event, To, AttackSetUnit} )
|
||||
self:F( { AICap, From, Event, To, AttackSetUnit} )
|
||||
|
||||
self.AttackSetUnit = AttackSetUnit or self.AttackSetUnit -- Core.Set#SET_UNIT
|
||||
|
||||
@@ -406,12 +406,12 @@ function AI_A2A_CAP:onafterEngage( AIGroup, From, Event, To, AttackSetUnit )
|
||||
|
||||
if FirstAttackUnit and FirstAttackUnit:IsAlive() then -- If there is no attacker anymore, stop the engagement.
|
||||
|
||||
if AIGroup:IsAlive() then
|
||||
if AICap:IsAlive() then
|
||||
|
||||
local EngageRoute = {}
|
||||
|
||||
--- Calculate the target route point.
|
||||
local CurrentCoord = AIGroup:GetCoordinate()
|
||||
local CurrentCoord = AICap:GetCoordinate()
|
||||
local ToTargetCoord = self.AttackSetUnit:GetFirst():GetCoordinate()
|
||||
local ToTargetSpeed = math.random( self.EngageMinSpeed, self.EngageMaxSpeed )
|
||||
local ToInterceptAngle = CurrentCoord:GetAngleDegrees( CurrentCoord:GetDirectionVec3( ToTargetCoord ) )
|
||||
@@ -437,7 +437,7 @@ function AI_A2A_CAP:onafterEngage( AIGroup, From, Event, To, AttackSetUnit )
|
||||
local AttackUnit = AttackUnit -- Wrapper.Unit#UNIT
|
||||
self:T( { "Attacking Unit:", AttackUnit:GetName(), AttackUnit:IsAlive(), AttackUnit:IsAir() } )
|
||||
if AttackUnit:IsAlive() and AttackUnit:IsAir() then
|
||||
AttackTasks[#AttackTasks+1] = AIGroup:TaskAttackUnit( AttackUnit )
|
||||
AttackTasks[#AttackTasks+1] = AICap:TaskAttackUnit( AttackUnit )
|
||||
end
|
||||
end
|
||||
|
||||
@@ -445,14 +445,14 @@ function AI_A2A_CAP:onafterEngage( AIGroup, From, Event, To, AttackSetUnit )
|
||||
self:E("No targets found -> Going back to Patrolling")
|
||||
self:__Abort( 0.5 )
|
||||
else
|
||||
AIGroup:OptionROEOpenFire()
|
||||
AIGroup:OptionROTPassiveDefense()
|
||||
AICap:OptionROEOpenFire()
|
||||
AICap:OptionROTEvadeFire()
|
||||
|
||||
AttackTasks[#AttackTasks+1] = AIGroup:TaskFunction( "AI_A2A_CAP.AttackRoute", self )
|
||||
EngageRoute[#EngageRoute].task = AIGroup:TaskCombo( AttackTasks )
|
||||
AttackTasks[#AttackTasks+1] = AICap:TaskFunction( "AI_A2A_CAP.AttackRoute", self )
|
||||
EngageRoute[#EngageRoute].task = AICap:TaskCombo( AttackTasks )
|
||||
end
|
||||
|
||||
AIGroup:Route( EngageRoute, 0.5 )
|
||||
AICap:Route( EngageRoute, 0.5 )
|
||||
end
|
||||
else
|
||||
self:E("No targets found -> Going back to Patrolling")
|
||||
@@ -461,22 +461,22 @@ function AI_A2A_CAP:onafterEngage( AIGroup, From, Event, To, AttackSetUnit )
|
||||
end
|
||||
|
||||
--- @param #AI_A2A_CAP self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AICap The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
function AI_A2A_CAP:onafterAccomplish( Controllable, From, Event, To )
|
||||
function AI_A2A_CAP:onafterAccomplish( AICap, From, Event, To )
|
||||
self.Accomplished = true
|
||||
self:SetDetectionOff()
|
||||
end
|
||||
|
||||
--- @param #AI_A2A_CAP self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AICap The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
-- @param Core.Event#EVENTDATA EventData
|
||||
function AI_A2A_CAP:onafterDestroy( Controllable, From, Event, To, EventData )
|
||||
function AI_A2A_CAP:onafterDestroy( AICap, From, Event, To, EventData )
|
||||
|
||||
if EventData.IniUnit then
|
||||
self.AttackUnits[EventData.IniUnit] = nil
|
||||
@@ -495,12 +495,12 @@ function AI_A2A_CAP:OnEventDead( EventData )
|
||||
end
|
||||
end
|
||||
|
||||
--- @param Wrapper.Group#GROUP AIGroup
|
||||
function AI_A2A_CAP.Resume( AIGroup )
|
||||
--- @param Wrapper.Group#GROUP AICap
|
||||
function AI_A2A_CAP.Resume( AICap )
|
||||
|
||||
AIGroup:F( { "AI_A2A_CAP.Resume:", AIGroup:GetName() } )
|
||||
if AIGroup:IsAlive() then
|
||||
local _AI_A2A = AIGroup:GetState( AIGroup, "AI_A2A" ) -- #AI_A2A
|
||||
AICap:F( { "AI_A2A_CAP.Resume:", AICap:GetName() } )
|
||||
if AICap:IsAlive() then
|
||||
local _AI_A2A = AICap:GetState( AICap, "AI_A2A" ) -- #AI_A2A
|
||||
_AI_A2A:__Reset( 1 )
|
||||
_AI_A2A:__Route( 5 )
|
||||
end
|
||||
|
||||
@@ -117,12 +117,12 @@ AI_A2A_GCI = {
|
||||
|
||||
--- Creates a new AI_A2A_GCI object
|
||||
-- @param #AI_A2A_GCI self
|
||||
-- @param Wrapper.Group#GROUP AIGroup
|
||||
-- @param Wrapper.Group#GROUP AIIntercept
|
||||
-- @return #AI_A2A_GCI
|
||||
function AI_A2A_GCI:New( AIGroup, EngageMinSpeed, EngageMaxSpeed )
|
||||
function AI_A2A_GCI:New( AIIntercept, EngageMinSpeed, EngageMaxSpeed )
|
||||
|
||||
-- Inherits from BASE
|
||||
local self = BASE:Inherit( self, AI_A2A:New( AIGroup ) ) -- #AI_A2A_GCI
|
||||
local self = BASE:Inherit( self, AI_A2A:New( AIIntercept ) ) -- #AI_A2A_GCI
|
||||
|
||||
self.Accomplished = false
|
||||
self.Engaging = false
|
||||
@@ -139,7 +139,7 @@ function AI_A2A_GCI:New( AIGroup, EngageMinSpeed, EngageMaxSpeed )
|
||||
--- OnBefore Transition Handler for Event Engage.
|
||||
-- @function [parent=#AI_A2A_GCI] OnBeforeEngage
|
||||
-- @param #AI_A2A_GCI self
|
||||
-- @param Wrapper.Group#GROUP AIGroup The AIGroup Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIIntercept The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -148,7 +148,7 @@ function AI_A2A_GCI:New( AIGroup, EngageMinSpeed, EngageMaxSpeed )
|
||||
--- OnAfter Transition Handler for Event Engage.
|
||||
-- @function [parent=#AI_A2A_GCI] OnAfterEngage
|
||||
-- @param #AI_A2A_GCI self
|
||||
-- @param Wrapper.Group#GROUP AIGroup The AIGroup Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIIntercept The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -165,7 +165,7 @@ function AI_A2A_GCI:New( AIGroup, EngageMinSpeed, EngageMaxSpeed )
|
||||
--- OnLeave Transition Handler for State Engaging.
|
||||
-- @function [parent=#AI_A2A_GCI] OnLeaveEngaging
|
||||
-- @param #AI_A2A_GCI self
|
||||
-- @param Wrapper.Group#GROUP AIGroup The AIGroup Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIIntercept The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -174,7 +174,7 @@ function AI_A2A_GCI:New( AIGroup, EngageMinSpeed, EngageMaxSpeed )
|
||||
--- OnEnter Transition Handler for State Engaging.
|
||||
-- @function [parent=#AI_A2A_GCI] OnEnterEngaging
|
||||
-- @param #AI_A2A_GCI self
|
||||
-- @param Wrapper.Group#GROUP AIGroup The AIGroup Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIIntercept The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -184,7 +184,7 @@ function AI_A2A_GCI:New( AIGroup, EngageMinSpeed, EngageMaxSpeed )
|
||||
--- OnBefore Transition Handler for Event Fired.
|
||||
-- @function [parent=#AI_A2A_GCI] OnBeforeFired
|
||||
-- @param #AI_A2A_GCI self
|
||||
-- @param Wrapper.Group#GROUP AIGroup The AIGroup Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIIntercept The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -193,7 +193,7 @@ function AI_A2A_GCI:New( AIGroup, EngageMinSpeed, EngageMaxSpeed )
|
||||
--- OnAfter Transition Handler for Event Fired.
|
||||
-- @function [parent=#AI_A2A_GCI] OnAfterFired
|
||||
-- @param #AI_A2A_GCI self
|
||||
-- @param Wrapper.Group#GROUP AIGroup The AIGroup Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIIntercept The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -212,7 +212,7 @@ function AI_A2A_GCI:New( AIGroup, EngageMinSpeed, EngageMaxSpeed )
|
||||
--- OnBefore Transition Handler for Event Destroy.
|
||||
-- @function [parent=#AI_A2A_GCI] OnBeforeDestroy
|
||||
-- @param #AI_A2A_GCI self
|
||||
-- @param Wrapper.Group#GROUP AIGroup The AIGroup Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIIntercept The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -221,7 +221,7 @@ function AI_A2A_GCI:New( AIGroup, EngageMinSpeed, EngageMaxSpeed )
|
||||
--- OnAfter Transition Handler for Event Destroy.
|
||||
-- @function [parent=#AI_A2A_GCI] OnAfterDestroy
|
||||
-- @param #AI_A2A_GCI self
|
||||
-- @param Wrapper.Group#GROUP AIGroup The AIGroup Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIIntercept The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -241,7 +241,7 @@ function AI_A2A_GCI:New( AIGroup, EngageMinSpeed, EngageMaxSpeed )
|
||||
--- OnBefore Transition Handler for Event Abort.
|
||||
-- @function [parent=#AI_A2A_GCI] OnBeforeAbort
|
||||
-- @param #AI_A2A_GCI self
|
||||
-- @param Wrapper.Group#GROUP AIGroup The AIGroup Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIIntercept The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -250,7 +250,7 @@ function AI_A2A_GCI:New( AIGroup, EngageMinSpeed, EngageMaxSpeed )
|
||||
--- OnAfter Transition Handler for Event Abort.
|
||||
-- @function [parent=#AI_A2A_GCI] OnAfterAbort
|
||||
-- @param #AI_A2A_GCI self
|
||||
-- @param Wrapper.Group#GROUP AIGroup The AIGroup Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIIntercept The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -269,7 +269,7 @@ function AI_A2A_GCI:New( AIGroup, EngageMinSpeed, EngageMaxSpeed )
|
||||
--- OnBefore Transition Handler for Event Accomplish.
|
||||
-- @function [parent=#AI_A2A_GCI] OnBeforeAccomplish
|
||||
-- @param #AI_A2A_GCI self
|
||||
-- @param Wrapper.Group#GROUP AIGroup The AIGroup Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIIntercept The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -278,7 +278,7 @@ function AI_A2A_GCI:New( AIGroup, EngageMinSpeed, EngageMaxSpeed )
|
||||
--- OnAfter Transition Handler for Event Accomplish.
|
||||
-- @function [parent=#AI_A2A_GCI] OnAfterAccomplish
|
||||
-- @param #AI_A2A_GCI self
|
||||
-- @param Wrapper.Group#GROUP AIGroup The AIGroup Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIIntercept The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -297,13 +297,13 @@ end
|
||||
|
||||
--- onafter State Transition for Event Patrol.
|
||||
-- @param #AI_A2A_GCI self
|
||||
-- @param Wrapper.Group#GROUP AIGroup The AI Group managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIIntercept The AI Group managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
function AI_A2A_GCI:onafterStart( AIGroup, From, Event, To )
|
||||
function AI_A2A_GCI:onafterStart( AIIntercept, From, Event, To )
|
||||
|
||||
AIGroup:HandleEvent( EVENTS.Takeoff, nil, self )
|
||||
AIIntercept:HandleEvent( EVENTS.Takeoff, nil, self )
|
||||
|
||||
end
|
||||
|
||||
@@ -311,11 +311,11 @@ end
|
||||
|
||||
--- onafter State Transition for Event Patrol.
|
||||
-- @param #AI_A2A_GCI self
|
||||
-- @param Wrapper.Group#GROUP AIGroup The AI Group managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIIntercept The AI Group managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
function AI_A2A_GCI:onafterEngage( AIGroup, From, Event, To )
|
||||
function AI_A2A_GCI:onafterEngage( AIIntercept, From, Event, To )
|
||||
|
||||
self:HandleEvent( EVENTS.Dead )
|
||||
|
||||
@@ -324,24 +324,24 @@ end
|
||||
-- todo: need to fix this global function
|
||||
|
||||
--- @param Wrapper.Group#GROUP AIControllable
|
||||
function AI_A2A_GCI.InterceptRoute( AIGroup, Fsm )
|
||||
function AI_A2A_GCI.InterceptRoute( AIIntercept, Fsm )
|
||||
|
||||
AIGroup:F( { "AI_A2A_GCI.InterceptRoute:", AIGroup:GetName() } )
|
||||
AIIntercept:F( { "AI_A2A_GCI.InterceptRoute:", AIIntercept:GetName() } )
|
||||
|
||||
if AIGroup:IsAlive() then
|
||||
if AIIntercept:IsAlive() then
|
||||
Fsm:__Engage( 0.5 )
|
||||
|
||||
--local Task = AIGroup:TaskOrbitCircle( 4000, 400 )
|
||||
--AIGroup:SetTask( Task )
|
||||
--local Task = AIIntercept:TaskOrbitCircle( 4000, 400 )
|
||||
--AIIntercept:SetTask( Task )
|
||||
end
|
||||
end
|
||||
|
||||
--- @param #AI_A2A_GCI self
|
||||
-- @param Wrapper.Group#GROUP AIGroup The AIGroup Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIIntercept The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
function AI_A2A_GCI:onbeforeEngage( AIGroup, From, Event, To )
|
||||
function AI_A2A_GCI:onbeforeEngage( AIIntercept, From, Event, To )
|
||||
|
||||
if self.Accomplished == true then
|
||||
return false
|
||||
@@ -349,25 +349,25 @@ function AI_A2A_GCI:onbeforeEngage( AIGroup, From, Event, To )
|
||||
end
|
||||
|
||||
--- @param #AI_A2A_GCI self
|
||||
-- @param Wrapper.Group#GROUP AIGroup The AI Group managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIIntercept The AI Group managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
function AI_A2A_GCI:onafterAbort( AIGroup, From, Event, To )
|
||||
AIGroup:ClearTasks()
|
||||
function AI_A2A_GCI:onafterAbort( AIIntercept, From, Event, To )
|
||||
AIIntercept:ClearTasks()
|
||||
self:Return()
|
||||
self:__RTB( 0.5 )
|
||||
end
|
||||
|
||||
|
||||
--- @param #AI_A2A_GCI self
|
||||
-- @param Wrapper.Group#GROUP AIGroup The AIGroup Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIIntercept The GroupGroup managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
function AI_A2A_GCI:onafterEngage( AIGroup, From, Event, To, AttackSetUnit )
|
||||
function AI_A2A_GCI:onafterEngage( AIIntercept, From, Event, To, AttackSetUnit )
|
||||
|
||||
self:F( { AIGroup, From, Event, To, AttackSetUnit} )
|
||||
self:F( { AIIntercept, From, Event, To, AttackSetUnit} )
|
||||
|
||||
self.AttackSetUnit = AttackSetUnit or self.AttackSetUnit -- Core.Set#SET_UNIT
|
||||
|
||||
@@ -375,15 +375,15 @@ function AI_A2A_GCI:onafterEngage( AIGroup, From, Event, To, AttackSetUnit )
|
||||
|
||||
if FirstAttackUnit and FirstAttackUnit:IsAlive() then
|
||||
|
||||
if AIGroup:IsAlive() then
|
||||
if AIIntercept:IsAlive() then
|
||||
|
||||
local EngageRoute = {}
|
||||
|
||||
local CurrentCoord = AIGroup:GetCoordinate()
|
||||
local CurrentCoord = AIIntercept:GetCoordinate()
|
||||
|
||||
--- Calculate the target route point.
|
||||
|
||||
local CurrentCoord = AIGroup:GetCoordinate()
|
||||
local CurrentCoord = AIIntercept:GetCoordinate()
|
||||
|
||||
local ToTargetCoord = self.AttackSetUnit:GetFirst():GetCoordinate()
|
||||
self:SetTargetDistance( ToTargetCoord ) -- For RTB status check
|
||||
@@ -412,7 +412,7 @@ function AI_A2A_GCI:onafterEngage( AIGroup, From, Event, To, AttackSetUnit )
|
||||
local AttackUnit = AttackUnit -- Wrapper.Unit#UNIT
|
||||
if AttackUnit:IsAlive() and AttackUnit:IsAir() then
|
||||
self:T( { "Intercepting Unit:", AttackUnit:GetName(), AttackUnit:IsAlive(), AttackUnit:IsAir() } )
|
||||
AttackTasks[#AttackTasks+1] = AIGroup:TaskAttackUnit( AttackUnit )
|
||||
AttackTasks[#AttackTasks+1] = AIIntercept:TaskAttackUnit( AttackUnit )
|
||||
end
|
||||
end
|
||||
|
||||
@@ -421,14 +421,14 @@ function AI_A2A_GCI:onafterEngage( AIGroup, From, Event, To, AttackSetUnit )
|
||||
self:Return()
|
||||
self:__RTB( 0.5 )
|
||||
else
|
||||
AIGroup:OptionROEOpenFire()
|
||||
AIGroup:OptionROTPassiveDefense()
|
||||
AIIntercept:OptionROEOpenFire()
|
||||
AIIntercept:OptionROTEvadeFire()
|
||||
|
||||
AttackTasks[#AttackTasks+1] = AIGroup:TaskFunction( "AI_A2A_GCI.InterceptRoute", self )
|
||||
EngageRoute[#EngageRoute].task = AIGroup:TaskCombo( AttackTasks )
|
||||
AttackTasks[#AttackTasks+1] = AIIntercept:TaskFunction( "AI_A2A_GCI.InterceptRoute", self )
|
||||
EngageRoute[#EngageRoute].task = AIIntercept:TaskCombo( AttackTasks )
|
||||
end
|
||||
|
||||
AIGroup:Route( EngageRoute, 0.5 )
|
||||
AIIntercept:Route( EngageRoute, 0.5 )
|
||||
|
||||
end
|
||||
else
|
||||
@@ -439,22 +439,22 @@ function AI_A2A_GCI:onafterEngage( AIGroup, From, Event, To, AttackSetUnit )
|
||||
end
|
||||
|
||||
--- @param #AI_A2A_GCI self
|
||||
-- @param Wrapper.Group#GROUP AIGroup The AIGroup Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIIntercept The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
function AI_A2A_GCI:onafterAccomplish( AIGroup, From, Event, To )
|
||||
function AI_A2A_GCI:onafterAccomplish( AIIntercept, From, Event, To )
|
||||
self.Accomplished = true
|
||||
self:SetDetectionOff()
|
||||
end
|
||||
|
||||
--- @param #AI_A2A_GCI self
|
||||
-- @param Wrapper.Group#GROUP AIGroup The AIGroup Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIIntercept The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
-- @param Core.Event#EVENTDATA EventData
|
||||
function AI_A2A_GCI:onafterDestroy( AIGroup, From, Event, To, EventData )
|
||||
function AI_A2A_GCI:onafterDestroy( AIIntercept, From, Event, To, EventData )
|
||||
|
||||
if EventData.IniUnit then
|
||||
self.AttackUnits[EventData.IniUnit] = nil
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
--
|
||||
-- ===
|
||||
--
|
||||
-- AI PATROL classes makes AI Controllables execute an Patrol.
|
||||
-- AI PATROL classes makes AI Groups execute an Patrol.
|
||||
--
|
||||
-- There are the following types of PATROL classes defined:
|
||||
--
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
--- # AI_A2A_PATROL class, extends @{Fsm#FSM_CONTROLLABLE}
|
||||
--
|
||||
-- The AI_A2A_PATROL class implements the core functions to patrol a @{Zone} by an AI @{Controllable} or @{Group}.
|
||||
-- The AI_A2A_PATROL class implements the core functions to patrol a @{Zone} by an AI @{Group} or @{Group}.
|
||||
--
|
||||
-- 
|
||||
--
|
||||
@@ -139,7 +139,7 @@
|
||||
--
|
||||
-- ## 7. Manage "damage" behaviour of the AI in the AI_A2A_PATROL
|
||||
--
|
||||
-- When the AI is damaged, it is required that a new AIControllable is started. However, damage cannon be foreseen early on.
|
||||
-- When the AI is damaged, it is required that a new Patrol is started. However, damage cannon be foreseen early on.
|
||||
-- Therefore, when the damage treshold is reached, the AI will return immediately to the home base (RTB).
|
||||
-- Use the method @{#AI_A2A_PATROL.ManageDamage}() to have this proces in place.
|
||||
--
|
||||
@@ -152,23 +152,23 @@ AI_A2A_PATROL = {
|
||||
|
||||
--- Creates a new AI_A2A_PATROL object
|
||||
-- @param #AI_A2A_PATROL self
|
||||
-- @param Wrapper.Group#GROUP AIGroup
|
||||
-- @param Wrapper.Group#GROUP AIPatrol
|
||||
-- @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 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 PatrolMaxSpeed The maximum speed of the @{Controllable} in km/h.
|
||||
-- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Group} in km/h.
|
||||
-- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Group} in km/h.
|
||||
-- @param Dcs.DCSTypes#AltitudeType PatrolAltType The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO
|
||||
-- @return #AI_A2A_PATROL self
|
||||
-- @usage
|
||||
-- -- Define a new AI_A2A_PATROL 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_A2A_PATROL Object. This PatrolArea will patrol a Group within PatrolZone between 3000 and 6000 meters, with a variying speed between 600 and 900 km/h.
|
||||
-- PatrolZone = ZONE:New( 'PatrolZone' )
|
||||
-- PatrolSpawn = SPAWN:New( 'Patrol Group' )
|
||||
-- PatrolArea = AI_A2A_PATROL:New( PatrolZone, 3000, 6000, 600, 900 )
|
||||
function AI_A2A_PATROL:New( AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType )
|
||||
function AI_A2A_PATROL:New( AIPatrol, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType )
|
||||
|
||||
-- Inherits from BASE
|
||||
local self = BASE:Inherit( self, AI_A2A:New( AIGroup ) ) -- #AI_A2A_PATROL
|
||||
local self = BASE:Inherit( self, AI_A2A:New( AIPatrol ) ) -- #AI_A2A_PATROL
|
||||
|
||||
self.PatrolZone = PatrolZone
|
||||
self.PatrolFloorAltitude = PatrolFloorAltitude
|
||||
@@ -184,7 +184,7 @@ function AI_A2A_PATROL:New( AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeil
|
||||
--- OnBefore Transition Handler for Event Patrol.
|
||||
-- @function [parent=#AI_A2A_PATROL] OnBeforePatrol
|
||||
-- @param #AI_A2A_PATROL self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIPatrol The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -193,7 +193,7 @@ function AI_A2A_PATROL:New( AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeil
|
||||
--- OnAfter Transition Handler for Event Patrol.
|
||||
-- @function [parent=#AI_A2A_PATROL] OnAfterPatrol
|
||||
-- @param #AI_A2A_PATROL self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIPatrol The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -210,7 +210,7 @@ function AI_A2A_PATROL:New( AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeil
|
||||
--- OnLeave Transition Handler for State Patrolling.
|
||||
-- @function [parent=#AI_A2A_PATROL] OnLeavePatrolling
|
||||
-- @param #AI_A2A_PATROL self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIPatrol The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -219,7 +219,7 @@ function AI_A2A_PATROL:New( AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeil
|
||||
--- OnEnter Transition Handler for State Patrolling.
|
||||
-- @function [parent=#AI_A2A_PATROL] OnEnterPatrolling
|
||||
-- @param #AI_A2A_PATROL self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIPatrol The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -229,7 +229,7 @@ function AI_A2A_PATROL:New( AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeil
|
||||
--- OnBefore Transition Handler for Event Route.
|
||||
-- @function [parent=#AI_A2A_PATROL] OnBeforeRoute
|
||||
-- @param #AI_A2A_PATROL self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIPatrol The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -238,7 +238,7 @@ function AI_A2A_PATROL:New( AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeil
|
||||
--- OnAfter Transition Handler for Event Route.
|
||||
-- @function [parent=#AI_A2A_PATROL] OnAfterRoute
|
||||
-- @param #AI_A2A_PATROL self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIPatrol The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
@@ -264,8 +264,8 @@ end
|
||||
|
||||
--- Sets (modifies) the minimum and maximum speed of the patrol.
|
||||
-- @param #AI_A2A_PATROL self
|
||||
-- @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 PatrolMinSpeed The minimum speed of the @{Group} in km/h.
|
||||
-- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Group} in km/h.
|
||||
-- @return #AI_A2A_PATROL self
|
||||
function AI_A2A_PATROL:SetSpeed( PatrolMinSpeed, PatrolMaxSpeed )
|
||||
self:F2( { PatrolMinSpeed, PatrolMaxSpeed } )
|
||||
@@ -292,18 +292,18 @@ end
|
||||
--- Defines a new patrol route using the @{Process_PatrolZone} parameters and settings.
|
||||
-- @param #AI_A2A_PATROL self
|
||||
-- @return #AI_A2A_PATROL self
|
||||
-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIPatrol The Group Object managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
function AI_A2A_PATROL:onafterPatrol( Controllable, From, Event, To )
|
||||
function AI_A2A_PATROL:onafterPatrol( AIPatrol, From, Event, To )
|
||||
self:F2()
|
||||
|
||||
self:ClearTargetDistance()
|
||||
|
||||
self:__Route( 1 )
|
||||
|
||||
self.Controllable:OnReSpawn(
|
||||
AIPatrol:OnReSpawn(
|
||||
function( PatrolGroup )
|
||||
self:E( "ReSpawn" )
|
||||
self:__Reset( 1 )
|
||||
@@ -314,14 +314,14 @@ end
|
||||
|
||||
|
||||
|
||||
--- @param Wrapper.Group#GROUP AIGroup
|
||||
-- This statis method is called from the route path within the last task at the last waaypoint of the Controllable.
|
||||
-- Note that this method is required, as triggers the next route when patrolling for the Controllable.
|
||||
function AI_A2A_PATROL.PatrolRoute( AIGroup, Fsm )
|
||||
--- @param Wrapper.Group#GROUP AIPatrol
|
||||
-- This statis method is called from the route path within the last task at the last waaypoint of the AIPatrol.
|
||||
-- Note that this method is required, as triggers the next route when patrolling for the AIPatrol.
|
||||
function AI_A2A_PATROL.PatrolRoute( AIPatrol, Fsm )
|
||||
|
||||
AIGroup:F( { "AI_A2A_PATROL.PatrolRoute:", AIGroup:GetName() } )
|
||||
AIPatrol:F( { "AI_A2A_PATROL.PatrolRoute:", AIPatrol:GetName() } )
|
||||
|
||||
if AIGroup:IsAlive() then
|
||||
if AIPatrol:IsAlive() then
|
||||
Fsm:Route()
|
||||
end
|
||||
|
||||
@@ -330,11 +330,11 @@ end
|
||||
|
||||
--- Defines a new patrol route using the @{Process_PatrolZone} parameters and settings.
|
||||
-- @param #AI_A2A_PATROL self
|
||||
-- @param Wrapper.Group#GROUP AIGroup The AIGroup managed by the FSM.
|
||||
-- @param Wrapper.Group#GROUP AIPatrol The Group managed by the FSM.
|
||||
-- @param #string From The From State string.
|
||||
-- @param #string Event The Event string.
|
||||
-- @param #string To The To State string.
|
||||
function AI_A2A_PATROL:onafterRoute( AIGroup, From, Event, To )
|
||||
function AI_A2A_PATROL:onafterRoute( AIPatrol, From, Event, To )
|
||||
|
||||
self:F2()
|
||||
|
||||
@@ -344,13 +344,13 @@ function AI_A2A_PATROL:onafterRoute( AIGroup, From, Event, To )
|
||||
end
|
||||
|
||||
|
||||
if AIGroup:IsAlive() then
|
||||
if AIPatrol:IsAlive() then
|
||||
|
||||
local PatrolRoute = {}
|
||||
|
||||
--- Calculate the target route point.
|
||||
|
||||
local CurrentCoord = AIGroup:GetCoordinate()
|
||||
local CurrentCoord = AIPatrol:GetCoordinate()
|
||||
|
||||
local ToTargetCoord = self.PatrolZone:GetRandomPointVec2()
|
||||
ToTargetCoord:SetAlt( math.random( self.PatrolFloorAltitude, self.PatrolCeilingAltitude ) )
|
||||
@@ -371,23 +371,23 @@ function AI_A2A_PATROL:onafterRoute( AIGroup, From, Event, To )
|
||||
PatrolRoute[#PatrolRoute+1] = ToPatrolRoutePoint
|
||||
|
||||
local Tasks = {}
|
||||
Tasks[#Tasks+1] = AIGroup:TaskFunction( "AI_A2A_PATROL.PatrolRoute", self )
|
||||
PatrolRoute[#PatrolRoute].task = AIGroup:TaskCombo( Tasks )
|
||||
Tasks[#Tasks+1] = AIPatrol:TaskFunction( "AI_A2A_PATROL.PatrolRoute", self )
|
||||
PatrolRoute[#PatrolRoute].task = AIPatrol:TaskCombo( Tasks )
|
||||
|
||||
AIGroup:OptionROEReturnFire()
|
||||
AIGroup:OptionROTPassiveDefense()
|
||||
AIPatrol:OptionROEReturnFire()
|
||||
AIPatrol:OptionROTEvadeFire()
|
||||
|
||||
AIGroup:Route( PatrolRoute, 0.5 )
|
||||
AIPatrol:Route( PatrolRoute, 0.5 )
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
--- @param Wrapper.Group#GROUP AIGroup
|
||||
function AI_A2A_PATROL.Resume( AIGroup )
|
||||
--- @param Wrapper.Group#GROUP AIPatrol
|
||||
function AI_A2A_PATROL.Resume( AIPatrol )
|
||||
|
||||
AIGroup:F( { "AI_A2A_PATROL.Resume:", AIGroup:GetName() } )
|
||||
if AIGroup:IsAlive() then
|
||||
local _AI_A2A = AIGroup:GetState( AIGroup, "AI_A2A" ) -- #AI_A2A
|
||||
AIPatrol:F( { "AI_A2A_PATROL.Resume:", AIPatrol:GetName() } )
|
||||
if AIPatrol:IsAlive() then
|
||||
local _AI_A2A = AIPatrol:GetState( AIPatrol, "AI_A2A" ) -- #AI_A2A
|
||||
_AI_A2A:__Reset( 1 )
|
||||
_AI_A2A:__Route( 5 )
|
||||
end
|
||||
|
||||
@@ -479,7 +479,7 @@ function AI_CAP_ZONE:onafterEngage( Controllable, From, Event, To )
|
||||
EngageRoute[#EngageRoute+1] = ToPatrolRoutePoint
|
||||
|
||||
Controllable:OptionROEOpenFire()
|
||||
Controllable:OptionROTPassiveDefense()
|
||||
Controllable:OptionROTEvadeFire()
|
||||
|
||||
local AttackTasks = {}
|
||||
|
||||
|
||||
@@ -958,7 +958,7 @@ function AI_FORMATION:onenterFollowing( FollowGroupSet ) --R2.1
|
||||
-- @param Wrapper.Unit#UNIT ClientUnit
|
||||
function( FollowGroup, Formation, ClientUnit, CT1, CV1, CT2, CV2 )
|
||||
|
||||
FollowGroup:OptionROTPassiveDefense()
|
||||
FollowGroup:OptionROTEvadeFire()
|
||||
FollowGroup:OptionROEReturnFire()
|
||||
|
||||
local GroupUnit = FollowGroup:GetUnit( 1 )
|
||||
|
||||
@@ -102,7 +102,9 @@
|
||||
-- A mission has goals and achievements. The scoring system provides an API to set additional scores when a goal or achievement event happens.
|
||||
-- Use the method @{#SCORING.AddGoalScore}() to add a score for a Player at any time in your mission.
|
||||
--
|
||||
-- ## 1.5) Configure fratricide level.
|
||||
-- ## 1.5) (Decommissioned) Configure fratricide level.
|
||||
--
|
||||
-- **This functionality is decomissioned until the DCS bug concerning Unit:destroy() not being functional in multi player for player units has been fixed by ED**.
|
||||
--
|
||||
-- When a player commits too much damage to friendlies, his penalty score will reach a certain level.
|
||||
-- Use the method @{#SCORING.SetFratricide}() to define the level when a player gets kicked.
|
||||
@@ -258,7 +260,7 @@ function SCORING:New( GameName )
|
||||
|
||||
-- Configure Messages
|
||||
self:SetMessagesToAll()
|
||||
self:SetMessagesHit( true )
|
||||
self:SetMessagesHit( false )
|
||||
self:SetMessagesDestroy( true )
|
||||
self:SetMessagesScore( true )
|
||||
self:SetMessagesZone( true )
|
||||
@@ -616,6 +618,7 @@ function SCORING:_AddPlayerFromUnit( UnitData )
|
||||
UnitName, _SCORINGCoalition[UnitCoalition], _SCORINGCategory[UnitCategory], UnitData:GetTypeName() )
|
||||
end
|
||||
end
|
||||
|
||||
self.Players[PlayerName].UnitName = UnitName
|
||||
self.Players[PlayerName].UnitCoalition = UnitCoalition
|
||||
self.Players[PlayerName].UnitCategory = UnitCategory
|
||||
@@ -624,6 +627,8 @@ function SCORING:_AddPlayerFromUnit( UnitData )
|
||||
self.Players[PlayerName].ThreatLevel = UnitThreatLevel
|
||||
self.Players[PlayerName].ThreatType = UnitThreatType
|
||||
|
||||
-- TODO: DCS bug concerning Units with skill level client don't get destroyed in multi player. This logic is deactivated until this bug gets fixed.
|
||||
--[[
|
||||
if self.Players[PlayerName].Penalty > self.Fratricide * 0.50 then
|
||||
if self.Players[PlayerName].PenaltyWarning < 1 then
|
||||
MESSAGE:NewType( self.DisplayMessagePrefix .. "Player '" .. PlayerName .. "': WARNING! If you continue to commit FRATRICIDE and have a PENALTY score higher than " .. self.Fratricide .. ", you will be COURT MARTIALED and DISMISSED from this mission! \nYour total penalty is: " .. self.Players[PlayerName].Penalty,
|
||||
@@ -639,6 +644,7 @@ function SCORING:_AddPlayerFromUnit( UnitData )
|
||||
):ToAll()
|
||||
UnitData:GetGroup():Destroy()
|
||||
end
|
||||
--]]
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
26289
Moose Mission Setup/Moose_.lua
Normal file
@@ -1,5 +1,5 @@
|
||||
%~dp0luarocks\lua5.1.exe %1 %2 %3 %4 %5
|
||||
call %~dp0LuaSrcDiet.bat --basic --opt-emptylines %5\Moose.lua
|
||||
del %5\Moose.lua
|
||||
copy %5\Moose_.lua %5\Moose.lua
|
||||
del Moose_.lua
|
||||
rem del %5\Moose.lua
|
||||
rem copy %5\Moose_.lua %5\Moose.lua
|
||||
rem del Moose_.lua
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
|
||||
<hr/>
|
||||
|
||||
<p>AI CAP classes makes AI Controllables execute a Combat Air Patrol.</p>
|
||||
<p>AI CAP classes makes AI Groups execute a Combat Air Patrol.</p>
|
||||
|
||||
|
||||
|
||||
@@ -146,7 +146,7 @@
|
||||
<td class="summary">
|
||||
<h1>AI<em>A2A</em>CAP class, extends <a href="AI_CAP.html##(AI_PATROL_ZONE)">AI<em>CAP#AI</em>PATROL_ZONE</a></h1>
|
||||
|
||||
<p>The AI<em>A2A</em>CAP class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Controllable.html">Controllable</a> or <a href="Group.html">Group</a>
|
||||
<p>The AI<em>A2A</em>CAP class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Group.html">Group</a> or <a href="Group.html">Group</a>
|
||||
and automatically engage any airborne enemies that are within a certain range or within a certain zone.</p>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -172,7 +172,7 @@ and automatically engage any airborne enemies that are within a certain range or
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).AttackRoute">AI_A2A_CAP.AttackRoute(AIGroup, Fsm)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).AttackRoute">AI_A2A_CAP.AttackRoute(AICap, Fsm)</a></td>
|
||||
<td class="summary">
|
||||
|
||||
</td>
|
||||
@@ -232,73 +232,73 @@ and automatically engage any airborne enemies that are within a certain range or
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).New">AI_A2A_CAP:New(AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, EngageMinSpeed, EngageMaxSpeed, PatrolAltType)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).New">AI_A2A_CAP:New(AICap, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, EngageMinSpeed, EngageMaxSpeed, PatrolAltType)</a></td>
|
||||
<td class="summary">
|
||||
<p>Creates a new AI<em>A2A</em>CAP object</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnAfterAbort">AI_A2A_CAP:OnAfterAbort(Controllable, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnAfterAbort">AI_A2A_CAP:OnAfterAbort(AICap, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnAfter Transition Handler for Event Abort.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnAfterAccomplish">AI_A2A_CAP:OnAfterAccomplish(Controllable, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnAfterAccomplish">AI_A2A_CAP:OnAfterAccomplish(AICap, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnAfter Transition Handler for Event Accomplish.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnAfterDestroy">AI_A2A_CAP:OnAfterDestroy(Controllable, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnAfterDestroy">AI_A2A_CAP:OnAfterDestroy(AICap, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnAfter Transition Handler for Event Destroy.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnAfterEngage">AI_A2A_CAP:OnAfterEngage(Controllable, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnAfterEngage">AI_A2A_CAP:OnAfterEngage(AICap, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnAfter Transition Handler for Event Engage.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnAfterFired">AI_A2A_CAP:OnAfterFired(Controllable, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnAfterFired">AI_A2A_CAP:OnAfterFired(AICap, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnAfter Transition Handler for Event Fired.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnBeforeAbort">AI_A2A_CAP:OnBeforeAbort(Controllable, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnBeforeAbort">AI_A2A_CAP:OnBeforeAbort(AICap, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnBefore Transition Handler for Event Abort.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnBeforeAccomplish">AI_A2A_CAP:OnBeforeAccomplish(Controllable, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnBeforeAccomplish">AI_A2A_CAP:OnBeforeAccomplish(AICap, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnBefore Transition Handler for Event Accomplish.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnBeforeDestroy">AI_A2A_CAP:OnBeforeDestroy(Controllable, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnBeforeDestroy">AI_A2A_CAP:OnBeforeDestroy(AICap, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnBefore Transition Handler for Event Destroy.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnBeforeEngage">AI_A2A_CAP:OnBeforeEngage(Controllable, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnBeforeEngage">AI_A2A_CAP:OnBeforeEngage(AICap, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnBefore Transition Handler for Event Engage.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnBeforeFired">AI_A2A_CAP:OnBeforeFired(Controllable, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnBeforeFired">AI_A2A_CAP:OnBeforeFired(AICap, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnBefore Transition Handler for Event Fired.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnEnterEngaging">AI_A2A_CAP:OnEnterEngaging(Controllable, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnEnterEngaging">AI_A2A_CAP:OnEnterEngaging(AICap, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnEnter Transition Handler for State Engaging.</p>
|
||||
</td>
|
||||
@@ -310,13 +310,13 @@ and automatically engage any airborne enemies that are within a certain range or
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnLeaveEngaging">AI_A2A_CAP:OnLeaveEngaging(Controllable, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnLeaveEngaging">AI_A2A_CAP:OnLeaveEngaging(AICap, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnLeave Transition Handler for State Engaging.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).Resume">AI_A2A_CAP.Resume(AIGroup)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).Resume">AI_A2A_CAP.Resume(AICap)</a></td>
|
||||
<td class="summary">
|
||||
|
||||
</td>
|
||||
@@ -364,43 +364,43 @@ and automatically engage any airborne enemies that are within a certain range or
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterAbort">AI_A2A_CAP:onafterAbort(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterAbort">AI_A2A_CAP:onafterAbort(AICap, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterAccomplish">AI_A2A_CAP:onafterAccomplish(Controllable, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterAccomplish">AI_A2A_CAP:onafterAccomplish(AICap, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterDestroy">AI_A2A_CAP:onafterDestroy(Controllable, From, Event, To, EventData)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterDestroy">AI_A2A_CAP:onafterDestroy(AICap, From, Event, To, EventData)</a></td>
|
||||
<td class="summary">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterEngage">AI_A2A_CAP:onafterEngage(AIGroup, From, Event, To, AttackSetUnit)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterEngage">AI_A2A_CAP:onafterEngage(AICap, From, Event, To, AttackSetUnit)</a></td>
|
||||
<td class="summary">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterPatrol">AI_A2A_CAP:onafterPatrol(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterPatrol">AI_A2A_CAP:onafterPatrol(AICap, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>onafter State Transition for Event Patrol.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterStart">AI_A2A_CAP:onafterStart(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterStart">AI_A2A_CAP:onafterStart(AICap, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>onafter State Transition for Event Patrol.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onbeforeEngage">AI_A2A_CAP:onbeforeEngage(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onbeforeEngage">AI_A2A_CAP:onbeforeEngage(AICap, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
|
||||
</td>
|
||||
@@ -420,7 +420,7 @@ and automatically engage any airborne enemies that are within a certain range or
|
||||
|
||||
<h1>AI<em>A2A</em>CAP class, extends <a href="AI_CAP.html##(AI_PATROL_ZONE)">AI<em>CAP#AI</em>PATROL_ZONE</a></h1>
|
||||
|
||||
<p>The AI<em>A2A</em>CAP class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Controllable.html">Controllable</a> or <a href="Group.html">Group</a>
|
||||
<p>The AI<em>A2A</em>CAP class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Group.html">Group</a> or <a href="Group.html">Group</a>
|
||||
and automatically engage any airborne enemies that are within a certain range or within a certain zone.</p>
|
||||
|
||||
|
||||
@@ -560,7 +560,7 @@ Use the method <a href="AI_Cap.html##(AI_A2A_CAP).SetEngageZone">AI<em>Cap#AI</e
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).AttackRoute" >
|
||||
<strong>AI_A2A_CAP.AttackRoute(AIGroup, Fsm)</strong>
|
||||
<strong>AI_A2A_CAP.AttackRoute(AICap, Fsm)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -571,7 +571,7 @@ Use the method <a href="AI_Cap.html##(AI_A2A_CAP).SetEngageZone">AI<em>Cap#AI</e
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>: </p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>: </p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -709,7 +709,7 @@ Use the method <a href="AI_Cap.html##(AI_A2A_CAP).SetEngageZone">AI<em>Cap#AI</e
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).New" >
|
||||
<strong>AI_A2A_CAP:New(AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, EngageMinSpeed, EngageMaxSpeed, PatrolAltType)</strong>
|
||||
<strong>AI_A2A_CAP:New(AICap, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, EngageMinSpeed, EngageMaxSpeed, PatrolAltType)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -720,7 +720,7 @@ Use the method <a href="AI_Cap.html##(AI_A2A_CAP).SetEngageZone">AI<em>Cap#AI</e
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>: </p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>: </p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -744,25 +744,25 @@ The highest altitude in meters where to execute the patrol.</p>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Dcs.DCSTypes.html##(Speed)">Dcs.DCSTypes#Speed</a> PatrolMinSpeed </em></code>:
|
||||
The minimum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
|
||||
The minimum speed of the <a href="Group.html">Group</a> in km/h.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Dcs.DCSTypes.html##(Speed)">Dcs.DCSTypes#Speed</a> PatrolMaxSpeed </em></code>:
|
||||
The maximum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
|
||||
The maximum speed of the <a href="Group.html">Group</a> in km/h.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Dcs.DCSTypes.html##(Speed)">Dcs.DCSTypes#Speed</a> EngageMinSpeed </em></code>:
|
||||
The minimum speed of the <a href="Controllable.html">Controllable</a> in km/h when engaging a target.</p>
|
||||
The minimum speed of the <a href="Group.html">Group</a> in km/h when engaging a target.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Dcs.DCSTypes.html##(Speed)">Dcs.DCSTypes#Speed</a> EngageMaxSpeed </em></code>:
|
||||
The maximum speed of the <a href="Controllable.html">Controllable</a> in km/h when engaging a target.</p>
|
||||
The maximum speed of the <a href="Group.html">Group</a> in km/h when engaging a target.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -783,7 +783,7 @@ The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).OnAfterAbort" >
|
||||
<strong>AI_A2A_CAP:OnAfterAbort(Controllable, From, Event, To)</strong>
|
||||
<strong>AI_A2A_CAP:OnAfterAbort(AICap, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -794,8 +794,8 @@ The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -823,7 +823,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).OnAfterAccomplish" >
|
||||
<strong>AI_A2A_CAP:OnAfterAccomplish(Controllable, From, Event, To)</strong>
|
||||
<strong>AI_A2A_CAP:OnAfterAccomplish(AICap, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -834,8 +834,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -863,7 +863,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).OnAfterDestroy" >
|
||||
<strong>AI_A2A_CAP:OnAfterDestroy(Controllable, From, Event, To)</strong>
|
||||
<strong>AI_A2A_CAP:OnAfterDestroy(AICap, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -874,8 +874,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -903,7 +903,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).OnAfterEngage" >
|
||||
<strong>AI_A2A_CAP:OnAfterEngage(Controllable, From, Event, To)</strong>
|
||||
<strong>AI_A2A_CAP:OnAfterEngage(AICap, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -914,8 +914,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -943,7 +943,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).OnAfterFired" >
|
||||
<strong>AI_A2A_CAP:OnAfterFired(Controllable, From, Event, To)</strong>
|
||||
<strong>AI_A2A_CAP:OnAfterFired(AICap, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -954,8 +954,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -983,7 +983,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).OnBeforeAbort" >
|
||||
<strong>AI_A2A_CAP:OnBeforeAbort(Controllable, From, Event, To)</strong>
|
||||
<strong>AI_A2A_CAP:OnBeforeAbort(AICap, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -994,8 +994,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -1028,7 +1028,7 @@ Return false to cancel Transition.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).OnBeforeAccomplish" >
|
||||
<strong>AI_A2A_CAP:OnBeforeAccomplish(Controllable, From, Event, To)</strong>
|
||||
<strong>AI_A2A_CAP:OnBeforeAccomplish(AICap, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1039,8 +1039,8 @@ Return false to cancel Transition.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -1073,7 +1073,7 @@ Return false to cancel Transition.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).OnBeforeDestroy" >
|
||||
<strong>AI_A2A_CAP:OnBeforeDestroy(Controllable, From, Event, To)</strong>
|
||||
<strong>AI_A2A_CAP:OnBeforeDestroy(AICap, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1084,8 +1084,8 @@ Return false to cancel Transition.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -1118,7 +1118,7 @@ Return false to cancel Transition.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).OnBeforeEngage" >
|
||||
<strong>AI_A2A_CAP:OnBeforeEngage(Controllable, From, Event, To)</strong>
|
||||
<strong>AI_A2A_CAP:OnBeforeEngage(AICap, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1129,8 +1129,8 @@ Return false to cancel Transition.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -1163,7 +1163,7 @@ Return false to cancel Transition.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).OnBeforeFired" >
|
||||
<strong>AI_A2A_CAP:OnBeforeFired(Controllable, From, Event, To)</strong>
|
||||
<strong>AI_A2A_CAP:OnBeforeFired(AICap, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1174,8 +1174,8 @@ Return false to cancel Transition.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -1208,7 +1208,7 @@ Return false to cancel Transition.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).OnEnterEngaging" >
|
||||
<strong>AI_A2A_CAP:OnEnterEngaging(Controllable, From, Event, To)</strong>
|
||||
<strong>AI_A2A_CAP:OnEnterEngaging(AICap, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1219,8 +1219,8 @@ Return false to cancel Transition.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -1269,7 +1269,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).OnLeaveEngaging" >
|
||||
<strong>AI_A2A_CAP:OnLeaveEngaging(Controllable, From, Event, To)</strong>
|
||||
<strong>AI_A2A_CAP:OnLeaveEngaging(AICap, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1280,8 +1280,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -1314,7 +1314,7 @@ Return false to cancel Transition.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).Resume" >
|
||||
<strong>AI_A2A_CAP.Resume(AIGroup)</strong>
|
||||
<strong>AI_A2A_CAP.Resume(AICap)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1325,7 +1325,7 @@ Return false to cancel Transition.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>: </p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>: </p>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
@@ -1499,7 +1499,7 @@ The delay in seconds.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).onafterAbort" >
|
||||
<strong>AI_A2A_CAP:onafterAbort(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_CAP:onafterAbort(AICap, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1510,7 +1510,7 @@ The delay in seconds.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> AIGroup </em></code>:
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
|
||||
The AI Group managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
@@ -1539,7 +1539,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).onafterAccomplish" >
|
||||
<strong>AI_A2A_CAP:onafterAccomplish(Controllable, From, Event, To)</strong>
|
||||
<strong>AI_A2A_CAP:onafterAccomplish(AICap, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1550,8 +1550,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -1579,7 +1579,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).onafterDestroy" >
|
||||
<strong>AI_A2A_CAP:onafterDestroy(Controllable, From, Event, To, EventData)</strong>
|
||||
<strong>AI_A2A_CAP:onafterDestroy(AICap, From, Event, To, EventData)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1590,8 +1590,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -1624,7 +1624,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).onafterEngage" >
|
||||
<strong>AI_A2A_CAP:onafterEngage(AIGroup, From, Event, To, AttackSetUnit)</strong>
|
||||
<strong>AI_A2A_CAP:onafterEngage(AICap, From, Event, To, AttackSetUnit)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1635,8 +1635,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> AIGroup </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
|
||||
The AICap Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -1669,7 +1669,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).onafterPatrol" >
|
||||
<strong>AI_A2A_CAP:onafterPatrol(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_CAP:onafterPatrol(AICap, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1680,7 +1680,7 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> AIGroup </em></code>:
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
|
||||
The AI Group managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
@@ -1709,7 +1709,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).onafterStart" >
|
||||
<strong>AI_A2A_CAP:onafterStart(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_CAP:onafterStart(AICap, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1720,7 +1720,7 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
|
||||
The AI Group managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
@@ -1749,7 +1749,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_CAP).onbeforeEngage" >
|
||||
<strong>AI_A2A_CAP:onbeforeEngage(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_CAP:onbeforeEngage(AICap, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1760,8 +1760,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> AIGroup </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
@@ -205,79 +205,79 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).InterceptRoute">AI_A2A_GCI.InterceptRoute(AIControllable, AIGroup, Fsm)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).InterceptRoute">AI_A2A_GCI.InterceptRoute(AIControllable, AIIntercept, Fsm)</a></td>
|
||||
<td class="summary">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).New">AI_A2A_GCI:New(AIGroup, EngageMinSpeed, EngageMaxSpeed)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).New">AI_A2A_GCI:New(AIIntercept, EngageMinSpeed, EngageMaxSpeed)</a></td>
|
||||
<td class="summary">
|
||||
<p>Creates a new AI<em>A2A</em>GCI object</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnAfterAbort">AI_A2A_GCI:OnAfterAbort(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnAfterAbort">AI_A2A_GCI:OnAfterAbort(AIIntercept, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnAfter Transition Handler for Event Abort.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnAfterAccomplish">AI_A2A_GCI:OnAfterAccomplish(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnAfterAccomplish">AI_A2A_GCI:OnAfterAccomplish(AIIntercept, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnAfter Transition Handler for Event Accomplish.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnAfterDestroy">AI_A2A_GCI:OnAfterDestroy(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnAfterDestroy">AI_A2A_GCI:OnAfterDestroy(AIIntercept, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnAfter Transition Handler for Event Destroy.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnAfterEngage">AI_A2A_GCI:OnAfterEngage(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnAfterEngage">AI_A2A_GCI:OnAfterEngage(AIIntercept, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnAfter Transition Handler for Event Engage.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnAfterFired">AI_A2A_GCI:OnAfterFired(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnAfterFired">AI_A2A_GCI:OnAfterFired(AIIntercept, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnAfter Transition Handler for Event Fired.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnBeforeAbort">AI_A2A_GCI:OnBeforeAbort(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnBeforeAbort">AI_A2A_GCI:OnBeforeAbort(AIIntercept, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnBefore Transition Handler for Event Abort.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnBeforeAccomplish">AI_A2A_GCI:OnBeforeAccomplish(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnBeforeAccomplish">AI_A2A_GCI:OnBeforeAccomplish(AIIntercept, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnBefore Transition Handler for Event Accomplish.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnBeforeDestroy">AI_A2A_GCI:OnBeforeDestroy(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnBeforeDestroy">AI_A2A_GCI:OnBeforeDestroy(AIIntercept, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnBefore Transition Handler for Event Destroy.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnBeforeEngage">AI_A2A_GCI:OnBeforeEngage(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnBeforeEngage">AI_A2A_GCI:OnBeforeEngage(AIIntercept, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnBefore Transition Handler for Event Engage.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnBeforeFired">AI_A2A_GCI:OnBeforeFired(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnBeforeFired">AI_A2A_GCI:OnBeforeFired(AIIntercept, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnBefore Transition Handler for Event Fired.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnEnterEngaging">AI_A2A_GCI:OnEnterEngaging(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnEnterEngaging">AI_A2A_GCI:OnEnterEngaging(AIIntercept, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnEnter Transition Handler for State Engaging.</p>
|
||||
</td>
|
||||
@@ -289,7 +289,7 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnLeaveEngaging">AI_A2A_GCI:OnLeaveEngaging(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnLeaveEngaging">AI_A2A_GCI:OnLeaveEngaging(AIIntercept, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnLeave Transition Handler for State Engaging.</p>
|
||||
</td>
|
||||
@@ -343,37 +343,37 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onafterAbort">AI_A2A_GCI:onafterAbort(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onafterAbort">AI_A2A_GCI:onafterAbort(AIIntercept, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onafterAccomplish">AI_A2A_GCI:onafterAccomplish(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onafterAccomplish">AI_A2A_GCI:onafterAccomplish(AIIntercept, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onafterDestroy">AI_A2A_GCI:onafterDestroy(AIGroup, From, Event, To, EventData)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onafterDestroy">AI_A2A_GCI:onafterDestroy(AIIntercept, From, Event, To, EventData)</a></td>
|
||||
<td class="summary">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onafterEngage">AI_A2A_GCI:onafterEngage(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onafterEngage">AI_A2A_GCI:onafterEngage(AIIntercept, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>onafter State Transition for Event Patrol.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onafterStart">AI_A2A_GCI:onafterStart(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onafterStart">AI_A2A_GCI:onafterStart(AIIntercept, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>onafter State Transition for Event Patrol.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onbeforeEngage">AI_A2A_GCI:onbeforeEngage(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onbeforeEngage">AI_A2A_GCI:onbeforeEngage(AIIntercept, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
|
||||
</td>
|
||||
@@ -624,7 +624,7 @@ Use the method <a href="AI_Cap.html##(AI_A2A_GCI).SetEngageZone">AI<em>Cap#AI</e
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_GCI).InterceptRoute" >
|
||||
<strong>AI_A2A_GCI.InterceptRoute(AIControllable, AIGroup, Fsm)</strong>
|
||||
<strong>AI_A2A_GCI.InterceptRoute(AIControllable, AIIntercept, Fsm)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -640,7 +640,7 @@ Use the method <a href="AI_Cap.html##(AI_A2A_GCI).SetEngageZone">AI<em>Cap#AI</e
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p><code><em> AIGroup </em></code>: </p>
|
||||
<p><code><em> AIIntercept </em></code>: </p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -655,7 +655,7 @@ Use the method <a href="AI_Cap.html##(AI_A2A_GCI).SetEngageZone">AI<em>Cap#AI</e
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_GCI).New" >
|
||||
<strong>AI_A2A_GCI:New(AIGroup, EngageMinSpeed, EngageMaxSpeed)</strong>
|
||||
<strong>AI_A2A_GCI:New(AIIntercept, EngageMinSpeed, EngageMaxSpeed)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -666,7 +666,7 @@ Use the method <a href="AI_Cap.html##(AI_A2A_GCI).SetEngageZone">AI<em>Cap#AI</e
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>: </p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>: </p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -691,7 +691,7 @@ Use the method <a href="AI_Cap.html##(AI_A2A_GCI).SetEngageZone">AI<em>Cap#AI</e
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_GCI).OnAfterAbort" >
|
||||
<strong>AI_A2A_GCI:OnAfterAbort(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_GCI:OnAfterAbort(AIIntercept, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -702,8 +702,8 @@ Use the method <a href="AI_Cap.html##(AI_A2A_GCI).SetEngageZone">AI<em>Cap#AI</e
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
|
||||
The AIGroup Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -731,7 +731,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_GCI).OnAfterAccomplish" >
|
||||
<strong>AI_A2A_GCI:OnAfterAccomplish(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_GCI:OnAfterAccomplish(AIIntercept, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -742,8 +742,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
|
||||
The AIGroup Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -771,7 +771,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_GCI).OnAfterDestroy" >
|
||||
<strong>AI_A2A_GCI:OnAfterDestroy(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_GCI:OnAfterDestroy(AIIntercept, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -782,8 +782,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
|
||||
The AIGroup Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -811,7 +811,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_GCI).OnAfterEngage" >
|
||||
<strong>AI_A2A_GCI:OnAfterEngage(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_GCI:OnAfterEngage(AIIntercept, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -822,8 +822,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
|
||||
The AIGroup Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -851,7 +851,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_GCI).OnAfterFired" >
|
||||
<strong>AI_A2A_GCI:OnAfterFired(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_GCI:OnAfterFired(AIIntercept, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -862,8 +862,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
|
||||
The AIGroup Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -891,7 +891,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_GCI).OnBeforeAbort" >
|
||||
<strong>AI_A2A_GCI:OnBeforeAbort(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_GCI:OnBeforeAbort(AIIntercept, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -902,8 +902,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
|
||||
The AIGroup Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -936,7 +936,7 @@ Return false to cancel Transition.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_GCI).OnBeforeAccomplish" >
|
||||
<strong>AI_A2A_GCI:OnBeforeAccomplish(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_GCI:OnBeforeAccomplish(AIIntercept, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -947,8 +947,8 @@ Return false to cancel Transition.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
|
||||
The AIGroup Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -981,7 +981,7 @@ Return false to cancel Transition.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_GCI).OnBeforeDestroy" >
|
||||
<strong>AI_A2A_GCI:OnBeforeDestroy(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_GCI:OnBeforeDestroy(AIIntercept, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -992,8 +992,8 @@ Return false to cancel Transition.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
|
||||
The AIGroup Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -1026,7 +1026,7 @@ Return false to cancel Transition.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_GCI).OnBeforeEngage" >
|
||||
<strong>AI_A2A_GCI:OnBeforeEngage(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_GCI:OnBeforeEngage(AIIntercept, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1037,8 +1037,8 @@ Return false to cancel Transition.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
|
||||
The AIGroup Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -1071,7 +1071,7 @@ Return false to cancel Transition.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_GCI).OnBeforeFired" >
|
||||
<strong>AI_A2A_GCI:OnBeforeFired(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_GCI:OnBeforeFired(AIIntercept, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1082,8 +1082,8 @@ Return false to cancel Transition.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
|
||||
The AIGroup Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -1116,7 +1116,7 @@ Return false to cancel Transition.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_GCI).OnEnterEngaging" >
|
||||
<strong>AI_A2A_GCI:OnEnterEngaging(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_GCI:OnEnterEngaging(AIIntercept, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1127,8 +1127,8 @@ Return false to cancel Transition.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
|
||||
The AIGroup Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -1177,7 +1177,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_GCI).OnLeaveEngaging" >
|
||||
<strong>AI_A2A_GCI:OnLeaveEngaging(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_GCI:OnLeaveEngaging(AIIntercept, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1188,8 +1188,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
|
||||
The AIGroup Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -1374,7 +1374,7 @@ The delay in seconds.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_GCI).onafterAbort" >
|
||||
<strong>AI_A2A_GCI:onafterAbort(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_GCI:onafterAbort(AIIntercept, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1385,7 +1385,7 @@ The delay in seconds.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
|
||||
The AI Group managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
@@ -1414,7 +1414,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_GCI).onafterAccomplish" >
|
||||
<strong>AI_A2A_GCI:onafterAccomplish(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_GCI:onafterAccomplish(AIIntercept, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1425,8 +1425,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
|
||||
The AIGroup Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -1454,7 +1454,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_GCI).onafterDestroy" >
|
||||
<strong>AI_A2A_GCI:onafterDestroy(AIGroup, From, Event, To, EventData)</strong>
|
||||
<strong>AI_A2A_GCI:onafterDestroy(AIIntercept, From, Event, To, EventData)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1465,8 +1465,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
|
||||
The AIGroup Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -1499,7 +1499,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_GCI).onafterEngage" >
|
||||
<strong>AI_A2A_GCI:onafterEngage(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_GCI:onafterEngage(AIIntercept, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1510,7 +1510,7 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
|
||||
The AI Group managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
@@ -1539,7 +1539,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_GCI).onafterStart" >
|
||||
<strong>AI_A2A_GCI:onafterStart(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_GCI:onafterStart(AIIntercept, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1550,7 +1550,7 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
|
||||
The AI Group managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
@@ -1579,7 +1579,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_GCI).onbeforeEngage" >
|
||||
<strong>AI_A2A_GCI:onbeforeEngage(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_GCI:onbeforeEngage(AIIntercept, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1590,8 +1590,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
|
||||
The AIGroup Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
|
||||
<hr/>
|
||||
|
||||
<p>AI PATROL classes makes AI Controllables execute an Patrol.</p>
|
||||
<p>AI PATROL classes makes AI Groups execute an Patrol.</p>
|
||||
|
||||
|
||||
|
||||
@@ -158,50 +158,50 @@
|
||||
<td class="summary">
|
||||
<h1>AI<em>A2A</em>PATROL class, extends <a href="Fsm.html##(FSM_CONTROLLABLE)">Fsm#FSM_CONTROLLABLE</a></h1>
|
||||
|
||||
<p>The AI<em>A2A</em>PATROL class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Controllable.html">Controllable</a> or <a href="Group.html">Group</a>.</p>
|
||||
<p>The AI<em>A2A</em>PATROL class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Group.html">Group</a> or <a href="Group.html">Group</a>.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2><a id="#(AI_A2A_PATROL)">Type <code>AI_A2A_PATROL</code></a></h2>
|
||||
<table class="function_list">
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).New">AI_A2A_PATROL:New(AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).New">AI_A2A_PATROL:New(AIPatrol, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType)</a></td>
|
||||
<td class="summary">
|
||||
<p>Creates a new AI<em>A2A</em>PATROL object</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnAfterPatrol">AI_A2A_PATROL:OnAfterPatrol(Controllable, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnAfterPatrol">AI_A2A_PATROL:OnAfterPatrol(AIPatrol, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnAfter Transition Handler for Event Patrol.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnAfterRoute">AI_A2A_PATROL:OnAfterRoute(Controllable, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnAfterRoute">AI_A2A_PATROL:OnAfterRoute(AIPatrol, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnAfter Transition Handler for Event Route.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnBeforePatrol">AI_A2A_PATROL:OnBeforePatrol(Controllable, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnBeforePatrol">AI_A2A_PATROL:OnBeforePatrol(AIPatrol, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnBefore Transition Handler for Event Patrol.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnBeforeRoute">AI_A2A_PATROL:OnBeforeRoute(Controllable, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnBeforeRoute">AI_A2A_PATROL:OnBeforeRoute(AIPatrol, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnBefore Transition Handler for Event Route.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnEnterPatrolling">AI_A2A_PATROL:OnEnterPatrolling(Controllable, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnEnterPatrolling">AI_A2A_PATROL:OnEnterPatrolling(AIPatrol, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnEnter Transition Handler for State Patrolling.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnLeavePatrolling">AI_A2A_PATROL:OnLeavePatrolling(Controllable, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnLeavePatrolling">AI_A2A_PATROL:OnLeavePatrolling(AIPatrol, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>OnLeave Transition Handler for State Patrolling.</p>
|
||||
</td>
|
||||
@@ -243,7 +243,7 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).PatrolRoute">AI_A2A_PATROL.PatrolRoute(AIGroup, Fsm)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).PatrolRoute">AI_A2A_PATROL.PatrolRoute(AIPatrol, Fsm)</a></td>
|
||||
<td class="summary">
|
||||
|
||||
</td>
|
||||
@@ -255,7 +255,7 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).Resume">AI_A2A_PATROL.Resume(AIGroup)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).Resume">AI_A2A_PATROL.Resume(AIPatrol)</a></td>
|
||||
<td class="summary">
|
||||
|
||||
</td>
|
||||
@@ -291,13 +291,13 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).onafterPatrol">AI_A2A_PATROL:onafterPatrol(Controllable, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).onafterPatrol">AI_A2A_PATROL:onafterPatrol(AIPatrol, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>Defines a new patrol route using the <a href="Process_PatrolZone.html">Process_PatrolZone</a> parameters and settings.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).onafterRoute">AI_A2A_PATROL:onafterRoute(AIGroup, From, Event, To)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).onafterRoute">AI_A2A_PATROL:onafterRoute(AIPatrol, From, Event, To)</a></td>
|
||||
<td class="summary">
|
||||
<p>Defines a new patrol route using the <a href="Process_PatrolZone.html">Process_PatrolZone</a> parameters and settings.</p>
|
||||
</td>
|
||||
@@ -317,7 +317,7 @@
|
||||
|
||||
<h1>AI<em>A2A</em>PATROL class, extends <a href="Fsm.html##(FSM_CONTROLLABLE)">Fsm#FSM_CONTROLLABLE</a></h1>
|
||||
|
||||
<p>The AI<em>A2A</em>PATROL class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Controllable.html">Controllable</a> or <a href="Group.html">Group</a>.</p>
|
||||
<p>The AI<em>A2A</em>PATROL class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Group.html">Group</a> or <a href="Group.html">Group</a>.</p>
|
||||
|
||||
|
||||
|
||||
@@ -426,7 +426,7 @@ Use the method <a href="##(AI_A2A_PATROL).ManageFuel">AI<em>A2A</em>PATROL.Manag
|
||||
|
||||
<h2>7. Manage "damage" behaviour of the AI in the AI<em>A2A</em>PATROL</h2>
|
||||
|
||||
<p>When the AI is damaged, it is required that a new AIControllable is started. However, damage cannon be foreseen early on.
|
||||
<p>When the AI is damaged, it is required that a new Patrol is started. However, damage cannon be foreseen early on.
|
||||
Therefore, when the damage treshold is reached, the AI will return immediately to the home base (RTB).
|
||||
Use the method <a href="##(AI_A2A_PATROL).ManageDamage">AI<em>A2A</em>PATROL.ManageDamage</a>() to have this proces in place.</p>
|
||||
|
||||
@@ -445,7 +445,7 @@ Use the method <a href="##(AI_A2A_PATROL).ManageDamage">AI<em>A2A</em>PATROL.Man
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_PATROL).New" >
|
||||
<strong>AI_A2A_PATROL:New(AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType)</strong>
|
||||
<strong>AI_A2A_PATROL:New(AIPatrol, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -456,7 +456,7 @@ Use the method <a href="##(AI_A2A_PATROL).ManageDamage">AI<em>A2A</em>PATROL.Man
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>: </p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>: </p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -480,13 +480,13 @@ The highest altitude in meters where to execute the patrol.</p>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Dcs.DCSTypes.html##(Speed)">Dcs.DCSTypes#Speed</a> PatrolMinSpeed </em></code>:
|
||||
The minimum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
|
||||
The minimum speed of the <a href="Group.html">Group</a> in km/h.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Dcs.DCSTypes.html##(Speed)">Dcs.DCSTypes#Speed</a> PatrolMaxSpeed </em></code>:
|
||||
The maximum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
|
||||
The maximum speed of the <a href="Group.html">Group</a> in km/h.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -502,7 +502,7 @@ The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO</p>
|
||||
self</p>
|
||||
|
||||
<h3>Usage:</h3>
|
||||
<pre class="example"><code>-- Define a new AI_A2A_PATROL Object. This PatrolArea will patrol an AIControllable within PatrolZone between 3000 and 6000 meters, with a variying speed between 600 and 900 km/h.
|
||||
<pre class="example"><code>-- Define a new AI_A2A_PATROL Object. This PatrolArea will patrol a Group within PatrolZone between 3000 and 6000 meters, with a variying speed between 600 and 900 km/h.
|
||||
PatrolZone = ZONE:New( 'PatrolZone' )
|
||||
PatrolSpawn = SPAWN:New( 'Patrol Group' )
|
||||
PatrolArea = AI_A2A_PATROL:New( PatrolZone, 3000, 6000, 600, 900 )</code></pre>
|
||||
@@ -513,7 +513,7 @@ PatrolArea = AI_A2A_PATROL:New( PatrolZone, 3000, 6000, 600, 900 )</code></pre>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_PATROL).OnAfterPatrol" >
|
||||
<strong>AI_A2A_PATROL:OnAfterPatrol(Controllable, From, Event, To)</strong>
|
||||
<strong>AI_A2A_PATROL:OnAfterPatrol(AIPatrol, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -524,8 +524,8 @@ PatrolArea = AI_A2A_PATROL:New( PatrolZone, 3000, 6000, 600, 900 )</code></pre>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -553,7 +553,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_PATROL).OnAfterRoute" >
|
||||
<strong>AI_A2A_PATROL:OnAfterRoute(Controllable, From, Event, To)</strong>
|
||||
<strong>AI_A2A_PATROL:OnAfterRoute(AIPatrol, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -564,8 +564,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -593,7 +593,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_PATROL).OnBeforePatrol" >
|
||||
<strong>AI_A2A_PATROL:OnBeforePatrol(Controllable, From, Event, To)</strong>
|
||||
<strong>AI_A2A_PATROL:OnBeforePatrol(AIPatrol, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -604,8 +604,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -638,7 +638,7 @@ Return false to cancel Transition.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_PATROL).OnBeforeRoute" >
|
||||
<strong>AI_A2A_PATROL:OnBeforeRoute(Controllable, From, Event, To)</strong>
|
||||
<strong>AI_A2A_PATROL:OnBeforeRoute(AIPatrol, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -649,8 +649,8 @@ Return false to cancel Transition.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -683,7 +683,7 @@ Return false to cancel Transition.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_PATROL).OnEnterPatrolling" >
|
||||
<strong>AI_A2A_PATROL:OnEnterPatrolling(Controllable, From, Event, To)</strong>
|
||||
<strong>AI_A2A_PATROL:OnEnterPatrolling(AIPatrol, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -694,8 +694,8 @@ Return false to cancel Transition.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -723,7 +723,7 @@ The To State string.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_PATROL).OnLeavePatrolling" >
|
||||
<strong>AI_A2A_PATROL:OnLeavePatrolling(Controllable, From, Event, To)</strong>
|
||||
<strong>AI_A2A_PATROL:OnLeavePatrolling(AIPatrol, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -734,8 +734,8 @@ The To State string.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -853,7 +853,7 @@ Return false to cancel Transition.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_PATROL).PatrolRoute" >
|
||||
<strong>AI_A2A_PATROL.PatrolRoute(AIGroup, Fsm)</strong>
|
||||
<strong>AI_A2A_PATROL.PatrolRoute(AIPatrol, Fsm)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -864,9 +864,9 @@ Return false to cancel Transition.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
|
||||
This statis method is called from the route path within the last task at the last waaypoint of the Controllable.
|
||||
Note that this method is required, as triggers the next route when patrolling for the Controllable.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>:
|
||||
This statis method is called from the route path within the last task at the last waaypoint of the AIPatrol.
|
||||
Note that this method is required, as triggers the next route when patrolling for the AIPatrol.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -895,7 +895,7 @@ Note that this method is required, as triggers the next route when patrolling fo
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_PATROL).Resume" >
|
||||
<strong>AI_A2A_PATROL.Resume(AIGroup)</strong>
|
||||
<strong>AI_A2A_PATROL.Resume(AIPatrol)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -906,7 +906,7 @@ Note that this method is required, as triggers the next route when patrolling fo
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>: </p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>: </p>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
@@ -974,13 +974,13 @@ self</p>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Dcs.DCSTypes.html##(Speed)">Dcs.DCSTypes#Speed</a> PatrolMinSpeed </em></code>:
|
||||
The minimum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
|
||||
The minimum speed of the <a href="Group.html">Group</a> in km/h.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Dcs.DCSTypes.html##(Speed)">Dcs.DCSTypes#Speed</a> PatrolMaxSpeed </em></code>:
|
||||
The maximum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
|
||||
The maximum speed of the <a href="Group.html">Group</a> in km/h.</p>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
@@ -1039,7 +1039,7 @@ The delay in seconds.</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_PATROL).onafterPatrol" >
|
||||
<strong>AI_A2A_PATROL:onafterPatrol(Controllable, From, Event, To)</strong>
|
||||
<strong>AI_A2A_PATROL:onafterPatrol(AIPatrol, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1050,8 +1050,8 @@ The delay in seconds.</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
|
||||
The Controllable Object managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>:
|
||||
The Group Object managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -1084,7 +1084,7 @@ self</p>
|
||||
<dt>
|
||||
|
||||
<a id="#(AI_A2A_PATROL).onafterRoute" >
|
||||
<strong>AI_A2A_PATROL:onafterRoute(AIGroup, From, Event, To)</strong>
|
||||
<strong>AI_A2A_PATROL:onafterRoute(AIPatrol, From, Event, To)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -1095,8 +1095,8 @@ self</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
|
||||
The AIGroup managed by the FSM.</p>
|
||||
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>:
|
||||
The Group managed by the FSM.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
@@ -927,9 +927,6 @@ Use the method <a href="##(AI_PATROL_ZONE).ManageDamage">AI<em>PATROL</em>ZONE.M
|
||||
|
||||
|
||||
|
||||
|
||||
<p> This table contains the targets detected during patrol.</p>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="function">
|
||||
|
||||
@@ -417,6 +417,30 @@ place: Object that the unit landed on.</p>
|
||||
<td class="name" nowrap="nowrap"><a href="##(BASE).OnEventTakeoff">BASE:OnEventTakeoff(EventData)</a></td>
|
||||
<td class="summary">
|
||||
<p>Occurs when an aircraft takes off from an airbase, farp, or ship.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(BASE).ScheduleOnce">BASE:ScheduleOnce(Start, SchedulerFunction, ...)</a></td>
|
||||
<td class="summary">
|
||||
<p>Schedule a new time event.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(BASE).ScheduleRepeat">BASE:ScheduleRepeat(Start, Repeat, RandomizeFactor, Stop, SchedulerFunction, ...)</a></td>
|
||||
<td class="summary">
|
||||
<p>Schedule a new time event.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(BASE).ScheduleStop">BASE:ScheduleStop(SchedulerFunction)</a></td>
|
||||
<td class="summary">
|
||||
<p>Stops the Schedule.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(BASE).SchedulerObject">BASE.SchedulerObject</a></td>
|
||||
<td class="summary">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -485,6 +509,12 @@ When Moose is loaded statically, (as one file), tracing is switched off by defau
|
||||
<td class="name" nowrap="nowrap"><a href="##(BASE).UnHandleEvent">BASE:UnHandleEvent(Event)</a></td>
|
||||
<td class="summary">
|
||||
<p>UnSubscribe to a DCS event.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(BASE)._">BASE._</a></td>
|
||||
<td class="summary">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -1900,6 +1930,144 @@ The EventData structure.</p>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<a id="#(BASE).ScheduleOnce" >
|
||||
<strong>BASE:ScheduleOnce(Start, SchedulerFunction, ...)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
<p>Schedule a new time event.</p>
|
||||
|
||||
|
||||
<p>Note that the schedule will only take place if the scheduler is <em>started</em>. Even for a single schedule event, the scheduler needs to be started also.</p>
|
||||
|
||||
<h3>Parameters</h3>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em>#number Start </em></code>:
|
||||
Specifies the amount of seconds that will be waited before the scheduling is started, and the event function is called.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p><code><em>#function SchedulerFunction </em></code>:
|
||||
The event function to be called when a timer event occurs. The event function needs to accept the parameters specified in SchedulerArguments.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p><code><em>#table ... </em></code>:
|
||||
Optional arguments that can be given as part of scheduler. The arguments need to be given as a table { param1, param 2, ... }.</p>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Return value</h3>
|
||||
|
||||
<p><em>#number:</em>
|
||||
The ScheduleID of the planned schedule.</p>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<a id="#(BASE).ScheduleRepeat" >
|
||||
<strong>BASE:ScheduleRepeat(Start, Repeat, RandomizeFactor, Stop, SchedulerFunction, ...)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
<p>Schedule a new time event.</p>
|
||||
|
||||
|
||||
<p>Note that the schedule will only take place if the scheduler is <em>started</em>. Even for a single schedule event, the scheduler needs to be started also.</p>
|
||||
|
||||
<h3>Parameters</h3>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em>#number Start </em></code>:
|
||||
Specifies the amount of seconds that will be waited before the scheduling is started, and the event function is called.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p><code><em>#number Repeat </em></code>:
|
||||
Specifies the interval in seconds when the scheduler will call the event function.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p><code><em>#number RandomizeFactor </em></code>:
|
||||
Specifies a randomization factor between 0 and 1 to randomize the Repeat.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p><code><em>#number Stop </em></code>:
|
||||
Specifies the amount of seconds when the scheduler will be stopped.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p><code><em>#function SchedulerFunction </em></code>:
|
||||
The event function to be called when a timer event occurs. The event function needs to accept the parameters specified in SchedulerArguments.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p><code><em>#table ... </em></code>:
|
||||
Optional arguments that can be given as part of scheduler. The arguments need to be given as a table { param1, param 2, ... }.</p>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Return value</h3>
|
||||
|
||||
<p><em>#number:</em>
|
||||
The ScheduleID of the planned schedule.</p>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<a id="#(BASE).ScheduleStop" >
|
||||
<strong>BASE:ScheduleStop(SchedulerFunction)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
<p>Stops the Schedule.</p>
|
||||
|
||||
<h3>Parameter</h3>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em>#function SchedulerFunction </em></code>:
|
||||
The event function to be called when a timer event occurs. The event function needs to accept the parameters specified in SchedulerArguments.</p>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<em></em>
|
||||
<a id="#(BASE).SchedulerObject" >
|
||||
<strong>BASE.SchedulerObject</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="function">
|
||||
@@ -2209,6 +2377,20 @@ BASE:TraceOnOff( false )</code></pre>
|
||||
<p><em><a href="##(BASE)">#BASE</a>:</em></p>
|
||||
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<em><a href="##(BASE._)">#BASE._</a></em>
|
||||
<a id="#(BASE)._" >
|
||||
<strong>BASE._</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="function">
|
||||
@@ -2320,6 +2502,8 @@ A #table or any field.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<h2><a id="#(BASE._)" >Type <code>BASE._</code></a></h2>
|
||||
|
||||
<h2><a id="#(BASE.__)" >Type <code>BASE.__</code></a></h2>
|
||||
|
||||
<h2><a id="#(FORMATION)" >Type <code>FORMATION</code></a></h2>
|
||||
|
||||
@@ -3418,6 +3418,7 @@ The range till cargo will board.</p>
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<em></em>
|
||||
<a id="#(CARGO_UNIT).CargoCarrier" >
|
||||
<strong>CARGO_UNIT.CargoCarrier</strong>
|
||||
</a>
|
||||
|
||||
@@ -2460,6 +2460,7 @@ The index of the DetectedItem.</p>
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<em>#number</em>
|
||||
<a id="#(DETECTION_BASE).DetectedItemCount" >
|
||||
<strong>DETECTION_BASE.DetectedItemCount</strong>
|
||||
</a>
|
||||
@@ -2473,6 +2474,7 @@ The index of the DetectedItem.</p>
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<em>#number</em>
|
||||
<a id="#(DETECTION_BASE).DetectedItemMax" >
|
||||
<strong>DETECTION_BASE.DetectedItemMax</strong>
|
||||
</a>
|
||||
|
||||
@@ -1599,7 +1599,7 @@ A string defining the start state.</p>
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<em></em>
|
||||
<em>#string</em>
|
||||
<a id="#(FSM)._StartState" >
|
||||
<strong>FSM._StartState</strong>
|
||||
</a>
|
||||
@@ -1898,7 +1898,6 @@ A string defining the start state.</p>
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<em></em>
|
||||
<a id="#(FSM).current" >
|
||||
<strong>FSM.current</strong>
|
||||
</a>
|
||||
|
||||
@@ -1974,6 +1974,7 @@ The height in meters to add to the altitude of the positionable.</p>
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<em><a href="Core.Spot.html##(SPOT)">Core.Spot#SPOT</a></em>
|
||||
<a id="#(POSITIONABLE).Spot" >
|
||||
<strong>POSITIONABLE.Spot</strong>
|
||||
</a>
|
||||
|
||||
@@ -217,7 +217,9 @@ just large enough around that building.</p>
|
||||
<p>A mission has goals and achievements. The scoring system provides an API to set additional scores when a goal or achievement event happens.
|
||||
Use the method <a href="##(SCORING).AddGoalScore">SCORING.AddGoalScore</a>() to add a score for a Player at any time in your mission.</p>
|
||||
|
||||
<h2>1.5) Configure fratricide level.</h2>
|
||||
<h2>1.5) (Decommissioned) Configure fratricide level.</h2>
|
||||
|
||||
<p><strong>This functionality is decomissioned until the DCS bug concerning Unit:destroy() not being functional in multi player for player units has been fixed by ED</strong>.</p>
|
||||
|
||||
<p>When a player commits too much damage to friendlies, his penalty score will reach a certain level.
|
||||
Use the method <a href="##(SCORING).SetFratricide">SCORING.SetFratricide</a>() to define the level when a player gets kicked. <br/>
|
||||
|
||||
@@ -1241,7 +1241,7 @@ true if metric.</p>
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<em>#boolean</em>
|
||||
<em></em>
|
||||
<a id="#(SETTINGS).Metric" >
|
||||
<strong>SETTINGS.Metric</strong>
|
||||
</a>
|
||||
|
||||
@@ -3163,7 +3163,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<em></em>
|
||||
<em>#boolean</em>
|
||||
<a id="#(SPAWN).SpawnUnControlled" >
|
||||
<strong>SPAWN.SpawnUnControlled</strong>
|
||||
</a>
|
||||
|
||||
@@ -567,6 +567,7 @@ based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TA
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<em></em>
|
||||
<a id="#(FSM_PROCESS).DeployZone" >
|
||||
<strong>FSM_PROCESS.DeployZone</strong>
|
||||
</a>
|
||||
|
||||
@@ -130,7 +130,7 @@
|
||||
|
||||
<hr/>
|
||||
|
||||
<p>AI CAP classes makes AI Controllables execute a Combat Air Patrol.</p>
|
||||
<p>AI CAP classes makes AI Groups execute a Combat Air Patrol.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -160,7 +160,7 @@
|
||||
|
||||
<hr/>
|
||||
|
||||
<p>AI PATROL classes makes AI Controllables execute an Patrol.</p>
|
||||
<p>AI PATROL classes makes AI Groups execute an Patrol.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
|
Before Width: | Height: | Size: 170 KiB After Width: | Height: | Size: 79 KiB |
|
Before Width: | Height: | Size: 210 KiB After Width: | Height: | Size: 98 KiB |
|
Before Width: | Height: | Size: 231 KiB After Width: | Height: | Size: 110 KiB |
|
Before Width: | Height: | Size: 162 KiB After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 204 KiB After Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 173 KiB After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 204 KiB After Width: | Height: | Size: 94 KiB |
|
Before Width: | Height: | Size: 213 KiB After Width: | Height: | Size: 98 KiB |
|
Before Width: | Height: | Size: 210 KiB After Width: | Height: | Size: 96 KiB |
|
Before Width: | Height: | Size: 219 KiB After Width: | Height: | Size: 101 KiB |
|
Before Width: | Height: | Size: 220 KiB After Width: | Height: | Size: 103 KiB |