Module AI_Bai
+
+AI -- Provide Battlefield Air Interdiction (bombing).
+ ++ +
AI_BAI classes makes AI Controllables execute bombing tasks.
+ + + +There are the following types of BAI classes defined:
+ +-
+
- #AIBAIZONE: Perform a BAI in a zone. +
+ +
Demo Missions
+ +AI_BAI Demo Missions source code
+ +AI_BAI Demo Missions, only for beta testers
+ +ALL Demo Missions pack of the last release
+ ++ +
YouTube Channel
+ +AI_BAI YouTube Channel
+ ++ +
Author: Sven Van de Velde (FlightControl)
+ +Contributions:
+ +-
+
- Gunterlund: Test case revision. +
+ + +
Global(s)
+| AI_BAI_ZONE | +
+AIBAIZONE class, extends AIPatrol#AIPATROL_ZONE+ +AIBAIZONE derives from the AIPatrol#AIPATROL_ZONE, inheriting its methods and behaviour. + |
+
| _NewEngageRoute(AIControllable) | ++ + | +
Type AI_BAI_ZONE
+ Global(s)
+-
+
- + + #AI_BAI_ZONE + +AI_BAI_ZONE + + +
-
+
+
AIBAIZONE class, extends AIPatrol#AIPATROL_ZONE
+ +AIBAIZONE derives from the AIPatrol#AIPATROL_ZONE, inheriting its methods and behaviour.
+ + ++The AIBAIZONE class implements the core functions to provide BattleGround Air Interdiction in an Engage Zone by an AIR Controllable or Group. +The AIBAIZONE runs a process. It holds an AI in a Patrol Zone and when the AI is commanded to engage, it will fly to an Engage Zone.
+ +
+ +The AIBAIZONE is assigned a Group and this must be done before the AIBAIZONE process can be started through the Start event.
+ +
+ +Upon started, The AI will Route itself towards the random 3D point within a patrol zone, +using a random speed within the given altitude and speed limits. +Upon arrival at the 3D point, a new random 3D point will be selected within the patrol zone using the given limits. +This cycle will continue until a fuel or damage treshold has been reached by the AI, or when the AI is commanded to RTB.
+ +
+ +When the AI is commanded to provide BattleGround Air Interdiction (through the event Engage), the AI will fly towards the Engage Zone. +Any target that is detected in the Engage Zone will be reported and will be destroyed by the AI.
+ +
+ +The AI will detect the targets and will only destroy the targets within the Engage Zone.
+ +
+ +Every target that is destroyed, is reported< by the AI.
+ +
+ +Note that the AI does not know when the Engage Zone is cleared, and therefore will keep circling in the zone.
+ +
+ +Until it is notified through the event Accomplish, which is to be triggered by an observing party:
+ +-
+
- a FAC +
- a timed event +
- a menu option selected by a human +
- a condition +
- others ... +
+ +When the AI has accomplished the Bombing, it will fly back to the Patrol Zone.
+ +
+ +It will keep patrolling there, until it is notified to RTB or move to another BOMB Zone. +It can be notified to go RTB through the RTB event.
+ +When the fuel treshold has been reached, the airplane will fly towards the nearest friendly airbase and will land.
+ +
+ +1. AIBAIZONE constructor
+ +-
+
- AIBAIZONE.New(): Creates a new AIBAIZONE object. +
2. AIBAIZONE is a FSM
+ +
+ +2.1. AIBAIZONE States
+ +-
+
- None ( Group ): The process is not started yet. +
- Patrolling ( Group ): The AI is patrolling the Patrol Zone. +
- Engaging ( Group ): The AI is engaging the targets in the Engage Zone, executing BOMB. +
- Returning ( Group ): The AI is returning to Base.. +
2.2. AIBAIZONE Events
+ +-
+
- **AIPatrol#AIPATROL_ZONE.Start**: Start the process. +
- **AIPatrol#AIPATROL_ZONE.Route**: Route the AI to a new random 3D point within the Patrol Zone. +
- **AIBAIZONE.Engage**: Engage the AI to provide BOMB in the Engage Zone, destroying any target it finds. +
- **AIBAIZONE.Abort**: Aborts the engagement and return patrolling in the patrol zone. +
- **AIPatrol#AIPATROL_ZONE.RTB**: Route the AI to the home base. +
- **AIPatrol#AIPATROL_ZONE.Detect**: The AI is detecting targets. +
- **AIPatrol#AIPATROL_ZONE.Detected**: The AI has detected new targets. +
- **AIBAIZONE.Destroy**: The AI has destroyed a target Unit. +
- **AIBAIZONE.Destroyed**: The AI has destroyed all target Units assigned in the BOMB task. +
- Status: The AI is checking status (fuel and damage). When the tresholds have been reached, the AI will RTB. +
3. Modify the Engage Zone behaviour to pinpoint a map object or scenery object
+ +Use the method AIBAIZONE.SearchOff() to specify that the EngageZone is not to be searched for potential targets (UNITs), but that the center of the zone +is the point where a map object is to be destroyed (like a bridge).
+ +Example:
+ +
+ +-- Tell the BAI not to search for potential targets in the BAIEngagementZone, but rather use the center of the BAIEngagementZone as the bombing location. + AIBAIZone:SearchOff() +Searching can be switched back on with the method AIBAIZONE.SearchOn(). Use the method AIBAIZONE.SearchOnOff() to flexibily switch searching on or off.
+ +
+ + +
+
-
+
- + + +_NewEngageRoute(AIControllable) + + +
-
+
+
+
+
Parameter
+-
+
-
+
+
+ +Wrapper.Controllable#CONTROLLABLE AIControllable:
+
+ -
+
+
Type AI_Bai
+
+ Type AI_BAI_ZONE
+
+AIBAIZONE class
+ +Field(s)
+-
+
- + + Wrapper.Controllable#CONTROLLABLE + +AI_BAI_ZONE.AIControllable + + +
-
+
+
The Controllable patrolling.
+ +
+
-
+
- + + +AI_BAI_ZONE:Abort() + + +
-
+
+
Synchronous Event Trigger for Event Abort.
+ +
+
-
+
- + + +AI_BAI_ZONE:Accomplish() + + +
-
+
+
Synchronous Event Trigger for Event Accomplish.
+ +
+
-
+
- + + #boolean + +AI_BAI_ZONE.Accomplished + + +
- + + + + +
-
+
- + + +AI_BAI_ZONE:Destroy() + + +
-
+
+
Synchronous Event Trigger for Event Destroy.
+ +
+
-
+
- + + +AI_BAI_ZONE:Engage(EngageSpeed, EngageAltitude, EngageWeaponExpend, EngageAttackQty, EngageDirection) + + +
-
+
+
Synchronous Event Trigger for Event Engage.
+ +Parameters
+-
+
-
+
+
+ +#number EngageSpeed: +(optional) The speed the Group will hold when engaging to the target zone.
+ -
+
+
+ +Dcs.DCSTypes#Distance EngageAltitude: +(optional) Desired altitude to perform the unit engagement.
+ -
+
+
+ +Dcs.DCSTypes#AI.Task.WeaponExpend EngageWeaponExpend: +(optional) Determines how much weapon will be released at each attack. +If parameter is not defined the unit / controllable will choose expend on its own discretion. +Use the structure DCSTypes#AI.Task.WeaponExpend to define the amount of weapons to be release at each attack.
+ -
+
+
+ +#number EngageAttackQty: +(optional) This parameter limits maximal quantity of attack. The aicraft/controllable will not make more attack than allowed even if the target controllable not destroyed and the aicraft/controllable still have ammo. If not defined the aircraft/controllable will attack target until it will be destroyed or until the aircraft/controllable will run out of ammo.
+ -
+
+
+ +Dcs.DCSTypes#Azimuth EngageDirection: +(optional) Desired ingress direction from the target to the attacking aircraft. Controllable/aircraft will make its attacks from the direction. Of course if there is no way to attack from the direction due the terrain controllable/aircraft will choose another direction.
+
+ -
+
+
-
+
- + + +AI_BAI_ZONE.EngageAltitude + + +
- + + + + +
-
+
- + + + +AI_BAI_ZONE.EngageAttackQty + + +
- + + + + +
-
+
- + + + +AI_BAI_ZONE.EngageDirection + + +
- + + + + +
-
+
- + + +AI_BAI_ZONE.EngageSpeed + + +
- + + + + +
-
+
- + + + +AI_BAI_ZONE.EngageWeaponExpend + + +
- + + + + +
-
+
- + + + +AI_BAI_ZONE.EngageZone + + +
- + + + + +
-
+
- + + +AI_BAI_ZONE:Fired() + + +
-
+
+
Synchronous Event Trigger for Event Fired.
+ +
+
-
+
- + + +AI_BAI_ZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, EngageZone, PatrolAltType) + + +
-
+
+
Creates a new AIBAIZONE object
+ +Parameters
+-
+
-
+
+
+ +Core.Zone#ZONE_BASE PatrolZone: +The Zone where the patrol needs to be executed.
+ -
+
+
+ +Dcs.DCSTypes#Altitude PatrolFloorAltitude: +The lowest altitude in meters where to execute the patrol.
+ -
+
+
+ +Dcs.DCSTypes#Altitude PatrolCeilingAltitude: +The highest altitude in meters where to execute the patrol.
+ -
+
+
+ +Dcs.DCSTypes#Speed PatrolMinSpeed: +The minimum speed of the Controllable in km/h.
+ -
+
+
+ +Dcs.DCSTypes#Speed PatrolMaxSpeed: +The maximum speed of the Controllable in km/h.
+ -
+
+
+ +Core.Zone#ZONE_BASE EngageZone: +The zone where the engage will happen.
+ -
+
+
+ +Dcs.DCSTypes#AltitudeType PatrolAltType: +The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO
+
Return value
+ +#AIBAIZONE: +self
+ +
+ -
+
+
-
+
- + + +AI_BAI_ZONE:OnAfterAbort(Controllable, From, Event, To) + + +
-
+
+
OnAfter Transition Handler for Event Abort.
+ +Parameters
+-
+
-
+
+
+ +Wrapper.Controllable#CONTROLLABLE Controllable: +The Controllable Object managed by the FSM.
+ -
+
+
+ +#string From: +The From State string.
+ -
+
+
+ +#string Event: +The Event string.
+ -
+
+
+ +#string To: +The To State string.
+
+ -
+
+
-
+
- + + +AI_BAI_ZONE:OnAfterAccomplish(Controllable, From, Event, To) + + +
-
+
+
OnAfter Transition Handler for Event Accomplish.
+ +Parameters
+-
+
-
+
+
+ +Wrapper.Controllable#CONTROLLABLE Controllable: +The Controllable Object managed by the FSM.
+ -
+
+
+ +#string From: +The From State string.
+ -
+
+
+ +#string Event: +The Event string.
+ -
+
+
+ +#string To: +The To State string.
+
+ -
+
+
-
+
- + + +AI_BAI_ZONE:OnAfterDestroy(Controllable, From, Event, To) + + +
-
+
+
OnAfter Transition Handler for Event Destroy.
+ +Parameters
+-
+
-
+
+
+ +Wrapper.Controllable#CONTROLLABLE Controllable: +The Controllable Object managed by the FSM.
+ -
+
+
+ +#string From: +The From State string.
+ -
+
+
+ +#string Event: +The Event string.
+ -
+
+
+ +#string To: +The To State string.
+
+ -
+
+
-
+
- + + +AI_BAI_ZONE:OnAfterEngage(Controllable, From, Event, To) + + +
-
+
+
OnAfter Transition Handler for Event Engage.
+ +Parameters
+-
+
-
+
+
+ +Wrapper.Controllable#CONTROLLABLE Controllable: +The Controllable Object managed by the FSM.
+ -
+
+
+ +#string From: +The From State string.
+ -
+
+
+ +#string Event: +The Event string.
+ -
+
+
+ +#string To: +The To State string.
+
+ -
+
+
-
+
- + + +AI_BAI_ZONE:OnAfterFired(Controllable, From, Event, To) + + +
-
+
+
OnAfter Transition Handler for Event Fired.
+ +Parameters
+-
+
-
+
+
+ +Wrapper.Controllable#CONTROLLABLE Controllable: +The Controllable Object managed by the FSM.
+ -
+
+
+ +#string From: +The From State string.
+ -
+
+
+ +#string Event: +The Event string.
+ -
+
+
+ +#string To: +The To State string.
+
+ -
+
+
-
+
- + + +AI_BAI_ZONE:OnBeforeAbort(Controllable, From, Event, To) + + +
-
+
+
OnBefore Transition Handler for Event Abort.
+ +Parameters
+-
+
-
+
+
+ +Wrapper.Controllable#CONTROLLABLE Controllable: +The Controllable Object managed by the FSM.
+ -
+
+
+ +#string From: +The From State string.
+ -
+
+
+ +#string Event: +The Event string.
+ -
+
+
+ +#string To: +The To State string.
+
Return value
+ +#boolean: +Return false to cancel Transition.
+ +
+ -
+
+
-
+
- + + +AI_BAI_ZONE:OnBeforeAccomplish(Controllable, From, Event, To) + + +
-
+
+
OnBefore Transition Handler for Event Accomplish.
+ +Parameters
+-
+
-
+
+
+ +Wrapper.Controllable#CONTROLLABLE Controllable: +The Controllable Object managed by the FSM.
+ -
+
+
+ +#string From: +The From State string.
+ -
+
+
+ +#string Event: +The Event string.
+ -
+
+
+ +#string To: +The To State string.
+
Return value
+ +#boolean: +Return false to cancel Transition.
+ +
+ -
+
+
-
+
- + + +AI_BAI_ZONE:OnBeforeDestroy(Controllable, From, Event, To) + + +
-
+
+
OnBefore Transition Handler for Event Destroy.
+ +Parameters
+-
+
-
+
+
+ +Wrapper.Controllable#CONTROLLABLE Controllable: +The Controllable Object managed by the FSM.
+ -
+
+
+ +#string From: +The From State string.
+ -
+
+
+ +#string Event: +The Event string.
+ -
+
+
+ +#string To: +The To State string.
+
Return value
+ +#boolean: +Return false to cancel Transition.
+ +
+ -
+
+
-
+
- + + +AI_BAI_ZONE:OnBeforeEngage(Controllable, From, Event, To) + + +
-
+
+
OnBefore Transition Handler for Event Engage.
+ +Parameters
+-
+
-
+
+
+ +Wrapper.Controllable#CONTROLLABLE Controllable: +The Controllable Object managed by the FSM.
+ -
+
+
+ +#string From: +The From State string.
+ -
+
+
+ +#string Event: +The Event string.
+ -
+
+
+ +#string To: +The To State string.
+
+ -
+
+
-
+
- + + +AI_BAI_ZONE:OnBeforeFired(Controllable, From, Event, To) + + +
-
+
+
OnBefore Transition Handler for Event Fired.
+ +Parameters
+-
+
-
+
+
+ +Wrapper.Controllable#CONTROLLABLE Controllable: +The Controllable Object managed by the FSM.
+ -
+
+
+ +#string From: +The From State string.
+ -
+
+
+ +#string Event: +The Event string.
+ -
+
+
+ +#string To: +The To State string.
+
Return value
+ +#boolean: +Return false to cancel Transition.
+ +
+ -
+
+
-
+
- + + +AI_BAI_ZONE:OnEnterEngaging(Controllable, From, Event, To) + + +
-
+
+
OnEnter Transition Handler for State Engaging.
+ +Parameters
+-
+
-
+
+
+ +Wrapper.Controllable#CONTROLLABLE Controllable: +The Controllable Object managed by the FSM.
+ -
+
+
+ +#string From: +The From State string.
+ -
+
+
+ +#string Event: +The Event string.
+ -
+
+
+ +#string To: +The To State string.
+
+ -
+
+
-
+
- + + +AI_BAI_ZONE:OnEventDead(EventData) + + +
-
+
+
+
+
Parameter
+-
+
-
+
+
+ +Core.Event#EVENTDATA EventData:
+
+ -
+
+
-
+
- + + +AI_BAI_ZONE:OnLeaveEngaging(Controllable, From, Event, To) + + +
-
+
+
OnLeave Transition Handler for State Engaging.
+ +Parameters
+-
+
-
+
+
+ +Wrapper.Controllable#CONTROLLABLE Controllable: +The Controllable Object managed by the FSM.
+ -
+
+
+ +#string From: +The From State string.
+ -
+
+
+ +#string Event: +The Event string.
+ -
+
+
+ +#string To: +The To State string.
+
Return value
+ +#boolean: +Return false to cancel Transition.
+ +
+ -
+
+
-
+
- + + + +AI_BAI_ZONE.Search + + +
- + + + + +
-
+
- + + +AI_BAI_ZONE:SearchOff() + + +
-
+
+
If Search is Off, the current zone coordinate will be the center of the bombing.
+ +Return value
+ + + + +
+
-
+
- + + +AI_BAI_ZONE:SearchOn() + + +
-
+
+
If Search is On, BAI will search for potential targets in the zone.
+ +Return value
+ + + + +
+
-
+
- + + +AI_BAI_ZONE:SearchOnOff(Search) + + +
-
+
+
Specifies whether to search for potential targets in the zone, or let the center of the zone be the bombing coordinate.
+ + +AIBAIZONE will search for potential targets by default.
+ +Parameter
+-
+
-
+
+
+ +Search:
+
Return value
+ + + + +
+ -
+
+
-
+
- + + +AI_BAI_ZONE:SetEngageZone(EngageZone) + + +
-
+
+
Set the Engage Zone where the AI is performing BOMB.
+ + +Note that if the EngageZone is changed, the AI needs to re-detect targets.
+ +Parameter
+-
+
-
+
+
+ +Core.Zone#ZONE EngageZone: +The zone where the AI is performing BOMB.
+
Return value
+ +#AIBAIZONE: +self
+ +
+ -
+
+
-
+
- + + Core.Zone#ZONE_BASE + +AI_BAI_ZONE.TargetZone + + +
-
+
+
The Zone where the patrol needs to be executed.
+ +
+
-
+
- + + +AI_BAI_ZONE:__Abort(Delay) + + +
-
+
+
Asynchronous Event Trigger for Event Abort.
+ +Parameter
+-
+
-
+
+
+ +#number Delay: +The delay in seconds.
+
+ -
+
+
-
+
- + + +AI_BAI_ZONE:__Accomplish(Delay) + + +
-
+
+
Asynchronous Event Trigger for Event Accomplish.
+ +Parameter
+-
+
-
+
+
+ +#number Delay: +The delay in seconds.
+
+ -
+
+
-
+
- + + +AI_BAI_ZONE:__Destroy(Delay) + + +
-
+
+
Asynchronous Event Trigger for Event Destroy.
+ +Parameter
+-
+
-
+
+
+ +#number Delay: +The delay in seconds.
+
+ -
+
+
-
+
- + + +AI_BAI_ZONE:__Engage(Delay, EngageSpeed, EngageAltitude, EngageWeaponExpend, EngageAttackQty, EngageDirection) + + +
-
+
+
Asynchronous Event Trigger for Event Engage.
+ +Parameters
+-
+
-
+
+
+ +#number Delay: +The delay in seconds.
+ -
+
+
+ +#number EngageSpeed: +(optional) The speed the Group will hold when engaging to the target zone.
+ -
+
+
+ +Dcs.DCSTypes#Distance EngageAltitude: +(optional) Desired altitude to perform the unit engagement.
+ -
+
+
+ +Dcs.DCSTypes#AI.Task.WeaponExpend EngageWeaponExpend: +(optional) Determines how much weapon will be released at each attack. +If parameter is not defined the unit / controllable will choose expend on its own discretion. +Use the structure DCSTypes#AI.Task.WeaponExpend to define the amount of weapons to be release at each attack.
+ -
+
+
+ +#number EngageAttackQty: +(optional) This parameter limits maximal quantity of attack. The aicraft/controllable will not make more attack than allowed even if the target controllable not destroyed and the aicraft/controllable still have ammo. If not defined the aircraft/controllable will attack target until it will be destroyed or until the aircraft/controllable will run out of ammo.
+ -
+
+
+ +Dcs.DCSTypes#Azimuth EngageDirection: +(optional) Desired ingress direction from the target to the attacking aircraft. Controllable/aircraft will make its attacks from the direction. Of course if there is no way to attack from the direction due the terrain controllable/aircraft will choose another direction.
+
+ -
+
+
-
+
- + + +AI_BAI_ZONE:__Fired(Delay) + + +
-
+
+
Asynchronous Event Trigger for Event Fired.
+ +Parameter
+-
+
-
+
+
+ +#number Delay: +The delay in seconds.
+
+ -
+
+
-
+
- + + +AI_BAI_ZONE:onafterAbort(Controllable, From, Event, To) + + +
-
+
+
+
+
Parameters
+-
+
-
+
+
+ +Wrapper.Controllable#CONTROLLABLE Controllable: +The Controllable Object managed by the FSM.
+ -
+
+
+ +#string From: +The From State string.
+ -
+
+
+ +#string Event: +The Event string.
+ -
+
+
+ +#string To: +The To State string.
+
+ -
+
+
-
+
- + + +AI_BAI_ZONE:onafterAccomplish(Controllable, From, Event, To) + + +
-
+
+
+
+
Parameters
+-
+
-
+
+
+ +Wrapper.Controllable#CONTROLLABLE Controllable: +The Controllable Object managed by the FSM.
+ -
+
+
+ +#string From: +The From State string.
+ -
+
+
+ +#string Event: +The Event string.
+ -
+
+
+ +#string To: +The To State string.
+
+ -
+
+
-
+
- + + +AI_BAI_ZONE:onafterDestroy(Controllable, From, Event, To, EventData) + + +
-
+
+
+
+
Parameters
+-
+
-
+
+
+ +Wrapper.Controllable#CONTROLLABLE Controllable: +The Controllable Object managed by the FSM.
+ -
+
+
+ +#string From: +The From State string.
+ -
+
+
+ +#string Event: +The Event string.
+ -
+
+
+ +#string To: +The To State string.
+ -
+
+
+ +Core.Event#EVENTDATA EventData:
+
+ -
+
+
-
+
- + + +AI_BAI_ZONE:onafterEngage(Controllable, From, Event, To, EngageSpeed, EngageAltitude, EngageWeaponExpend, EngageAttackQty, EngageDirection) + + +
-
+
+
+
+
Parameters
+-
+
-
+
+
+ +Wrapper.Controllable#CONTROLLABLE Controllable: +The Controllable Object managed by the FSM.
+ -
+
+
+ +#string From: +The From State string.
+ -
+
+
+ +#string Event: +The Event string.
+ -
+
+
+ +#string To: +The To State string.
+ -
+
+
+ +#number EngageSpeed: +(optional) The speed the Group will hold when engaging to the target zone.
+ -
+
+
+ +Dcs.DCSTypes#Distance EngageAltitude: +(optional) Desired altitude to perform the unit engagement.
+ -
+
+
+ +Dcs.DCSTypes#AI.Task.WeaponExpend EngageWeaponExpend: +(optional) Determines how much weapon will be released at each attack. If parameter is not defined the unit / controllable will choose expend on its own discretion.
+ -
+
+
+ +#number EngageAttackQty: +(optional) This parameter limits maximal quantity of attack. The aicraft/controllable will not make more attack than allowed even if the target controllable not destroyed and the aicraft/controllable still have ammo. If not defined the aircraft/controllable will attack target until it will be destroyed or until the aircraft/controllable will run out of ammo.
+ -
+
+
+ +Dcs.DCSTypes#Azimuth EngageDirection: +(optional) Desired ingress direction from the target to the attacking aircraft. Controllable/aircraft will make its attacks from the direction. Of course if there is no way to attack from the direction due the terrain controllable/aircraft will choose another direction.
+
+ -
+
+
-
+
- + + +AI_BAI_ZONE:onafterStart(Controllable, From, Event, To) + + +
-
+
+
onafter State Transition for Event Start.
+ +Parameters
+-
+
-
+
+
+ +Wrapper.Controllable#CONTROLLABLE Controllable: +The Controllable Object managed by the FSM.
+ -
+
+
+ +#string From: +The From State string.
+ -
+
+
+ +#string Event: +The Event string.
+ -
+
+
+ +#string To: +The To State string.
+
+ -
+
+
-
+
- + + +AI_BAI_ZONE:onafterTarget(Controllable, From, Event, To) + + +
-
+
+
+
+
Parameters
+-
+
-
+
+
+ +Wrapper.Controllable#CONTROLLABLE Controllable: +The Controllable Object managed by the FSM.
+ -
+
+
+ +#string From: +The From State string.
+ -
+
+
+ +#string Event: +The Event string.
+ -
+
+
+ +#string To: +The To State string.
+
+ -
+
+
-
+
- + + +AI_BAI_ZONE:onbeforeEngage(Controllable, From, Event, To) + + +
-
+
+
+
+
Parameters
+-
+
-
+
+
+ +Wrapper.Controllable#CONTROLLABLE Controllable: +The Controllable Object managed by the FSM.
+ -
+
+
+ +#string From: +The From State string.
+ -
+
+
+ +#string Event: +The Event string.
+ -
+
+
+ +#string To: +The To State string.
+
+ -
+
+