diff --git a/docs/Documentation/AIBalancer.html b/docs/Documentation/AIBalancer.html deleted file mode 100644 index 530e7a3be..000000000 --- a/docs/Documentation/AIBalancer.html +++ /dev/null @@ -1,594 +0,0 @@ - - - - - - -
-
- -
-
-
-
- -
-

Module AIBalancer

- -

This module contains the AIBALANCER class.

- - - -
- -

1) AIBalancer#AIBALANCER class, extends Base#BASE

-

The AIBalancer#AIBALANCER class controls the dynamic spawning of AI GROUPS depending on a SETCLIENT. -There will be as many AI GROUPS spawned as there at CLIENTS in SETCLIENT not spawned. -The AIBalancer uses the PatrolZone#PATROLZONE class to make AI patrol an zone until the fuel treshold is reached.

- -

1.1) AIBALANCER construction method:

-

Create a new AIBALANCER object with the AIBALANCER.New method:

- - - -

1.2) AIBALANCER returns AI to Airbases:

-

You can configure to have the AI to return to:

- - - -

1.3) AIBALANCER allows AI to patrol specific zones:

-

Use AIBalancer#AIBALANCER.SetPatrolZone() to specify a zone where the AI needs to patrol.

- -
- -

API CHANGE HISTORY

- -

The underlying change log documents the API changes. Please read this carefully. The following notation is used:

- -
    -
  • Added parts are expressed in bold type face.
  • -
  • Removed parts are expressed in italic type face.
  • -
- -

Hereby the change log:

- -

2016-08-17: SPAWN:InitCleanUp( SpawnCleanUpInterval ) replaces SPAWN:CleanUp( SpawnCleanUpInterval )

- -
    -
  • Want to ensure that the methods starting with Init are the first called methods before any Spawn method is called!
  • -
  • This notation makes it now more clear which methods are initialization methods and which methods are Spawn enablement methods.
  • -
- -
- -

AUTHORS and CONTRIBUTIONS

- -

Contributions:

- -
    -
  • Dutch_Baron (James): Who you can search on the Eagle Dynamics Forums.
    - Working together with James has resulted in the creation of the AIBALANCER class.
    - James has shared his ideas on balancing AI with air units, and together we made a first design which you can use now :-)

  • -
  • SNAFU: - Had a couple of mails with the guys to validate, if the same concept in the GCI/CAP script could be reworked within MOOSE. - None of the script code has been used however within the new AIBALANCER moose class.

  • -
- -

Authors:

- -
    -
  • FlightControl: Framework Design & Programming
  • -
- - -

Global(s)

- - - - - -
AIBALANCER - -
-

Type AIBALANCER

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AIBALANCER.AIGroups - -
AIBALANCER.ClassName - -
AIBALANCER:GetPatrolZone() -

Get the PatrolZone object assigned by the AIBalancer object.

-
AIBALANCER:New(SetClient, SpawnAI) -

Creates a new AIBALANCER object, building a set of units belonging to a coalitions, categories, countries, types or with defined prefix names.

-
AIBALANCER.PatrolZone - -
AIBALANCER.PatrolZones - -
AIBALANCER.ReturnAirbaseSet - -
AIBALANCER:ReturnToHomeAirbase(ReturnTresholdRange) -

Returns the AI to the home Airbase#AIRBASE.

-
AIBALANCER:ReturnToNearestAirbases(ReturnTresholdRange, ReturnAirbaseSet) -

Returns the AI to the nearest friendly Airbase#AIRBASE.

-
AIBALANCER.ReturnTresholdRange - -
AIBALANCER.SetClient - -
AIBALANCER:SetPatrolZone(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed) -

Let the AI patrol a Zone with a given Speed range and Altitude range.

-
AIBALANCER.SpawnAI - -
AIBALANCER.ToHomeAirbase - -
AIBALANCER.ToNearestAirbase - -
AIBALANCER:_ClientAliveMonitorScheduler() - -
- -

Global(s)

-
-
- - #AIBALANCER - -AIBALANCER - -
-
- - - -
-
-

Type AIBalancer

- -

Type AIBALANCER

- -

AIBALANCER class

- -

Field(s)

-
-
- - - -AIBALANCER.AIGroups - -
-
- - - -
-
-
-
- - #string - -AIBALANCER.ClassName - -
-
- - - -
-
-
-
- - -AIBALANCER:GetPatrolZone() - -
-
- -

Get the PatrolZone object assigned by the AIBalancer object.

- -

Return value

- -

PatrolZone#PATROLZONE: -PatrolZone The PatrolZone where the AI needs to patrol.

- -
-
-
-
- - -AIBALANCER:New(SetClient, SpawnAI) - -
-
- -

Creates a new AIBALANCER object, building a set of units belonging to a coalitions, categories, countries, types or with defined prefix names.

- -

Parameters

-
    -
  • - -

    SetClient : -A SET_CLIENT object that will contain the CLIENT objects to be monitored if they are alive or not (joined by a player).

    - -
  • -
  • - -

    SpawnAI : -A SPAWN object that will spawn the AI units required, balancing the SetClient.

    - -
  • -
-

Return value

- -

#AIBALANCER: -self

- -
-
-
-
- - PatrolZone#PATROLZONE - -AIBALANCER.PatrolZone - -
-
- - - -
-
-
-
- - - -AIBALANCER.PatrolZones - -
-
- - - -
-
-
-
- - Set#SET_AIRBASE - -AIBALANCER.ReturnAirbaseSet - -
-
- - - -
-
-
-
- - -AIBALANCER:ReturnToHomeAirbase(ReturnTresholdRange) - -
-
- -

Returns the AI to the home Airbase#AIRBASE.

- -

Parameter

- -
-
-
-
- - -AIBALANCER:ReturnToNearestAirbases(ReturnTresholdRange, ReturnAirbaseSet) - -
-
- -

Returns the AI to the nearest friendly Airbase#AIRBASE.

- -

Parameters

- -
-
-
-
- - DCSTypes#Distance - -AIBALANCER.ReturnTresholdRange - -
-
- - - -
-
-
-
- - Set#SET_CLIENT - -AIBALANCER.SetClient - -
-
- - - -
-
-
-
- - -AIBALANCER:SetPatrolZone(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed) - -
-
- -

Let the AI patrol a Zone with a given Speed range and Altitude range.

- -

Parameters

-
    -
  • - -

    PatrolZone#PATROLZONE PatrolZone : -The PatrolZone where the AI needs to patrol.

    - -
  • -
  • - -

    PatrolFloorAltitude :

    - -
  • -
  • - -

    PatrolCeilingAltitude :

    - -
  • -
  • - -

    PatrolMinSpeed :

    - -
  • -
  • - -

    PatrolMaxSpeed :

    - -
  • -
-

Return value

- -

PatrolZone#PATROLZONE: -self

- -
-
-
-
- - Spawn#SPAWN - -AIBALANCER.SpawnAI - -
-
- - - -
-
-
-
- - #boolean - -AIBALANCER.ToHomeAirbase - -
-
- - - -
-
-
-
- - #boolean - -AIBALANCER.ToNearestAirbase - -
-
- - - -
-
-
-
- - -AIBALANCER:_ClientAliveMonitorScheduler() - -
-
- - - -
-
- -
- -
- - diff --git a/docs/Documentation/AI_PatrolZone.html b/docs/Documentation/AI_PatrolZone.html deleted file mode 100644 index f42d1ae48..000000000 --- a/docs/Documentation/AI_PatrolZone.html +++ /dev/null @@ -1,732 +0,0 @@ - - - - - - -
-
- -
-
-
-
- -
-

Module AI_PatrolZone

- -

This module contains the AI_PATROLZONE class.

- - - -
- -

1) #AI_PATROLZONE class, extends StateMachine#STATEMACHINE

-

The #AI_PATROLZONE class implements the core functions to patrol a Zone by an AIR Controllable. -The patrol algorithm works that for each airplane patrolling, upon arrival at the patrol zone, -a random point is selected as the route point within the 3D space, within the given boundary limits. -The airplane will fly towards the random 3D point within the patrol zone, using a random speed within the given altitude and speed limits. -Upon arrival at the random 3D point, a new 3D random point will be selected within the patrol zone using the given limits. -This cycle will continue until a fuel treshold has been reached by the airplane. -When the fuel treshold has been reached, the airplane will fly towards the nearest friendly airbase and will land.

- -

1.1) AI_PATROLZONE constructor:

- - - -

1.2) AI_PATROLZONE state machine:

-

The AI_PATROLZONE is a state machine: it manages the different events and states of the AIControllable it is controlling.

- -

1.2.1) AI_PATROLZONE Events:

- -
    -
  • AI_PATROLZONE.Route( AIControllable ): A new 3D route point is selected and the AIControllable will fly towards that point with the given speed.
  • -
  • AI_PATROLZONE.Patrol( AIControllable ): The AIControllable reports it is patrolling. This event is called every 30 seconds.
  • -
  • AI_PATROLZONE.RTB( AIControllable ): The AIControllable will report return to base.
  • -
  • AI_PATROLZONE.End( AIControllable ): The end of the AI_PATROLZONE process.
  • -
  • AI_PATROLZONE.Dead( AIControllable ): The AIControllable is dead. The AI_PATROLZONE process will be ended.
  • -
- -

1.2.2) AI_PATROLZONE States:

- -
    -
  • Route: A new 3D route point is selected and the AIControllable will fly towards that point with the given speed.
  • -
  • Patrol: The AIControllable is patrolling. This state is set every 30 seconds, so every 30 seconds, a state transition function can be used.
  • -
  • RTB: The AIControllable reports it wants to return to the base.
  • -
  • Dead: The AIControllable is dead ...
  • -
  • End: The process has come to an end.
  • -
- -

1.2.3) AI_PATROLZONE state transition functions:

- -

State transition functions can be set by the mission designer customizing or improving the behaviour of the state. -There are 2 moments when state transition functions will be called by the state machine:

- -
    -
  • Before the state transition. - The state transition function needs to start with the name OnBefore + the name of the state. - If the state transition function returns false, then the processing of the state transition will not be done! - If you want to change the behaviour of the AIControllable at this event, return false, - but then you'll need to specify your own logic using the AIControllable!

  • -
  • After the state transition. - The state transition function needs to start with the name OnAfter + the name of the state. - These state transition functions need to provide a return value, which is specified at the function description.

  • -
- -

An example how to manage a state transition for an AI_PATROLZONE object Patrol for the state RTB:

- -
 local PatrolZoneGroup = GROUP:FindByName( "Patrol Zone" )
- local PatrolZone = ZONE_POLYGON:New( "PatrolZone", PatrolZoneGroup )
-
- local PatrolSpawn = SPAWN:New( "Patrol Group" )
- local PatrolGroup = PatrolSpawn:Spawn()
-
- local Patrol = AI_PATROLZONE:New( PatrolZone, 3000, 6000, 300, 600 )
- Patrol:SetControllable( PatrolGroup )
- Patrol:ManageFuel( 0.2, 60 )
-
- -

OnBeforeRTB( AIGroup ) will be called by the AI_PATROLZONE object when the AIGroup reports RTB, but before the RTB default action is processed by the AI_PATROLZONE object.

- -
 --- State transition function for the AI\_PATROLZONE **Patrol** object
- -- @param #AI_PATROLZONE self 
- -- @param Controllable#CONTROLLABLE AIGroup
- -- @return #boolean If false is returned, then the OnAfter state transition function will not be called.
- function Patrol:OnBeforeRTB( AIGroup )
-   AIGroup:MessageToRed( "Returning to base", 20 )
- end
-
- -

OnAfterRTB( AIGroup ) will be called by the AI_PATROLZONE object when the AIGroup reports RTB, but after the RTB default action was processed by the AI_PATROLZONE object.

- -
 --- State transition function for the AI\_PATROLZONE **Patrol** object
- -- @param #AI_PATROLZONE self 
- -- @param Controllable#CONTROLLABLE AIGroup
- -- @return #Controllable#CONTROLLABLE The new AIGroup object that is set to be patrolling the zone.
- function Patrol:OnAfterRTB( AIGroup )
-   return PatrolSpawn:Spawn()
- end 
-
- -

1.3) Manage the AI_PATROLZONE parameters:

-

The following methods are available to modify the parameters of a AI_PATROLZONE object:

- - - -

1.3) Manage the out of fuel in the AI_PATROLZONE:

-

When the AIControllable is out of fuel, it is required that a new AIControllable is started, before the old AIControllable can return to the home base. -Therefore, with a parameter and a calculation of the distance to the home base, the fuel treshold is calculated. -When the fuel treshold is reached, the AIControllable will continue for a given time its patrol task in orbit, while a new AIControllable is targetted to the AI_PATROLZONE. -Once the time is finished, the old AIControllable will return to the base. -Use the method AI_PATROLZONE.ManageFuel() to have this proces in place.

- -
- -

API CHANGE HISTORY

- -

The underlying change log documents the API changes. Please read this carefully. The following notation is used:

- -
    -
  • Added parts are expressed in bold type face.
  • -
  • Removed parts are expressed in italic type face.
  • -
- -

Hereby the change log:

- -

2016-08-17: AI_PATROLZONE:New( PatrolSpawn, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed ) replaces AI_PATROLZONE:New( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed )

- -

2016-07-01: Initial class and API.

- -
- -

AUTHORS and CONTRIBUTIONS

- -

Contributions:

- -
    -
  • DutchBaron: Testing.
  • -
  • Pikey: Testing and API concept review.
  • -
- -

Authors:

- -
    -
  • FlightControl: Design & Programming.
  • -
- - - -

Global(s)

- - - - - - - - - -
AI_PATROLZONE - -
_NewPatrolRoute(AIControllable) - -
-

Type AI_PATROLZONE

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AI_PATROLZONE.AIControllable -

The Controllable patrolling.

-
AI_PATROLZONE.ClassName - -
AI_PATROLZONE:ManageFuel(PatrolFuelTresholdPercentage, PatrolOutOfFuelOrbitTime) -

When the AIControllable is out of fuel, it is required that a new AIControllable is started, before the old AIControllable can return to the home base.

-
AI_PATROLZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed) -

Creates a new AI_PATROLZONE object

-
AI_PATROLZONE.PatrolCeilingAltitude -

The highest altitude in meters where to execute the patrol.

-
AI_PATROLZONE.PatrolFloorAltitude -

The lowest altitude in meters where to execute the patrol.

-
AI_PATROLZONE.PatrolFuelTresholdPercentage - -
AI_PATROLZONE.PatrolManageFuel - -
AI_PATROLZONE.PatrolMaxSpeed -

The maximum speed of the Controllable in km/h.

-
AI_PATROLZONE.PatrolMinSpeed -

The minimum speed of the Controllable in km/h.

-
AI_PATROLZONE.PatrolOutOfFuelOrbitTime - -
AI_PATROLZONE.PatrolZone -

The Zone where the patrol needs to be executed.

-
AI_PATROLZONE:SetAltitude(PatrolFloorAltitude, PatrolCeilingAltitude) -

Sets the floor and ceiling altitude of the patrol.

-
AI_PATROLZONE:SetSpeed(PatrolMinSpeed, PatrolMaxSpeed) -

Sets (modifies) the minimum and maximum speed of the patrol.

-
AI_PATROLZONE:onenterPatrol() - -
AI_PATROLZONE:onenterRoute() -

Defines a new patrol route using the AI_PatrolZone parameters and settings.

-
- -

Global(s)

-
-
- - #AI_PATROLZONE - -AI_PATROLZONE - -
-
- - - -
-
-
-
- - -_NewPatrolRoute(AIControllable) - -
-
- - - -

Parameter

- -
-
-

Type AI_PatrolZone

- -

Type AI_PATROLZONE

- -

AI_PATROLZONE class

- -

Field(s)

-
-
- - Controllable#CONTROLLABLE - -AI_PATROLZONE.AIControllable - -
-
- -

The Controllable patrolling.

- -
-
-
-
- - #string - -AI_PATROLZONE.ClassName - -
-
- - - -
-
-
-
- - -AI_PATROLZONE:ManageFuel(PatrolFuelTresholdPercentage, PatrolOutOfFuelOrbitTime) - -
-
- -

When the AIControllable is out of fuel, it is required that a new AIControllable is started, before the old AIControllable can return to the home base.

- - -

Therefore, with a parameter and a calculation of the distance to the home base, the fuel treshold is calculated. -When the fuel treshold is reached, the AIControllable will continue for a given time its patrol task in orbit, while a new AIControllable is targetted to the AI_PATROLZONE. -Once the time is finished, the old AIControllable will return to the base.

- -

Parameters

-
    -
  • - -

    #number PatrolFuelTresholdPercentage : -The treshold in percentage (between 0 and 1) when the AIControllable is considered to get out of fuel.

    - -
  • -
  • - -

    #number PatrolOutOfFuelOrbitTime : -The amount of seconds the out of fuel AIControllable will orbit before returning to the base.

    - -
  • -
-

Return value

- -

#AI_PATROLZONE: -self

- -
-
-
-
- - -AI_PATROLZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed) - -
-
- -

Creates a new AI_PATROLZONE object

- -

Parameters

- -

Return value

- -

#AI_PATROLZONE: -self

- -

Usage:

-
-- Define a new AI_PATROLZONE Object. This PatrolArea will patrol an AIControllable within PatrolZone between 3000 and 6000 meters, with a variying speed between 600 and 900 km/h.
-PatrolZone = ZONE:New( 'PatrolZone' )
-PatrolSpawn = SPAWN:New( 'Patrol Group' )
-PatrolArea = AI_PATROLZONE:New( PatrolZone, 3000, 6000, 600, 900 )
- -
-
-
-
- - DCSTypes#Altitude - -AI_PATROLZONE.PatrolCeilingAltitude - -
-
- -

The highest altitude in meters where to execute the patrol.

- -
-
-
-
- - DCSTypes#Altitude - -AI_PATROLZONE.PatrolFloorAltitude - -
-
- -

The lowest altitude in meters where to execute the patrol.

- -
-
-
-
- - - -AI_PATROLZONE.PatrolFuelTresholdPercentage - -
-
- - - -
-
-
-
- - #boolean - -AI_PATROLZONE.PatrolManageFuel - -
-
- - - -
-
-
-
- - DCSTypes#Speed - -AI_PATROLZONE.PatrolMaxSpeed - -
-
- -

The maximum speed of the Controllable in km/h.

- -
-
-
-
- - DCSTypes#Speed - -AI_PATROLZONE.PatrolMinSpeed - -
-
- -

The minimum speed of the Controllable in km/h.

- -
-
-
-
- - - -AI_PATROLZONE.PatrolOutOfFuelOrbitTime - -
-
- - - -
-
-
-
- - Zone#ZONE_BASE - -AI_PATROLZONE.PatrolZone - -
-
- -

The Zone where the patrol needs to be executed.

- -
-
-
-
- - -AI_PATROLZONE:SetAltitude(PatrolFloorAltitude, PatrolCeilingAltitude) - -
-
- -

Sets the floor and ceiling altitude of the patrol.

- -

Parameters

-
    -
  • - -

    DCSTypes#Altitude PatrolFloorAltitude : -The lowest altitude in meters where to execute the patrol.

    - -
  • -
  • - -

    DCSTypes#Altitude PatrolCeilingAltitude : -The highest altitude in meters where to execute the patrol.

    - -
  • -
-

Return value

- -

#AI_PATROLZONE: -self

- -
-
-
-
- - -AI_PATROLZONE:SetSpeed(PatrolMinSpeed, PatrolMaxSpeed) - -
-
- -

Sets (modifies) the minimum and maximum speed of the patrol.

- -

Parameters

- -

Return value

- -

#AI_PATROLZONE: -self

- -
-
-
-
- - -AI_PATROLZONE:onenterPatrol() - -
-
- - - -
-
-
-
- - -AI_PATROLZONE:onenterRoute() - -
-
- -

Defines a new patrol route using the AI_PatrolZone parameters and settings.

- -

Return value

- -

#AI_PATROLZONE: -self

- -
-
- -
- -
- - diff --git a/docs/Documentation/CARGO.html b/docs/Documentation/CARGO.html index a0ec9b411..90fca6bc1 100644 --- a/docs/Documentation/CARGO.html +++ b/docs/Documentation/CARGO.html @@ -2427,7 +2427,6 @@ The UNIT carrying the package.

- AI_CARGO_UNIT.CargoCarrier diff --git a/docs/Documentation/DetectionManager.html b/docs/Documentation/DetectionManager.html deleted file mode 100644 index 068bd6e39..000000000 --- a/docs/Documentation/DetectionManager.html +++ /dev/null @@ -1,1113 +0,0 @@ - - - - - - -
-
- -
-
-
-
- -
-

Module DetectionManager

- -

This module contains the DETECTION_MANAGER class and derived classes.

- - - -
- -

1) DetectionManager#DETECTION_MANAGER class, extends Base#BASE

-

The DetectionManager#DETECTION_MANAGER class defines the core functions to report detected objects to groups. -Reportings can be done in several manners, and it is up to the derived classes if DETECTION_MANAGER to model the reporting behaviour.

- -

1.1) DETECTION_MANAGER constructor:

-

* DetectionManager#DETECTION_MANAGER.New(): Create a new DETECTION_MANAGER instance.

- -

1.2) DETECTION_MANAGER reporting:

-

Derived DETECTION_MANAGER classes will reports detected units using the method DetectionManager#DETECTION_MANAGER.ReportDetected(). This method implements polymorphic behaviour.

- -

The time interval in seconds of the reporting can be changed using the methods DetectionManager#DETECTION_MANAGER.SetReportInterval(). -To control how long a reporting message is displayed, use DetectionManager#DETECTION_MANAGER.SetReportDisplayTime(). -Derived classes need to implement the method DetectionManager#DETECTION_MANAGER.GetReportDisplayTime() to use the correct display time for displayed messages during a report.

- -

Reporting can be started and stopped using the methods DetectionManager#DETECTION_MANAGER.StartReporting() and DetectionManager#DETECTION_MANAGER.StopReporting() respectively. -If an ad-hoc report is requested, use the method DetectionManager#DETECTION_MANAGER().

- -

The default reporting interval is every 60 seconds. The reporting messages are displayed 15 seconds.

- -
- -

2) DetectionManager#DETECTION_REPORTING class, extends DetectionManager#DETECTION_MANAGER

-

The DetectionManager#DETECTION_REPORTING class implements detected units reporting. Reporting can be controlled using the reporting methods available in the DetectionManager#DETECTION_MANAGER class.

- -

2.1) DETECTION_REPORTING constructor:

-

The DetectionManager#DETECTION_REPORTING.New() method creates a new DETECTION_REPORTING instance.

- -
- -

3) #DETECTION_DISPATCHER class, extends #DETECTION_MANAGER

-

The #DETECTION_DISPATCHER class implements the dynamic dispatching of tasks upon groups of detected units determined a Set of FAC (groups). -The FAC will detect units, will group them, and will dispatch Tasks to groups. Depending on the type of target detected, different tasks will be dispatched. -Find a summary below describing for which situation a task type is created:

- -
    -
  • CAS Task: Is created when there are enemy ground units within range of the FAC, while there are friendly units in the FAC perimeter.
  • -
  • BAI Task: Is created when there are enemy ground units within range of the FAC, while there are NO other friendly units within the FAC perimeter.
  • -
  • SEAD Task: Is created when there are enemy ground units wihtin range of the FAC, with air search radars.
  • -
- -

Other task types will follow...

- -

3.1) DETECTION_DISPATCHER constructor:

-

The DETECTION_DISPATCHER.New() method creates a new DETECTION_DISPATCHER instance.

- -
- -

Contributions: Mechanist, Prof_Hilactic, FlightControl - Concept & Testing

-

Author: FlightControl - Framework Design & Programming

- - -

Global(s)

- - - - - - - - - - - - - -
DETECTION_DISPATCHER - -
DETECTION_MANAGER - -
DETECTION_REPORTING - -
-

Type DETECTION_DISPATCHER

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
DETECTION_DISPATCHER.ClassName - -
DETECTION_DISPATCHER.CommandCenter - -
DETECTION_DISPATCHER.Detection -

The DETECTION_BASE object that is used to report the detected objects.

-
DETECTION_DISPATCHER:EvaluateBAI(DetectedArea, FriendlyCoalition) -

Creates a BAI task when there are targets for it.

-
DETECTION_DISPATCHER:EvaluateCAS(DetectedArea) -

Creates a CAS task when there are targets for it.

-
DETECTION_DISPATCHER:EvaluateRemoveTask(Mission, Task, DetectedArea) -

Evaluates the removal of the Task from the Mission.

-
DETECTION_DISPATCHER:EvaluateSEAD(DetectedArea) -

Creates a SEAD task when there are targets for it.

-
DETECTION_DISPATCHER.Mission - -
DETECTION_DISPATCHER:New(SetGroup, Detection, Mission, CommandCenter) -

DETECTION_DISPATCHER constructor.

-
DETECTION_DISPATCHER:ProcessDetected(Detection) -

Assigns tasks in relation to the detected items to the Set#SET_GROUP.

-
DETECTION_DISPATCHER.SetGroup -

The groups to which the FAC will report to.

-
- -

Type DETECTION_MANAGER

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
DETECTION_MANAGER.ClassName - -
DETECTION_MANAGER.Detection -

The DETECTION_BASE object that is used to report the detected objects.

-
DETECTION_MANAGER.FacScheduler - -
DETECTION_MANAGER:GetReportDisplayTime() -

Get the reporting message display time.

-
DETECTION_MANAGER:New(SetGroup, Detection) -

FAC constructor.

-
DETECTION_MANAGER:ReportDetected(Detection) -

Reports the detected items to the Set#SET_GROUP.

-
DETECTION_MANAGER:Schedule(DelayTime, ReportInterval) -

Schedule the FAC reporting.

-
DETECTION_MANAGER.SetGroup -

The groups to which the FAC will report to.

-
DETECTION_MANAGER:SetReportDisplayTime(ReportDisplayTime) -

Set the reporting message display time.

-
DETECTION_MANAGER:SetReportInterval(ReportInterval) -

Set the reporting time interval.

-
DETECTION_MANAGER:_FacScheduler(SchedulerName) -

Report the detected Unit#UNITs detected within the Detection#DETECTION_BASE object to the Set#SET_GROUPs.

-
DETECTION_MANAGER._ReportDisplayTime - -
DETECTION_MANAGER._ReportInterval - -
DETECTION_MANAGER._ScheduleDelayTime - -
- -

Type DETECTION_REPORTING

- - - - - - - - - - - - - - - - - - - - - - - - - -
DETECTION_REPORTING.ClassName - -
DETECTION_REPORTING.Detection -

The DETECTION_BASE object that is used to report the detected objects.

-
DETECTION_REPORTING:GetDetectedItemsText(DetectedSet) -

Creates a string of the detected items in a Detection.

-
DETECTION_REPORTING:New(SetGroup, Detection) -

DETECTION_REPORTING constructor.

-
DETECTION_REPORTING:ProcessDetected(Group, Detection) -

Reports the detected items to the Set#SET_GROUP.

-
DETECTION_REPORTING.SetGroup -

The groups to which the FAC will report to.

-
- -

Global(s)

-
-
- - #DETECTION_DISPATCHER - -DETECTION_DISPATCHER - -
-
- - - -
-
-
-
- - #DETECTION_MANAGER - -DETECTION_MANAGER - -
-
- - - -
-
-
-
- - #DETECTION_REPORTING - -DETECTION_REPORTING - -
-
- - - -
-
-

Type DetectionManager

- -

Type DETECTION_DISPATCHER

- -

DETECTION_DISPATCHER class.

- -

Field(s)

-
-
- - #string - -DETECTION_DISPATCHER.ClassName - -
-
- - - -
-
-
-
- - Group#GROUP - -DETECTION_DISPATCHER.CommandCenter - -
-
- - - -
-
-
-
- - Detection#DETECTION_BASE - -DETECTION_DISPATCHER.Detection - -
-
- -

The DETECTION_BASE object that is used to report the detected objects.

- -
-
-
-
- - -DETECTION_DISPATCHER:EvaluateBAI(DetectedArea, FriendlyCoalition) - -
-
- -

Creates a BAI task when there are targets for it.

- -

Parameters

- -

Return value

- -

Task#TASK_BASE:

- - -
-
-
-
- - -DETECTION_DISPATCHER:EvaluateCAS(DetectedArea) - -
-
- -

Creates a CAS task when there are targets for it.

- -

Parameter

- -

Return value

- -

Task#TASK_BASE:

- - -
-
-
-
- - -DETECTION_DISPATCHER:EvaluateRemoveTask(Mission, Task, DetectedArea) - -
-
- -

Evaluates the removal of the Task from the Mission.

- - -

Can only occur when the DetectedArea is Changed AND the state of the Task is "Planned".

- -

Parameters

- -

Return value

- -

Task#TASK_BASE:

- - -
-
-
-
- - -DETECTION_DISPATCHER:EvaluateSEAD(DetectedArea) - -
-
- -

Creates a SEAD task when there are targets for it.

- -

Parameter

- -

Return values

-
    -
  1. - -

    Set#SET_UNIT: -TargetSetUnit: The target set of units.

    - -
  2. -
  3. - -

    #nil: -If there are no targets to be set.

    - -
  4. -
-
-
-
-
- - Mission#MISSION - -DETECTION_DISPATCHER.Mission - -
-
- - - -
-
-
-
- - -DETECTION_DISPATCHER:New(SetGroup, Detection, Mission, CommandCenter) - -
-
- -

DETECTION_DISPATCHER constructor.

- -

Parameters

- -

Return value

- -

#DETECTION_DISPATCHER: -self

- -
-
-
-
- - -DETECTION_DISPATCHER:ProcessDetected(Detection) - -
-
- -

Assigns tasks in relation to the detected items to the Set#SET_GROUP.

- -

Parameter

- -

Return value

- -

#boolean: -Return true if you want the task assigning to continue... false will cancel the loop.

- -
-
-
-
- - Set#SET_GROUP - -DETECTION_DISPATCHER.SetGroup - -
-
- -

The groups to which the FAC will report to.

- -
-
- -

Type DETECTION_MANAGER

- -

DETECTION_MANAGER class.

- -

Field(s)

-
-
- - #string - -DETECTION_MANAGER.ClassName - -
-
- - - -
-
-
-
- - Detection#DETECTION_BASE - -DETECTION_MANAGER.Detection - -
-
- -

The DETECTION_BASE object that is used to report the detected objects.

- -
-
-
-
- - - -DETECTION_MANAGER.FacScheduler - -
-
- - - -
-
-
-
- - -DETECTION_MANAGER:GetReportDisplayTime() - -
-
- -

Get the reporting message display time.

- -

Return value

- -

#number: -ReportDisplayTime The display time in seconds when a report needs to be done.

- -
-
-
-
- - -DETECTION_MANAGER:New(SetGroup, Detection) - -
-
- -

FAC constructor.

- -

Parameters

- -

Return value

- -

#DETECTION_MANAGER: -self

- -
-
-
-
- - -DETECTION_MANAGER:ReportDetected(Detection) - -
-
- -

Reports the detected items to the Set#SET_GROUP.

- -

Parameter

- -

Return value

- -

#DETECTION_MANAGER: -self

- -
-
-
-
- - -DETECTION_MANAGER:Schedule(DelayTime, ReportInterval) - -
-
- -

Schedule the FAC reporting.

- -

Parameters

-
    -
  • - -

    #number DelayTime : -The delay in seconds to wait the reporting.

    - -
  • -
  • - -

    #number ReportInterval : -The repeat interval in seconds for the reporting to happen repeatedly.

    - -
  • -
-

Return value

- -

#DETECTION_MANAGER: -self

- -
-
-
-
- - Set#SET_GROUP - -DETECTION_MANAGER.SetGroup - -
-
- -

The groups to which the FAC will report to.

- -
-
-
-
- - -DETECTION_MANAGER:SetReportDisplayTime(ReportDisplayTime) - -
-
- -

Set the reporting message display time.

- -

Parameter

-
    -
  • - -

    #number ReportDisplayTime : -The display time in seconds when a report needs to be done.

    - -
  • -
-

Return value

- -

#DETECTION_MANAGER: -self

- -
-
-
-
- - -DETECTION_MANAGER:SetReportInterval(ReportInterval) - -
-
- -

Set the reporting time interval.

- -

Parameter

-
    -
  • - -

    #number ReportInterval : -The interval in seconds when a report needs to be done.

    - -
  • -
-

Return value

- -

#DETECTION_MANAGER: -self

- -
-
-
-
- - -DETECTION_MANAGER:_FacScheduler(SchedulerName) - -
-
- -

Report the detected Unit#UNITs detected within the Detection#DETECTION_BASE object to the Set#SET_GROUPs.

- -

Parameter

-
    -
  • - -

    SchedulerName :

    - -
  • -
-
-
-
-
- - - -DETECTION_MANAGER._ReportDisplayTime - -
-
- - - -
-
-
-
- - - -DETECTION_MANAGER._ReportInterval - -
-
- - - -
-
-
-
- - - -DETECTION_MANAGER._ScheduleDelayTime - -
-
- - - -
-
- -

Type DETECTION_REPORTING

- -

DETECTION_REPORTING class.

- -

Field(s)

-
-
- - #string - -DETECTION_REPORTING.ClassName - -
-
- - - -
-
-
-
- - Detection#DETECTION_BASE - -DETECTION_REPORTING.Detection - -
-
- -

The DETECTION_BASE object that is used to report the detected objects.

- -
-
-
-
- - -DETECTION_REPORTING:GetDetectedItemsText(DetectedSet) - -
-
- -

Creates a string of the detected items in a Detection.

- -

Parameter

- -

Return value

- -

#DETECTION_MANAGER: -self

- -
-
-
-
- - -DETECTION_REPORTING:New(SetGroup, Detection) - -
-
- -

DETECTION_REPORTING constructor.

- -

Parameters

- -

Return value

- -

#DETECTION_REPORTING: -self

- -
-
-
-
- - -DETECTION_REPORTING:ProcessDetected(Group, Detection) - -
-
- -

Reports the detected items to the Set#SET_GROUP.

- -

Parameters

- -

Return value

- -

#boolean: -Return true if you want the reporting to continue... false will cancel the reporting loop.

- -
-
-
-
- - Set#SET_GROUP - -DETECTION_REPORTING.SetGroup - -
-
- -

The groups to which the FAC will report to.

- -
-
- -
- -
- - diff --git a/docs/Documentation/PatrolZone.html b/docs/Documentation/PatrolZone.html deleted file mode 100644 index 1b45eec4b..000000000 --- a/docs/Documentation/PatrolZone.html +++ /dev/null @@ -1,717 +0,0 @@ - - - - - - -
-
- -
-
-
-
- -
-

Module PatrolZone

- -

This module contains the PATROLZONE class.

- - - -
- -

1) #PATROLZONE class, extends Base#BASE

-

The #PATROLZONE class implements the core functions to patrol a Zone by air units. -The PATROLZONE class will guide the airplanes towards the patrolzone. -The patrol algorithm works that for each airplane patrolling, upon arrival at the patrol zone, -a random point is selected as the route point within the 3D space, within the given boundary limits. -The airplane will fly towards the random point using a randomly selected speed within given boundary limits. -Upon arrival at the random point, a new random point will be selected within the patrol zone within boundary limits. -This cycle will continue until a fuel treshold has been reached by the airplane. -When the fuel treshold has been reached, the airplane will fly towards the nearest friendly airbase and will land.

- -

1.1) PATROLZONE constructor:

-

PATROLZONE.New(): Creates a new PATROLZONE object.

- -

1.2) Modify the PATROLZONE parameters:

-

The following methods are available to modify the parameters of a PATROLZONE object:

- - - -

1.3) Manage the out of fuel in the PATROLZONE:

-

When the PatrolGroup is out of fuel, it is required that a new PatrolGroup is started, before the old PatrolGroup can return to the home base. -Therefore, with a parameter and a calculation of the distance to the home base, the fuel treshold is calculated. -When the fuel treshold is reached, the PatrolGroup will continue for a given time its patrol task in orbit, while a new PatrolGroup is targetted to the PATROLZONE. -Once the time is finished, the old PatrolGroup will return to the base. -Use the method PATROLZONE.ManageFuel() to have this proces in place.

- -
- -

API CHANGE HISTORY

- -

The underlying change log documents the API changes. Please read this carefully. The following notation is used:

- -
    -
  • Added parts are expressed in bold type face.
  • -
  • Removed parts are expressed in italic type face.
  • -
- -

Hereby the change log:

- -

2016-08-17: PATROLZONE:New( PatrolSpawn, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed ) replaces PATROLZONE:New( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed )

- -

2016-07-01: Initial class and API.

- -
- -

AUTHORS and CONTRIBUTIONS

- -

Contributions:

- -
    -
  • DutchBaron: Testing.
  • -
- -

Authors:

- -
    -
  • FlightControl: Design & Programming
  • -
- - - -

Global(s)

- - - - - - - - - -
PATROLZONE - -
_NewPatrolRoute(PatrolGroup) - -
-

Type PATROLZONE

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PATROLZONE.ClassName - -
PATROLZONE:ManageFuel(PatrolFuelTresholdPercentage, PatrolOutOfFuelOrbitTime) -

When the PatrolGroup is out of fuel, it is required that a new PatrolGroup is started, before the old PatrolGroup can return to the home base.

-
PATROLZONE:New(PatrolSpawn, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed) -

Creates a new PATROLZONE object, taking a Group object as a parameter.

-
PATROLZONE:NewPatrolRoute() -

Defines a new patrol route using the PatrolZone parameters and settings.

-
PATROLZONE.PatrolCeilingAltitude -

The highest altitude in meters where to execute the patrol.

-
PATROLZONE.PatrolFloorAltitude -

The lowest altitude in meters where to execute the patrol.

-
PATROLZONE.PatrolFuelTresholdPercentage - -
PATROLZONE.PatrolGroup -

The Group patrolling.

-
PATROLZONE.PatrolGroupTemplateName - -
PATROLZONE.PatrolManageFuel - -
PATROLZONE.PatrolMaxSpeed -

The maximum speed of the Group in km/h.

-
PATROLZONE.PatrolMinSpeed -

The minimum speed of the Group in km/h.

-
PATROLZONE.PatrolOutOfFuelMonitor - -
PATROLZONE.PatrolOutOfFuelOrbitTime - -
PATROLZONE.PatrolZone -

The Zone where the patrol needs to be executed.

-
PATROLZONE:SetAltitude(PatrolFloorAltitude, PatrolCeilingAltitude) -

Sets the floor and ceiling altitude of the patrol.

-
PATROLZONE:SetGroup(PatrolGroup) -

Set the Group to act as the Patroller.

-
PATROLZONE:SetSpeed(PatrolMinSpeed, PatrolMaxSpeed) -

Sets (modifies) the minimum and maximum speed of the patrol.

-
- -

Global(s)

-
-
- - #PATROLZONE - -PATROLZONE - -
-
- - - -
-
-
-
- - -_NewPatrolRoute(PatrolGroup) - -
-
- - - -

Parameter

- -
-
-

Type PatrolZone

- -

Type PATROLZONE

- -

PATROLZONE class

- -

Field(s)

-
-
- - #string - -PATROLZONE.ClassName - -
-
- - - -
-
-
-
- - -PATROLZONE:ManageFuel(PatrolFuelTresholdPercentage, PatrolOutOfFuelOrbitTime) - -
-
- -

When the PatrolGroup is out of fuel, it is required that a new PatrolGroup is started, before the old PatrolGroup can return to the home base.

- - -

Therefore, with a parameter and a calculation of the distance to the home base, the fuel treshold is calculated. -When the fuel treshold is reached, the PatrolGroup will continue for a given time its patrol task in orbit, while a new PatrolGroup is targetted to the PATROLZONE. -Once the time is finished, the old PatrolGroup will return to the base.

- -

Parameters

-
    -
  • - -

    #number PatrolFuelTresholdPercentage : -The treshold in percentage (between 0 and 1) when the PatrolGroup is considered to get out of fuel.

    - -
  • -
  • - -

    #number PatrolOutOfFuelOrbitTime : -The amount of seconds the out of fuel PatrolGroup will orbit before returning to the base.

    - -
  • -
-

Return value

- -

#PATROLZONE: -self

- -
-
-
-
- - -PATROLZONE:New(PatrolSpawn, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed) - -
-
- -

Creates a new PATROLZONE object, taking a Group object as a parameter.

- - -

The GROUP needs to be alive.

- -

Parameters

-
    -
  • - -

    Spawn#SPAWN PatrolSpawn : -The SPAWN object to spawn new group objects when required due to the fuel treshold.

    - -
  • -
  • - -

    Zone#ZONE_BASE PatrolZone : -The Zone where the patrol needs to be executed.

    - -
  • -
  • - -

    DCSTypes#Altitude PatrolFloorAltitude : -The lowest altitude in meters where to execute the patrol.

    - -
  • -
  • - -

    DCSTypes#Altitude PatrolCeilingAltitude : -The highest altitude in meters where to execute the patrol.

    - -
  • -
  • - -

    DCSTypes#Speed PatrolMinSpeed : -The minimum speed of the Group in km/h.

    - -
  • -
  • - -

    DCSTypes#Speed PatrolMaxSpeed : -The maximum speed of the Group in km/h.

    - -
  • -
-

Return value

- -

#PATROLZONE: -self

- -

Usage:

-
-- Define a new PATROLZONE 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 = PATROLZONE:New( PatrolSpawn, PatrolZone, 3000, 6000, 600, 900 )
- -
-
-
-
- - -PATROLZONE:NewPatrolRoute() - -
-
- -

Defines a new patrol route using the PatrolZone parameters and settings.

- -

Return value

- -

#PATROLZONE: -self

- -
-
-
-
- - DCSTypes#Altitude - -PATROLZONE.PatrolCeilingAltitude - -
-
- -

The highest altitude in meters where to execute the patrol.

- -
-
-
-
- - DCSTypes#Altitude - -PATROLZONE.PatrolFloorAltitude - -
-
- -

The lowest altitude in meters where to execute the patrol.

- -
-
-
-
- - - -PATROLZONE.PatrolFuelTresholdPercentage - -
-
- - - -
-
-
-
- - Group#GROUP - -PATROLZONE.PatrolGroup - -
-
- -

The Group patrolling.

- -
-
-
-
- - - -PATROLZONE.PatrolGroupTemplateName - -
-
- - - -
-
-
-
- - #boolean - -PATROLZONE.PatrolManageFuel - -
-
- - - -
-
-
-
- - DCSTypes#Speed - -PATROLZONE.PatrolMaxSpeed - -
-
- -

The maximum speed of the Group in km/h.

- -
-
-
-
- - DCSTypes#Speed - -PATROLZONE.PatrolMinSpeed - -
-
- -

The minimum speed of the Group in km/h.

- -
-
-
-
- - - -PATROLZONE.PatrolOutOfFuelMonitor - -
-
- - - -
-
-
-
- - - -PATROLZONE.PatrolOutOfFuelOrbitTime - -
-
- - - -
-
-
-
- - Zone#ZONE_BASE - -PATROLZONE.PatrolZone - -
-
- -

The Zone where the patrol needs to be executed.

- -
-
-
-
- - -PATROLZONE:SetAltitude(PatrolFloorAltitude, PatrolCeilingAltitude) - -
-
- -

Sets the floor and ceiling altitude of the patrol.

- -

Parameters

-
    -
  • - -

    DCSTypes#Altitude PatrolFloorAltitude : -The lowest altitude in meters where to execute the patrol.

    - -
  • -
  • - -

    DCSTypes#Altitude PatrolCeilingAltitude : -The highest altitude in meters where to execute the patrol.

    - -
  • -
-

Return value

- -

#PATROLZONE: -self

- -
-
-
-
- - -PATROLZONE:SetGroup(PatrolGroup) - -
-
- -

Set the Group to act as the Patroller.

- -

Parameter

- -

Return value

- -

#PATROLZONE: -self

- -
-
-
-
- - -PATROLZONE:SetSpeed(PatrolMinSpeed, PatrolMaxSpeed) - -
-
- -

Sets (modifies) the minimum and maximum speed of the patrol.

- -

Parameters

- -

Return value

- -

#PATROLZONE: -self

- -
-
- -
- -
- - diff --git a/docs/Documentation/Process.html b/docs/Documentation/Process.html deleted file mode 100644 index e6dee540c..000000000 --- a/docs/Documentation/Process.html +++ /dev/null @@ -1,415 +0,0 @@ - - - - - - -
-
- -
-
-
-
- -
-

Module Process

- - - -

Global(s)

- - - - - -
PROCESS - -
-

Type PROCESS

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PROCESS:AddScore(Task, State, ScoreText, Score, ProcessStatus) -

Adds a score for the PROCESS to be achieved.

-
PROCESS.ClassName - -
PROCESS.MissionMenu - -
PROCESS:New(ProcessName, Task, ProcessUnit, FSMT) -

Instantiates a new TASK Base.

-
PROCESS.NextEvent - -
PROCESS:OnStateChange(ProcessUnit, Event, From, To) -

StateMachine callback function for a PROCESS

-
PROCESS.ProcessGroup - -
PROCESS.ProcessName - -
PROCESS.Scores - -
PROCESS.Task - -
- -

Global(s)

-
-
- - #PROCESS - -PROCESS - -
-
- - - -
-
-

Type Process

- -

Type PROCESS

- -

The PROCESS class

- -

Field(s)

-
-
- - -PROCESS:AddScore(Task, State, ScoreText, Score, ProcessStatus) - -
-
- -

Adds a score for the PROCESS to be achieved.

- -

Parameters

-
    -
  • - -

    Task#TASK_BASE Task : -The task for which the process needs to account score.

    - -
  • -
  • - -

    #string State : -is the state of the process when the score needs to be given. (See the relevant state descriptions of the process).

    - -
  • -
  • - -

    #string ScoreText : -is a text describing the score that is given according the status.

    - -
  • -
  • - -

    #number Score : -is a number providing the score of the status.

    - -
  • -
  • - -

    ProcessStatus :

    - -
  • -
-

Return value

- -

#PROCESS: -self

- -
-
-
-
- - #string - -PROCESS.ClassName - -
-
- - - -
-
-
-
- - Menu#MENU_GROUP - -PROCESS.MissionMenu - -
-
- - - -
-
-
-
- - -PROCESS:New(ProcessName, Task, ProcessUnit, FSMT) - -
-
- -

Instantiates a new TASK Base.

- - -

Should never be used. Interface Class.

- -

Parameters

-
    -
  • - -

    #string ProcessName :

    - -
  • -
  • - -

    Task#TASK_BASE Task :

    - -
  • -
  • - -

    Unit#UNIT ProcessUnit :

    - -
  • -
  • - -

    FSMT :

    - -
  • -
-

Return value

- -

#PROCESS: -self

- -
-
-
-
- - -PROCESS.NextEvent - -
-
- - - -
-
-
-
- - -PROCESS:OnStateChange(ProcessUnit, Event, From, To) - -
-
- -

StateMachine callback function for a PROCESS

- -

Parameters

- -
-
-
-
- - Group#GROUP - -PROCESS.ProcessGroup - -
-
- - - -
-
-
-
- - #string - -PROCESS.ProcessName - -
-
- - - -
-
-
-
- - - -PROCESS.Scores - -
-
- - - -
-
-
-
- - Task#TASK_BASE - -PROCESS.Task - -
-
- - - -
-
- -
- -
- - diff --git a/docs/Documentation/Process_Destroy.html b/docs/Documentation/Process_Destroy.html deleted file mode 100644 index e7b84b99d..000000000 --- a/docs/Documentation/Process_Destroy.html +++ /dev/null @@ -1,692 +0,0 @@ - - - - - - -
-
- -
-
-
-
- -
-

Module Process_Destroy

- - - -

Global(s)

- - - - - -
PROCESS_DESTROY - -
-

Type PROCESS_DESTROY

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PROCESS_DESTROY.ClassName - -
PROCESS_DESTROY.DisplayCategory - -
PROCESS_DESTROY.DisplayCount - -
PROCESS_DESTROY.DisplayInterval - -
PROCESS_DESTROY.DisplayMessage - -
PROCESS_DESTROY.DisplayTime - -
PROCESS_DESTROY:EventDead(Event) - -
PROCESS_DESTROY.Fsm - -
PROCESS_DESTROY:New(Task, ProcessUnit, TargetSetUnit, ProcessName) -

Creates a new DESTROY process.

-
PROCESS_DESTROY:OnDestroyed(Fsm, Event, From, To) -

StateMachine callback function for a PROCESS

-
PROCESS_DESTROY:OnHitTarget(Fsm, Event, From, To, Event) -

StateMachine callback function for a PROCESS

-
PROCESS_DESTROY:OnKilled(Fsm, Event, From, To, DCSEvent) -

StateMachine callback function for a PROCESS

-
PROCESS_DESTROY:OnMoreTargets(Fsm, Event, From, To) -

StateMachine callback function for a PROCESS

-
PROCESS_DESTROY:OnRestart(Fsm, Event, From, To) -

StateMachine callback function for a PROCESS

-
PROCESS_DESTROY:OnStart(Fsm, Event, From, To) -

StateMachine callback function for a PROCESS

-
PROCESS_DESTROY:OnWaiting(Fsm, Event, From, To) -

StateMachine callback function for a PROCESS

-
PROCESS_DESTROY.ProcessUnit - -
PROCESS_DESTROY.TargetSetUnit - -
- -

Global(s)

-
-
- - #PROCESS_DESTROY - -PROCESS_DESTROY - -
-
- - - -
-
-

Type Process_Destroy

- -

Type PROCESS_DESTROY

- -

PROCESS_DESTROY class

- -

Field(s)

-
-
- - #string - -PROCESS_DESTROY.ClassName - -
-
- - - -
-
-
-
- - #string - -PROCESS_DESTROY.DisplayCategory - -
-
- - - - -

Targets is the default display category

- -
-
-
-
- - #number - -PROCESS_DESTROY.DisplayCount - -
-
- - - -
-
-
-
- - #number - -PROCESS_DESTROY.DisplayInterval - -
-
- - - -
-
-
-
- - #boolean - -PROCESS_DESTROY.DisplayMessage - -
-
- - - -
-
-
-
- - #number - -PROCESS_DESTROY.DisplayTime - -
-
- - - - -

10 seconds is the default

- -
-
-
-
- - -PROCESS_DESTROY:EventDead(Event) - -
-
- - - -

Parameter

- -
-
-
-
- - - -PROCESS_DESTROY.Fsm - -
-
- - - -
-
-
-
- - -PROCESS_DESTROY:New(Task, ProcessUnit, TargetSetUnit, ProcessName) - -
-
- -

Creates a new DESTROY process.

- -

Parameters

- -

Return value

- -

#PROCESS_DESTROY: -self

- -
-
-
-
- - -PROCESS_DESTROY:OnDestroyed(Fsm, Event, From, To) - -
-
- -

StateMachine callback function for a PROCESS

- -

Parameters

- -
-
-
-
- - -PROCESS_DESTROY:OnHitTarget(Fsm, Event, From, To, Event) - -
-
- -

StateMachine callback function for a PROCESS

- -

Parameters

- -
-
-
-
- - -PROCESS_DESTROY:OnKilled(Fsm, Event, From, To, DCSEvent) - -
-
- -

StateMachine callback function for a PROCESS

- -

Parameters

- -
-
-
-
- - -PROCESS_DESTROY:OnMoreTargets(Fsm, Event, From, To) - -
-
- -

StateMachine callback function for a PROCESS

- -

Parameters

- -
-
-
-
- - -PROCESS_DESTROY:OnRestart(Fsm, Event, From, To) - -
-
- -

StateMachine callback function for a PROCESS

- -

Parameters

- -
-
-
-
- - -PROCESS_DESTROY:OnStart(Fsm, Event, From, To) - -
-
- -

StateMachine callback function for a PROCESS

- -

Parameters

- -
-
-
-
- - -PROCESS_DESTROY:OnWaiting(Fsm, Event, From, To) - -
-
- -

StateMachine callback function for a PROCESS

- -

Parameters

- -
-
-
-
- - Unit#UNIT - -PROCESS_DESTROY.ProcessUnit - -
-
- - - -
-
-
-
- - Set#SET_UNIT - -PROCESS_DESTROY.TargetSetUnit - -
-
- - - -
-
- -
- -
- - diff --git a/docs/Documentation/Process_PatrolZone.html b/docs/Documentation/Process_PatrolZone.html deleted file mode 100644 index 6f663e3f1..000000000 --- a/docs/Documentation/Process_PatrolZone.html +++ /dev/null @@ -1,786 +0,0 @@ - - - - - - -
-
- -
-
-
-
- -
-

Module Process_PatrolZone

- -

(AI) Make AI patrol routes or zones.

- - - -
- -

1) #PROCESS_PATROLZONE class, extends StateMachine#STATEMACHINE

-

The #PROCESS_PATROLZONE class implements the core functions to patrol a Zone by an AIR Controllable Group. -The patrol algorithm works that for each airplane patrolling, upon arrival at the patrol zone, -a random point is selected as the route point within the 3D space, within the given boundary limits. -The airplane will fly towards the random 3D point within the patrol zone, using a random speed within the given altitude and speed limits. -Upon arrival at the random 3D point, a new 3D random point will be selected within the patrol zone using the given limits. -This cycle will continue until a fuel treshold has been reached by the airplane. -When the fuel treshold has been reached, the airplane will fly towards the nearest friendly airbase and will land.

- -

1.1) PROCESS_PATROLZONE constructor:

- - - -

1.2) PROCESS_PATROLZONE state machine:

-

The PROCESS_PATROLZONE is a state machine: it manages the different events and states of the AIControllable it is controlling.

- -

1.2.1) PROCESS_PATROLZONE Events:

- -
    -
  • PROCESS_PATROLZONE.Route( AIControllable ): A new 3D route point is selected and the AIControllable will fly towards that point with the given speed.
  • -
  • PROCESS_PATROLZONE.Patrol( AIControllable ): The AIControllable reports it is patrolling. This event is called every 30 seconds.
  • -
  • PROCESS_PATROLZONE.RTB( AIControllable ): The AIControllable will report return to base.
  • -
  • PROCESS_PATROLZONE.End( AIControllable ): The end of the PROCESS_PATROLZONE process.
  • -
  • PROCESS_PATROLZONE.Dead( AIControllable ): The AIControllable is dead. The PROCESS_PATROLZONE process will be ended.
  • -
- -

1.2.2) PROCESS_PATROLZONE States:

- -
    -
  • Route: A new 3D route point is selected and the AIControllable will fly towards that point with the given speed.
  • -
  • Patrol: The AIControllable is patrolling. This state is set every 30 seconds, so every 30 seconds, a state transition function can be used.
  • -
  • RTB: The AIControllable reports it wants to return to the base.
  • -
  • Dead: The AIControllable is dead ...
  • -
  • End: The process has come to an end.
  • -
- -

1.2.3) PROCESS_PATROLZONE state transition functions:

- -

State transition functions can be set by the mission designer customizing or improving the behaviour of the state. -There are 2 moments when state transition functions will be called by the state machine:

- -
    -
  • Before the state transition. - The state transition function needs to start with the name OnBefore + the name of the state. - If the state transition function returns false, then the processing of the state transition will not be done! - If you want to change the behaviour of the AIControllable at this event, return false, - but then you'll need to specify your own logic using the AIControllable!

  • -
  • After the state transition. - The state transition function needs to start with the name OnAfter + the name of the state. - These state transition functions need to provide a return value, which is specified at the function description.

  • -
- -

An example how to manage a state transition for an PROCESS_PATROLZONE object Patrol for the state RTB:

- -
 local PatrolZoneGroup = GROUP:FindByName( "Patrol Zone" )
- local PatrolZone = ZONE_POLYGON:New( "PatrolZone", PatrolZoneGroup )
-
- local PatrolSpawn = SPAWN:New( "Patrol Group" )
- local PatrolGroup = PatrolSpawn:Spawn()
-
- local Patrol = PROCESS_PATROLZONE:New( PatrolZone, 3000, 6000, 300, 600 )
- Patrol:SetControllable( PatrolGroup )
- Patrol:ManageFuel( 0.2, 60 )
-
- -

OnBeforeRTB( AIGroup ) will be called by the PROCESS_PATROLZONE object when the AIGroup reports RTB, but before the RTB default action is processed by the PROCESS_PATROLZONE object.

- -
 --- State transition function for the PROCESS\_PATROLZONE **Patrol** object
- -- @param #PROCESS_PATROLZONE self 
- -- @param Controllable#CONTROLLABLE AIGroup
- -- @return #boolean If false is returned, then the OnAfter state transition function will not be called.
- function Patrol:OnBeforeRTB( AIGroup )
-   AIGroup:MessageToRed( "Returning to base", 20 )
- end
-
- -

OnAfterRTB( AIGroup ) will be called by the PROCESS_PATROLZONE object when the AIGroup reports RTB, but after the RTB default action was processed by the PROCESS_PATROLZONE object.

- -
 --- State transition function for the PROCESS\_PATROLZONE **Patrol** object
- -- @param #PROCESS_PATROLZONE self 
- -- @param Controllable#CONTROLLABLE AIGroup
- -- @return #Controllable#CONTROLLABLE The new AIGroup object that is set to be patrolling the zone.
- function Patrol:OnAfterRTB( AIGroup )
-   return PatrolSpawn:Spawn()
- end 
-
- -

1.3) Manage the PROCESS_PATROLZONE parameters:

-

The following methods are available to modify the parameters of a PROCESS_PATROLZONE object:

- - - -

1.3) Manage the out of fuel in the PROCESS_PATROLZONE:

-

When the AIControllable is out of fuel, it is required that a new AIControllable is started, before the old AIControllable can return to the home base. -Therefore, with a parameter and a calculation of the distance to the home base, the fuel treshold is calculated. -When the fuel treshold is reached, the AIControllable will continue for a given time its patrol task in orbit, while a new AIControllable is targetted to the PROCESS_PATROLZONE. -Once the time is finished, the old AIControllable will return to the base. -Use the method PROCESS_PATROLZONE.ManageFuel() to have this proces in place.

- -
- -

API CHANGE HISTORY

- -

The underlying change log documents the API changes. Please read this carefully. The following notation is used:

- -
    -
  • Added parts are expressed in bold type face.
  • -
  • Removed parts are expressed in italic type face.
  • -
- -

Hereby the change log:

- -

2016-09-01: Initial class and API.

- -
- -

AUTHORS and CONTRIBUTIONS

- -

Contributions:

- -
    -
  • DutchBaron: Testing.
  • -
  • Pikey: Testing and API concept review.
  • -
- -

Authors:

- -
    -
  • FlightControl: Design & Programming.
  • -
- - - -

Global(s)

- - - - - - - - - -
PROCESS_PATROLZONE - -
_NewPatrolRoute(AIControllable) - -
-

Type PROCESS_PATROLZONE

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PROCESS_PATROLZONE.AIControllable -

The Controllable patrolling.

-
PROCESS_PATROLZONE.ClassName - -
PROCESS_PATROLZONE:ManageFuel(PatrolFuelTresholdPercentage, PatrolOutOfFuelOrbitTime) -

When the AIControllable is out of fuel, it is required that a new AIControllable is started, before the old AIControllable can return to the home base.

-
PROCESS_PATROLZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed) -

Creates a new PROCESS_PATROLZONE object

-
PROCESS_PATROLZONE:OnAfterRoute(Controllable) -

OnAfter State Transition Function

-
PROCESS_PATROLZONE:OnBeforeRoute(Controllable) -

OnBefore State Transition Function

-
PROCESS_PATROLZONE.PatrolCeilingAltitude -

The highest altitude in meters where to execute the patrol.

-
PROCESS_PATROLZONE.PatrolFloorAltitude -

The lowest altitude in meters where to execute the patrol.

-
PROCESS_PATROLZONE.PatrolFuelTresholdPercentage - -
PROCESS_PATROLZONE.PatrolManageFuel - -
PROCESS_PATROLZONE.PatrolMaxSpeed -

The maximum speed of the Controllable in km/h.

-
PROCESS_PATROLZONE.PatrolMinSpeed -

The minimum speed of the Controllable in km/h.

-
PROCESS_PATROLZONE.PatrolOutOfFuelOrbitTime - -
PROCESS_PATROLZONE.PatrolZone -

The Zone where the patrol needs to be executed.

-
PROCESS_PATROLZONE:SetAltitude(PatrolFloorAltitude, PatrolCeilingAltitude) -

Sets the floor and ceiling altitude of the patrol.

-
PROCESS_PATROLZONE:SetSpeed(PatrolMinSpeed, PatrolMaxSpeed) -

Sets (modifies) the minimum and maximum speed of the patrol.

-
PROCESS_PATROLZONE:onenterPatrol() - -
PROCESS_PATROLZONE:onenterRoute() -

Defines a new patrol route using the Process_PatrolZone parameters and settings.

-
- -

Global(s)

-
-
- - #PROCESS_PATROLZONE - -PROCESS_PATROLZONE - -
-
- - - -
-
-
-
- - -_NewPatrolRoute(AIControllable) - -
-
- - - -

Parameter

- -
-
-

Type Process_PatrolZone

- -

Type PROCESS_PATROLZONE

- -

PROCESS_PATROLZONE class

- -

Field(s)

-
-
- - Controllable#CONTROLLABLE - -PROCESS_PATROLZONE.AIControllable - -
-
- -

The Controllable patrolling.

- -
-
-
-
- - #string - -PROCESS_PATROLZONE.ClassName - -
-
- - - -
-
-
-
- - -PROCESS_PATROLZONE:ManageFuel(PatrolFuelTresholdPercentage, PatrolOutOfFuelOrbitTime) - -
-
- -

When the AIControllable is out of fuel, it is required that a new AIControllable is started, before the old AIControllable can return to the home base.

- - -

Therefore, with a parameter and a calculation of the distance to the home base, the fuel treshold is calculated. -When the fuel treshold is reached, the AIControllable will continue for a given time its patrol task in orbit, while a new AIControllable is targetted to the PROCESS_PATROLZONE. -Once the time is finished, the old AIControllable will return to the base.

- -

Parameters

-
    -
  • - -

    #number PatrolFuelTresholdPercentage : -The treshold in percentage (between 0 and 1) when the AIControllable is considered to get out of fuel.

    - -
  • -
  • - -

    #number PatrolOutOfFuelOrbitTime : -The amount of seconds the out of fuel AIControllable will orbit before returning to the base.

    - -
  • -
-

Return value

- -

#PROCESS_PATROLZONE: -self

- -
-
-
-
- - -PROCESS_PATROLZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed) - -
-
- -

Creates a new PROCESS_PATROLZONE object

- -

Parameters

- -

Return value

- -

#PROCESS_PATROLZONE: -self

- -

Usage:

-
-- Define a new PROCESS_PATROLZONE Object. This PatrolArea will patrol an AIControllable within PatrolZone between 3000 and 6000 meters, with a variying speed between 600 and 900 km/h.
-PatrolZone = ZONE:New( 'PatrolZone' )
-PatrolSpawn = SPAWN:New( 'Patrol Group' )
-PatrolArea = PROCESS_PATROLZONE:New( PatrolZone, 3000, 6000, 600, 900 )
- -
-
-
-
- - -PROCESS_PATROLZONE:OnAfterRoute(Controllable) - -
-
- -

OnAfter State Transition Function

- -

Parameter

- -
-
-
-
- - -PROCESS_PATROLZONE:OnBeforeRoute(Controllable) - -
-
- -

OnBefore State Transition Function

- -

Parameter

- -

Return value

- -

#boolean:

- - -
-
-
-
- - DCSTypes#Altitude - -PROCESS_PATROLZONE.PatrolCeilingAltitude - -
-
- -

The highest altitude in meters where to execute the patrol.

- -
-
-
-
- - DCSTypes#Altitude - -PROCESS_PATROLZONE.PatrolFloorAltitude - -
-
- -

The lowest altitude in meters where to execute the patrol.

- -
-
-
-
- - - -PROCESS_PATROLZONE.PatrolFuelTresholdPercentage - -
-
- - - -
-
-
-
- - #boolean - -PROCESS_PATROLZONE.PatrolManageFuel - -
-
- - - -
-
-
-
- - DCSTypes#Speed - -PROCESS_PATROLZONE.PatrolMaxSpeed - -
-
- -

The maximum speed of the Controllable in km/h.

- -
-
-
-
- - DCSTypes#Speed - -PROCESS_PATROLZONE.PatrolMinSpeed - -
-
- -

The minimum speed of the Controllable in km/h.

- -
-
-
-
- - - -PROCESS_PATROLZONE.PatrolOutOfFuelOrbitTime - -
-
- - - -
-
-
-
- - Zone#ZONE_BASE - -PROCESS_PATROLZONE.PatrolZone - -
-
- -

The Zone where the patrol needs to be executed.

- -
-
-
-
- - -PROCESS_PATROLZONE:SetAltitude(PatrolFloorAltitude, PatrolCeilingAltitude) - -
-
- -

Sets the floor and ceiling altitude of the patrol.

- -

Parameters

-
    -
  • - -

    DCSTypes#Altitude PatrolFloorAltitude : -The lowest altitude in meters where to execute the patrol.

    - -
  • -
  • - -

    DCSTypes#Altitude PatrolCeilingAltitude : -The highest altitude in meters where to execute the patrol.

    - -
  • -
-

Return value

- -

#PROCESS_PATROLZONE: -self

- -
-
-
-
- - -PROCESS_PATROLZONE:SetSpeed(PatrolMinSpeed, PatrolMaxSpeed) - -
-
- -

Sets (modifies) the minimum and maximum speed of the patrol.

- -

Parameters

- -

Return value

- -

#PROCESS_PATROLZONE: -self

- -
-
-
-
- - -PROCESS_PATROLZONE:onenterPatrol() - -
-
- - - -
-
-
-
- - -PROCESS_PATROLZONE:onenterRoute() - -
-
- -

Defines a new patrol route using the Process_PatrolZone parameters and settings.

- -

Return value

- -

#PROCESS_PATROLZONE: -self

- -
-
- -
- -
- - diff --git a/docs/Documentation/Process_Smoke.html b/docs/Documentation/Process_Smoke.html deleted file mode 100644 index 0115dd96c..000000000 --- a/docs/Documentation/Process_Smoke.html +++ /dev/null @@ -1,487 +0,0 @@ - - - - - - -
-
- -
-
-
-
- -
-

Module Process_Smoke

- - - -

Global(s)

- - - - - -
PROCESS_SMOKE_TARGETS - -
-

Type PROCESS_SMOKE_TARGETS

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PROCESS_SMOKE_TARGETS.ClassName - -
PROCESS_SMOKE_TARGETS.Menu - -
PROCESS_SMOKE_TARGETS.MenuSmokeBlue - -
PROCESS_SMOKE_TARGETS.MenuSmokeGreen - -
PROCESS_SMOKE_TARGETS.MenuSmokeOrange - -
PROCESS_SMOKE_TARGETS.MenuSmokeRed - -
PROCESS_SMOKE_TARGETS.MenuSmokeWhite - -
PROCESS_SMOKE_TARGETS:New(Task, Unit, ProcessUnit, TargetSetUnit, TargetZone) -

Creates a new task assignment state machine.

-
PROCESS_SMOKE_TARGETS:OnSmoking(Fsm, Event, From, To) -

StateMachine callback function for a TASK2

-
PROCESS_SMOKE_TARGETS:OnStart(Fsm, Event, From, To) -

StateMachine callback function for a TASK2

-
PROCESS_SMOKE_TARGETS.ProcessUnit - -
PROCESS_SMOKE_TARGETS.TargetSetUnit - -
PROCESS_SMOKE_TARGETS.TargetZone - -
PROCESS_SMOKE_TARGETS.Task - -
- -

Global(s)

-
-
- - #PROCESS_SMOKE_TARGETS - -PROCESS_SMOKE_TARGETS - -
-
- - - -
-
-

Type Process_Smoke

- -

Type PROCESS_SMOKE_TARGETS

- -

PROCESSSMOKETARGETS class

- -

Field(s)

-
-
- - #string - -PROCESS_SMOKE_TARGETS.ClassName - -
-
- - - -
-
-
-
- - - -PROCESS_SMOKE_TARGETS.Menu - -
-
- - - -
-
-
-
- - - -PROCESS_SMOKE_TARGETS.MenuSmokeBlue - -
-
- - - -
-
-
-
- - - -PROCESS_SMOKE_TARGETS.MenuSmokeGreen - -
-
- - - -
-
-
-
- - - -PROCESS_SMOKE_TARGETS.MenuSmokeOrange - -
-
- - - -
-
-
-
- - - -PROCESS_SMOKE_TARGETS.MenuSmokeRed - -
-
- - - -
-
-
-
- - - -PROCESS_SMOKE_TARGETS.MenuSmokeWhite - -
-
- - - -
-
-
-
- - -PROCESS_SMOKE_TARGETS:New(Task, Unit, ProcessUnit, TargetSetUnit, TargetZone) - -
-
- -

Creates a new task assignment state machine.

- - -

The process will request from the menu if it accepts the task, if not, the unit is removed from the simulator.

- -

Parameters

-
    -
  • - -

    Task#TASK Task :

    - -
  • -
  • - -

    Unit#UNIT Unit :

    - -
  • -
  • - -

    ProcessUnit :

    - -
  • -
  • - -

    TargetSetUnit :

    - -
  • -
  • - -

    TargetZone :

    - -
  • -
-

Return value

- -

#PROCESSSMOKETARGETS: -self

- -
-
-
-
- - -PROCESS_SMOKE_TARGETS:OnSmoking(Fsm, Event, From, To) - -
-
- -

StateMachine callback function for a TASK2

- -

Parameters

- -
-
-
-
- - -PROCESS_SMOKE_TARGETS:OnStart(Fsm, Event, From, To) - -
-
- -

StateMachine callback function for a TASK2

- -

Parameters

- -
-
-
-
- - Unit#UNIT - -PROCESS_SMOKE_TARGETS.ProcessUnit - -
-
- - - -
-
-
-
- - Set#SET_UNIT - -PROCESS_SMOKE_TARGETS.TargetSetUnit - -
-
- - - -
-
-
-
- - Zone#ZONE_BASE - -PROCESS_SMOKE_TARGETS.TargetZone - -
-
- - - -
-
-
-
- - Task#TASK_BASE - -PROCESS_SMOKE_TARGETS.Task - -
-
- - - -
-
- -
- -
- - diff --git a/docs/Documentation/STAGE.html b/docs/Documentation/STAGE.html deleted file mode 100644 index 20f8f296e..000000000 --- a/docs/Documentation/STAGE.html +++ /dev/null @@ -1,867 +0,0 @@ - - - - - - -
-
- -
-
-
-
- -
-

Module STAGE

- -

Stages within a TASK within a MISSION.

- - -

All of the STAGE functionality is considered internally administered and not to be used by any Mission designer.

- -

Global(s)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CargoStatic - -
STAGE - -
STAGEARRIVE - -
STAGEBRIEF - -
STAGEDONE - -
STAGEGROUPSDESTROYED - -
STAGELANDED - -
STAGELANDING - -
STAGELOAD - -
STAGEROUTE - -
STAGESTART - -
STAGEUNLOAD - -
STAGE_CARGO_INIT - -
STAGE_CARGO_LOAD - -
_TransportStage - -
_TransportStageAction - -
_TransportStageTime - -
-

Type STAGE

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
STAGE.ClassName - -
STAGE:Execute(Mission, Client, Task) - -
STAGE:Executing(Mission, Client, Task) - -
STAGE.FREQUENCY - -
STAGE.Frequency - -
STAGE.MSG - -
STAGE.MessageCount - -
STAGE.MessageFlash - -
STAGE.MessageInterval - -
STAGE.MessageShow - -
STAGE.MessageShown - -
STAGE.Name - -
STAGE:New() - -
STAGE.StageType - -
STAGE:Validate(Mission, Client, Task) - -
STAGE.WaitTime - -
- -

Type STAGEBRIEF

- - - - - -
STAGEBRIEF.StageBriefingTime - -
- -

Global(s)

-
-
- - - -CargoStatic - -
-
- - - -
-
-
-
- - #STAGE - -STAGE - -
-
- - - -
-
-
-
- - - -STAGEARRIVE - -
-
- - - -
-
-
-
- - - -STAGEBRIEF - -
-
- - - -
-
-
-
- - - -STAGEDONE - -
-
- - - -
-
-
-
- - - -STAGEGROUPSDESTROYED - -
-
- - - -
-
-
-
- - - -STAGELANDED - -
-
- - - -
-
-
-
- - - -STAGELANDING - -
-
- - - -
-
-
-
- - - -STAGELOAD - -
-
- - - -
-
-
-
- - - -STAGEROUTE - -
-
- - - -
-
-
-
- - - -STAGESTART - -
-
- - - -
-
-
-
- - - -STAGEUNLOAD - -
-
- - - -
-
-
-
- - - -STAGE_CARGO_INIT - -
-
- - - -
-
-
-
- - - -STAGE_CARGO_LOAD - -
-
- - - -
-
-
-
- - - -_TransportStage - -
-
- - - - -

_TransportStage: Defines the different stages of which of transport missions can be in. This table is internal and is used to control the sequence of messages, actions and flow.

- -
    -
  • _TransportStage.START
  • -
  • _TransportStage.ROUTE
  • -
  • _TransportStage.LAND
  • -
  • _TransportStage.EXECUTE
  • -
  • _TransportStage.DONE
  • -
  • _TransportStage.REMOVE - --
  • -
- -
-
-
-
- - - -_TransportStageAction - -
-
- - - -
-
-
-
- - - -_TransportStageTime - -
-
- - - -
-
-

Type STAGE

-

Field(s)

-
-
- - #string - -STAGE.ClassName - -
-
- - - -
-
-
-
- - -STAGE:Execute(Mission, Client, Task) - -
-
- - - -

Parameters

-
    -
  • - -

    Mission :

    - -
  • -
  • - -

    Client :

    - -
  • -
  • - -

    Task :

    - -
  • -
-
-
-
-
- - -STAGE:Executing(Mission, Client, Task) - -
-
- - - -

Parameters

-
    -
  • - -

    Mission :

    - -
  • -
  • - -

    Client :

    - -
  • -
  • - -

    Task :

    - -
  • -
-
-
-
-
- - - -STAGE.FREQUENCY - -
-
- - - -
-
-
-
- - #number - -STAGE.Frequency - -
-
- - - -
-
-
-
- - - -STAGE.MSG - -
-
- - - -
-
-
-
- - #number - -STAGE.MessageCount - -
-
- - - -
-
-
-
- - #boolean - -STAGE.MessageFlash - -
-
- - - -
-
-
-
- - #number - -STAGE.MessageInterval - -
-
- - - -
-
-
-
- - #boolean - -STAGE.MessageShow - -
-
- - - -
-
-
-
- - - -STAGE.MessageShown - -
-
- - - -
-
-
-
- - #string - -STAGE.Name - -
-
- - - -
-
-
-
- - -STAGE:New() - -
-
- - - -
-
-
-
- - #string - -STAGE.StageType - -
-
- - - -
-
-
-
- - -STAGE:Validate(Mission, Client, Task) - -
-
- - - -

Parameters

-
    -
  • - -

    Mission :

    - -
  • -
  • - -

    Client :

    - -
  • -
  • - -

    Task :

    - -
  • -
-
-
-
-
- - #number - -STAGE.WaitTime - -
-
- - - -
-
- -

Type STAGEARRIVE

- -

Type STAGEBRIEF

-

Field(s)

-
-
- - - -STAGEBRIEF.StageBriefingTime - -
-
- - - -
-
- -

Type STAGELANDING

- -

Type STAGEROUTE

- -

Type STAGEUNLOAD

- -
- -
- - diff --git a/docs/Documentation/Spawn.html b/docs/Documentation/Spawn.html index 7e061009c..b32597b28 100644 --- a/docs/Documentation/Spawn.html +++ b/docs/Documentation/Spawn.html @@ -2176,7 +2176,7 @@ when nothing was spawned.

- + #number SPAWN.SpawnMaxGroups @@ -2193,7 +2193,7 @@ when nothing was spawned.

- + #number SPAWN.SpawnMaxUnitsAlive @@ -2496,7 +2496,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 ) -

Flag that indicates if all the Groups of the SpawnGroup need to be visible when Spawned.

+

When the first Spawn executes, all the Groups need to be made visible before start.

diff --git a/docs/Documentation/StateMachine.html b/docs/Documentation/StateMachine.html deleted file mode 100644 index ad966ec66..000000000 --- a/docs/Documentation/StateMachine.html +++ /dev/null @@ -1,1224 +0,0 @@ - - - - - - -
-
- -
-
-
-
- -
-

Module StateMachine

- -

This module contains the STATEMACHINE class.

- - -

This development is based on a state machine implementation made by Conroy Kyle. -The state machine can be found here: https://github.com/kyleconroy/lua-state-machine

- -

I've taken the development and enhanced it to make the state machine hierarchical... -It is a fantastic development, this module.

- -
- -

1) Workflow#STATEMACHINE class, extends Base#BASE

- -

1.1) Add or remove objects from the STATEMACHINE

- -

Global(s)

- - - - - - - - - - - - - - - - - - - - - -
STATEMACHINE - -
STATEMACHINE_CONTROLLABLE - -
STATEMACHINE_PROCESS - -
STATEMACHINE_SET - -
STATEMACHINE_TASK - -
-

Type STATEMACHINE

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
STATEMACHINE.ClassName - -
STATEMACHINE:LoadCallBacks(CallBackTable) - -
STATEMACHINE:New(options) -

Creates a new STATEMACHINE object.

-
STATEMACHINE:_add_to_map(map, event) - -
STATEMACHINE:_call_handler(handler, params) - -
STATEMACHINE:_create_transition(EventName) - -
STATEMACHINE:_delayed_transition(EventName) - -
STATEMACHINE:_gosub(parentstate, parentevent) - -
STATEMACHINE:_handler(EventName, ...) - -
STATEMACHINE:_isendstate(state) - -
STATEMACHINE:_submap(subs, sub, name) - -
STATEMACHINE:can(e) - -
STATEMACHINE:cannot(e) - -
STATEMACHINE:is(state) - -
STATEMACHINE:todot(filename) - -
- -

Type STATEMACHINE_CONTROLLABLE

- - - - - - - - - - - - - - - - - - - - - - - - - -
STATEMACHINE_CONTROLLABLE.ClassName - -
STATEMACHINE_CONTROLLABLE.Controllable - -
STATEMACHINE_CONTROLLABLE:GetControllable() -

Gets the CONTROLLABLE object that the STATEMACHINE_CONTROLLABLE governs.

-
STATEMACHINE_CONTROLLABLE:New(FSMT, Controllable) -

Creates a new STATEMACHINE_CONTROLLABLE object.

-
STATEMACHINE_CONTROLLABLE:SetControllable(Controllable, FSMControllable) -

Sets the CONTROLLABLE object that the STATEMACHINE_CONTROLLABLE governs.

-
STATEMACHINE_CONTROLLABLE:_call_handler(handler, params) - -
- -

Type STATEMACHINE_PROCESS

- - - - - - - - - - - - - - - - - -
STATEMACHINE_PROCESS.ClassName - -
STATEMACHINE_PROCESS:New(FSMT) -

Creates a new STATEMACHINE_PROCESS object.

-
STATEMACHINE_PROCESS.Process - -
STATEMACHINE_PROCESS:_call_handler(handler, params) - -
- -

Type STATEMACHINE_SET

- - - - - - - - - - - - - - - - - - - - - -
STATEMACHINE_SET.ClassName - -
STATEMACHINE_SET:Get() -

Gets the SETBASE object that the STATEMACHINESET governs.

-
STATEMACHINE_SET:New(FSMT, Set_SET_BASE, FSMSet) -

Creates a new STATEMACHINE_SET object.

-
STATEMACHINE_SET.Set - -
STATEMACHINE_SET:_call_handler(handler, params) - -
- -

Type STATEMACHINE_TASK

- - - - - - - - - - - - - - - - - -
STATEMACHINE_TASK.ClassName - -
STATEMACHINE_TASK:New(FSMT, Task, TaskUnit) -

Creates a new STATEMACHINE_TASK object.

-
STATEMACHINE_TASK.Task - -
STATEMACHINE_TASK:_call_handler(handler, params) - -
- -

Global(s)

-
-
- - #STATEMACHINE - -STATEMACHINE - -
-
- - - -
-
-
-
- - #STATEMACHINE_CONTROLLABLE - -STATEMACHINE_CONTROLLABLE - -
-
- - - -
-
-
-
- - #STATEMACHINE_PROCESS - -STATEMACHINE_PROCESS - -
-
- - - -
-
-
-
- - #STATEMACHINE_SET - -STATEMACHINE_SET - -
-
- - - -
-
-
-
- - #STATEMACHINE_TASK - -STATEMACHINE_TASK - -
-
- - - -
-
-

Type StateMachine

- -

Type STATEMACHINE

- -

STATEMACHINE class

- -

Field(s)

-
-
- - #string - -STATEMACHINE.ClassName - -
-
- - - -
-
-
-
- - -STATEMACHINE:LoadCallBacks(CallBackTable) - -
-
- - - -

Parameter

-
    -
  • - -

    CallBackTable :

    - -
  • -
-
-
-
-
- - -STATEMACHINE:New(options) - -
-
- -

Creates a new STATEMACHINE object.

- -

Parameter

-
    -
  • - -

    options :

    - -
  • -
-

Return value

- -

#STATEMACHINE:

- - -
-
-
-
- - -STATEMACHINE:_add_to_map(map, event) - -
-
- - - -

Parameters

-
    -
  • - -

    map :

    - -
  • -
  • - -

    event :

    - -
  • -
-
-
-
-
- - -STATEMACHINE:_call_handler(handler, params) - -
-
- - - -

Parameters

-
    -
  • - -

    handler :

    - -
  • -
  • - -

    params :

    - -
  • -
-
-
-
-
- - -STATEMACHINE:_create_transition(EventName) - -
-
- - - -

Parameter

-
    -
  • - -

    EventName :

    - -
  • -
-
-
-
-
- - -STATEMACHINE:_delayed_transition(EventName) - -
-
- - - -

Parameter

-
    -
  • - -

    EventName :

    - -
  • -
-
-
-
-
- - -STATEMACHINE:_gosub(parentstate, parentevent) - -
-
- - - -

Parameters

-
    -
  • - -

    parentstate :

    - -
  • -
  • - -

    parentevent :

    - -
  • -
-
-
-
-
- - -STATEMACHINE:_handler(EventName, ...) - -
-
- - - -

Parameters

-
    -
  • - -

    EventName :

    - -
  • -
  • - -

    ... :

    - -
  • -
-
-
-
-
- - -STATEMACHINE:_isendstate(state) - -
-
- - - -

Parameter

-
    -
  • - -

    state :

    - -
  • -
-
-
-
-
- - -STATEMACHINE:_submap(subs, sub, name) - -
-
- - - -

Parameters

-
    -
  • - -

    subs :

    - -
  • -
  • - -

    sub :

    - -
  • -
  • - -

    name :

    - -
  • -
-
-
-
-
- - -STATEMACHINE:can(e) - -
-
- - - -

Parameter

-
    -
  • - -

    e :

    - -
  • -
-
-
-
-
- - -STATEMACHINE:cannot(e) - -
-
- - - -

Parameter

-
    -
  • - -

    e :

    - -
  • -
-
-
-
-
- - -STATEMACHINE:is(state) - -
-
- - - -

Parameter

-
    -
  • - -

    state :

    - -
  • -
-
-
-
-
- - -STATEMACHINE:todot(filename) - -
-
- - - -

Parameter

-
    -
  • - -

    filename :

    - -
  • -
-
-
- -

Type STATEMACHINE_CONTROLLABLE

- -

STATEMACHINE_CONTROLLABLE class

- -

Field(s)

-
-
- - #string - -STATEMACHINE_CONTROLLABLE.ClassName - -
-
- - - -
-
-
-
- - Controllable#CONTROLLABLE - -STATEMACHINE_CONTROLLABLE.Controllable - -
-
- - - -
-
-
-
- - -STATEMACHINE_CONTROLLABLE:GetControllable() - -
-
- -

Gets the CONTROLLABLE object that the STATEMACHINE_CONTROLLABLE governs.

- -

Return value

- -

Controllable#CONTROLLABLE:

- - -
-
-
-
- - -STATEMACHINE_CONTROLLABLE:New(FSMT, Controllable) - -
-
- -

Creates a new STATEMACHINE_CONTROLLABLE object.

- -

Parameters

-
    -
  • - -

    #table FSMT : -Finite State Machine Table

    - -
  • -
  • - -

    Controllable#CONTROLLABLE Controllable : -(optional) The CONTROLLABLE object that the STATEMACHINE_CONTROLLABLE governs.

    - -
  • -
-

Return value

- -

#STATEMACHINE_CONTROLLABLE:

- - -
-
-
-
- - -STATEMACHINE_CONTROLLABLE:SetControllable(Controllable, FSMControllable) - -
-
- -

Sets the CONTROLLABLE object that the STATEMACHINE_CONTROLLABLE governs.

- -

Parameters

- -

Return value

- -

#STATEMACHINE_CONTROLLABLE:

- - -
-
-
-
- - -STATEMACHINE_CONTROLLABLE:_call_handler(handler, params) - -
-
- - - -

Parameters

-
    -
  • - -

    handler :

    - -
  • -
  • - -

    params :

    - -
  • -
-
-
- -

Type STATEMACHINE_PROCESS

- -

STATEMACHINE_PROCESS class

- -

Field(s)

-
-
- - #string - -STATEMACHINE_PROCESS.ClassName - -
-
- - - -
-
-
-
- - -STATEMACHINE_PROCESS:New(FSMT) - -
-
- -

Creates a new STATEMACHINE_PROCESS object.

- -

Parameter

-
    -
  • - -

    FSMT :

    - -
  • -
-

Return value

- -

#STATEMACHINE_PROCESS:

- - -
-
-
-
- - Process#PROCESS - -STATEMACHINE_PROCESS.Process - -
-
- - - -
-
-
-
- - -STATEMACHINE_PROCESS:_call_handler(handler, params) - -
-
- - - -

Parameters

-
    -
  • - -

    handler :

    - -
  • -
  • - -

    params :

    - -
  • -
-
-
- -

Type STATEMACHINE_SET

- -

STATEMACHINE_SET class

- -

Field(s)

-
-
- - #string - -STATEMACHINE_SET.ClassName - -
-
- - - -
-
-
-
- - -STATEMACHINE_SET:Get() - -
-
- -

Gets the SETBASE object that the STATEMACHINESET governs.

- -

Return value

- -

Set#SET_BASE:

- - -
-
-
-
- - -STATEMACHINE_SET:New(FSMT, Set_SET_BASE, FSMSet) - -
-
- -

Creates a new STATEMACHINE_SET object.

- -

Parameters

-
    -
  • - -

    #table FSMT : -Finite State Machine Table

    - -
  • -
  • - -

    SetSETBASE : -FSMSet (optional) The Set object that the STATEMACHINE_SET governs.

    - -
  • -
  • - -

    FSMSet :

    - -
  • -
-

Return value

- -

#STATEMACHINE_SET:

- - -
-
-
-
- - Set#SET_BASE - -STATEMACHINE_SET.Set - -
-
- - - -
-
-
-
- - -STATEMACHINE_SET:_call_handler(handler, params) - -
-
- - - -

Parameters

-
    -
  • - -

    handler :

    - -
  • -
  • - -

    params :

    - -
  • -
-
-
- -

Type STATEMACHINE_TASK

- -

STATEMACHINE_TASK class

- -

Field(s)

-
-
- - #string - -STATEMACHINE_TASK.ClassName - -
-
- - - -
-
-
-
- - -STATEMACHINE_TASK:New(FSMT, Task, TaskUnit) - -
-
- -

Creates a new STATEMACHINE_TASK object.

- -

Parameters

- -

Return value

- -

#STATEMACHINE_TASK:

- - -
-
-
-
- - Task#TASK_BASE - -STATEMACHINE_TASK.Task - -
-
- - - -
-
-
-
- - -STATEMACHINE_TASK:_call_handler(handler, params) - -
-
- - - -

Parameters

-
    -
  • - -

    handler :

    - -
  • -
  • - -

    params :

    - -
  • -
-
-
- -
- -
- - diff --git a/docs/Documentation/Task_Assign.html b/docs/Documentation/Task_Assign.html deleted file mode 100644 index 122e20e49..000000000 --- a/docs/Documentation/Task_Assign.html +++ /dev/null @@ -1,802 +0,0 @@ - - - - - - -
-
- -
-
-
-
- -
-

Module Task_Assign

- -

This module contains the PROCESS_ASSIGN classes.

- - - -
- -

1) TaskAssign#TASKASSIGN_ACCEPT class, extends Task#TASK_BASE

-

The TaskAssign#TASKASSIGN_ACCEPT class accepts by default a task for a player. No player intervention is allowed to reject the task.

- -

2) TaskAssign#TASKASSIGNMENUACCEPT class, extends Task#TASK_BASE

-

The TaskAssign#TASKASSIGNMENUACCEPT class accepts a task when the player accepts the task through an added menu option. -This assignment type is useful to conditionally allow the player to choose whether or not he would accept the task. -The assignment type also allows to reject the task.

- - - - - - - -

Global(s)

- - - - - - - - - -
PROCESS_ASSIGN_ACCEPT - -
PROCESS_ASSIGN_MENU_ACCEPT - -
-

Type PROCESS_ASSIGN_ACCEPT

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PROCESS_ASSIGN_ACCEPT.ClassName - -
PROCESS_ASSIGN_ACCEPT.Fsm - -
PROCESS_ASSIGN_ACCEPT:New(Task, Unit, ProcessUnit, TaskBriefing) -

Creates a new task assignment state machine.

-
PROCESS_ASSIGN_ACCEPT:OnAssigned(Fsm, Event, From, To) -

StateMachine callback function for a TASK2

-
PROCESS_ASSIGN_ACCEPT.ProcessUnit - -
PROCESS_ASSIGN_ACCEPT.TargetZone - -
PROCESS_ASSIGN_ACCEPT.Task - -
PROCESS_ASSIGN_ACCEPT.TaskBriefing - -
- -

Type PROCESS_ASSIGN_MENU_ACCEPT

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PROCESS_ASSIGN_MENU_ACCEPT.ClassName - -
PROCESS_ASSIGN_MENU_ACCEPT.Fsm - -
PROCESS_ASSIGN_MENU_ACCEPT.Menu - -
PROCESS_ASSIGN_MENU_ACCEPT.MenuAcceptTask - -
PROCESS_ASSIGN_MENU_ACCEPT:MenuAssign() -

Menu function.

-
PROCESS_ASSIGN_MENU_ACCEPT:MenuReject() -

Menu function.

-
PROCESS_ASSIGN_MENU_ACCEPT.MenuRejectTask - -
PROCESS_ASSIGN_MENU_ACCEPT.MenuText - -
PROCESS_ASSIGN_MENU_ACCEPT:New(Task, Unit, ProcessUnit, TaskBriefing) -

Creates a new task assignment state machine.

-
PROCESS_ASSIGN_MENU_ACCEPT:OnAssign(Fsm, Event, From, To) -

StateMachine callback function for a TASK2

-
PROCESS_ASSIGN_MENU_ACCEPT:OnReject(Fsm, Event, From, To) -

StateMachine callback function for a TASK2

-
PROCESS_ASSIGN_MENU_ACCEPT:OnStart(Fsm, Event, From, To) -

StateMachine callback function for a TASK2

-
PROCESS_ASSIGN_MENU_ACCEPT.ProcessUnit - -
PROCESS_ASSIGN_MENU_ACCEPT.TargetZone - -
PROCESS_ASSIGN_MENU_ACCEPT.Task - -
PROCESS_ASSIGN_MENU_ACCEPT.TaskBriefing - -
- -

Global(s)

-
-
- - #PROCESS_ASSIGN_ACCEPT - -PROCESS_ASSIGN_ACCEPT - -
-
- - - -
-
-
-
- - #PROCESS_ASSIGN_MENU_ACCEPT - -PROCESS_ASSIGN_MENU_ACCEPT - -
-
- - - -
-
-

Type Task_Assign

- -

Type PROCESS_ASSIGN_ACCEPT

- -

PROCESSASSIGNACCEPT class

- -

Field(s)

-
-
- - #string - -PROCESS_ASSIGN_ACCEPT.ClassName - -
-
- - - -
-
-
-
- - - -PROCESS_ASSIGN_ACCEPT.Fsm - -
-
- - - -
-
-
-
- - -PROCESS_ASSIGN_ACCEPT:New(Task, Unit, ProcessUnit, TaskBriefing) - -
-
- -

Creates a new task assignment state machine.

- - -

The process will accept the task by default, no player intervention accepted.

- -

Parameters

-
    -
  • - -

    Task#TASK Task :

    - -
  • -
  • - -

    Unit#UNIT Unit :

    - -
  • -
  • - -

    ProcessUnit :

    - -
  • -
  • - -

    TaskBriefing :

    - -
  • -
-

Return value

- -

#PROCESSASSIGNACCEPT: -self

- -
-
-
-
- - -PROCESS_ASSIGN_ACCEPT:OnAssigned(Fsm, Event, From, To) - -
-
- -

StateMachine callback function for a TASK2

- -

Parameters

- -
-
-
-
- - Unit#UNIT - -PROCESS_ASSIGN_ACCEPT.ProcessUnit - -
-
- - - -
-
-
-
- - Zone#ZONE_BASE - -PROCESS_ASSIGN_ACCEPT.TargetZone - -
-
- - - -
-
-
-
- - Task#TASK_BASE - -PROCESS_ASSIGN_ACCEPT.Task - -
-
- - - -
-
-
-
- - - -PROCESS_ASSIGN_ACCEPT.TaskBriefing - -
-
- - - -
-
- -

Type PROCESS_ASSIGN_MENU_ACCEPT

- -

PROCESSASSIGNMENU_ACCEPT class

- -

Field(s)

-
-
- - #string - -PROCESS_ASSIGN_MENU_ACCEPT.ClassName - -
-
- - - -
-
-
-
- - - -PROCESS_ASSIGN_MENU_ACCEPT.Fsm - -
-
- - - -
-
-
-
- - - -PROCESS_ASSIGN_MENU_ACCEPT.Menu - -
-
- - - -
-
-
-
- - - -PROCESS_ASSIGN_MENU_ACCEPT.MenuAcceptTask - -
-
- - - -
-
-
-
- - -PROCESS_ASSIGN_MENU_ACCEPT:MenuAssign() - -
-
- -

Menu function.

- -
-
-
-
- - -PROCESS_ASSIGN_MENU_ACCEPT:MenuReject() - -
-
- -

Menu function.

- -
-
-
-
- - - -PROCESS_ASSIGN_MENU_ACCEPT.MenuRejectTask - -
-
- - - -
-
-
-
- - - -PROCESS_ASSIGN_MENU_ACCEPT.MenuText - -
-
- - - -
-
-
-
- - -PROCESS_ASSIGN_MENU_ACCEPT:New(Task, Unit, ProcessUnit, TaskBriefing) - -
-
- -

Creates a new task assignment state machine.

- - -

The process will request from the menu if it accepts the task, if not, the unit is removed from the simulator.

- -

Parameters

-
    -
  • - -

    Task#TASK Task :

    - -
  • -
  • - -

    Unit#UNIT Unit :

    - -
  • -
  • - -

    ProcessUnit :

    - -
  • -
  • - -

    TaskBriefing :

    - -
  • -
-

Return value

- -

#PROCESSASSIGNMENU_ACCEPT: -self

- -
-
-
-
- - -PROCESS_ASSIGN_MENU_ACCEPT:OnAssign(Fsm, Event, From, To) - -
-
- -

StateMachine callback function for a TASK2

- -

Parameters

- -
-
-
-
- - -PROCESS_ASSIGN_MENU_ACCEPT:OnReject(Fsm, Event, From, To) - -
-
- -

StateMachine callback function for a TASK2

- -

Parameters

- -
-
-
-
- - -PROCESS_ASSIGN_MENU_ACCEPT:OnStart(Fsm, Event, From, To) - -
-
- -

StateMachine callback function for a TASK2

- -

Parameters

- -
-
-
-
- - Unit#UNIT - -PROCESS_ASSIGN_MENU_ACCEPT.ProcessUnit - -
-
- - - -
-
-
-
- - Zone#ZONE_BASE - -PROCESS_ASSIGN_MENU_ACCEPT.TargetZone - -
-
- - - -
-
-
-
- - Task#TASK_BASE - -PROCESS_ASSIGN_MENU_ACCEPT.Task - -
-
- - - -
-
-
-
- - - -PROCESS_ASSIGN_MENU_ACCEPT.TaskBriefing - -
-
- - - -
-
- -
- -
- - diff --git a/docs/Documentation/Task_Client_Menu.html b/docs/Documentation/Task_Client_Menu.html deleted file mode 100644 index 5fd5fc3d4..000000000 --- a/docs/Documentation/Task_Client_Menu.html +++ /dev/null @@ -1,416 +0,0 @@ - - - - - - -
-
- -
-
-
-
- -
-

Module Task_Client_Menu

- - - -

Global(s)

- - - - - -
TASK2_MENU_CLIENT - -
-

Type TASK2_MENU_CLIENT

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TASK2_MENU_CLIENT.ClassName - -
TASK2_MENU_CLIENT.Fsm - -
TASK2_MENU_CLIENT.Menu - -
TASK2_MENU_CLIENT:MenuAssign() -

Menu function.

-
TASK2_MENU_CLIENT.MenuTask - -
TASK2_MENU_CLIENT.MenuText - -
TASK2_MENU_CLIENT:New(Mission, TaskUnit, MenuText) -

Creates a new MENU handling machine.

-
TASK2_MENU_CLIENT:OnAssign(Fsm, Event, From, To) -

StateMachine callback function for a TASK2

-
TASK2_MENU_CLIENT:OnMenu(Fsm, Event, From, To) -

StateMachine callback function for a TASK2

-
TASK2_MENU_CLIENT.TargetSet - -
TASK2_MENU_CLIENT.TaskUnit - -
- -

Global(s)

-
-
- - #TASK2_MENU_CLIENT - -TASK2_MENU_CLIENT - -
-
- - - -
-
-

Type Task_Client_Menu

- -

Type TASK2_MENU_CLIENT

- -

TASK2MENUCLIENT class

- -

Field(s)

-
-
- - #string - -TASK2_MENU_CLIENT.ClassName - -
-
- - - -
-
-
-
- - - -TASK2_MENU_CLIENT.Fsm - -
-
- - - -
-
-
-
- - - -TASK2_MENU_CLIENT.Menu - -
-
- - - -
-
-
-
- - -TASK2_MENU_CLIENT:MenuAssign() - -
-
- -

Menu function.

- -
-
-
-
- - Core.Menu#MENU_CLIENT_COMMAND - -TASK2_MENU_CLIENT.MenuTask - -
-
- - - -
-
-
-
- - - -TASK2_MENU_CLIENT.MenuText - -
-
- - - -
-
-
-
- - -TASK2_MENU_CLIENT:New(Mission, TaskUnit, MenuText) - -
-
- -

Creates a new MENU handling machine.

- -

Parameters

- -

Return value

- -

#TASK2MENUCLIENT: -self

- -
-
-
-
- - -TASK2_MENU_CLIENT:OnAssign(Fsm, Event, From, To) - -
-
- -

StateMachine callback function for a TASK2

- -

Parameters

-
    -
  • - -

    Core.Fsm#FSM_TASK Fsm :

    - -
  • -
  • - -

    #string Event :

    - -
  • -
  • - -

    #string From :

    - -
  • -
  • - -

    #string To :

    - -
  • -
-
-
-
-
- - -TASK2_MENU_CLIENT:OnMenu(Fsm, Event, From, To) - -
-
- -

StateMachine callback function for a TASK2

- -

Parameters

-
    -
  • - -

    Core.Fsm#FSM_TASK Fsm :

    - -
  • -
  • - -

    #string Event :

    - -
  • -
  • - -

    #string From :

    - -
  • -
  • - -

    #string To :

    - -
  • -
-
-
-
-
- - Core.Set#SET_UNIT - -TASK2_MENU_CLIENT.TargetSet - -
-
- - - -
-
-
-
- - Wrapper.Unit#UNIT - -TASK2_MENU_CLIENT.TaskUnit - -
-
- - - -
-
- -
- -
- - diff --git a/docs/Documentation/Task_Route.html b/docs/Documentation/Task_Route.html deleted file mode 100644 index 9b4d7f746..000000000 --- a/docs/Documentation/Task_Route.html +++ /dev/null @@ -1,426 +0,0 @@ - - - - - - -
-
- -
-
-
-
- -
-

Module Task_Route

- - - -

Global(s)

- - - - - -
PROCESS_ROUTE - -
-

Type PROCESS_ROUTE

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PROCESS_ROUTE.ClassName - -
PROCESS_ROUTE.DisplayCategory - -
PROCESS_ROUTE.DisplayCount - -
PROCESS_ROUTE.DisplayInterval - -
PROCESS_ROUTE.DisplayMessage - -
PROCESS_ROUTE.DisplayTime - -
PROCESS_ROUTE.Fsm - -
PROCESS_ROUTE:New(Task, Unit, ProcessUnit, TargetZone) -

Creates a new routing state machine.

-
PROCESS_ROUTE:OnLeaveUnArrived(Fsm, Event, From, To) -

StateMachine callback function for a TASK2

-
PROCESS_ROUTE.ProcessUnit - -
PROCESS_ROUTE.TASK - -
PROCESS_ROUTE.TargetZone - -
- -

Global(s)

-
-
- - #PROCESS_ROUTE - -PROCESS_ROUTE - -
-
- - - -
-
-

Type Task_Route

- -

Type PROCESS_ROUTE

- -

PROCESS_ROUTE class

- -

Field(s)

-
-
- - #string - -PROCESS_ROUTE.ClassName - -
-
- - - -
-
-
-
- - #string - -PROCESS_ROUTE.DisplayCategory - -
-
- - - - -

Route is the default display category

- -
-
-
-
- - #number - -PROCESS_ROUTE.DisplayCount - -
-
- - - -
-
-
-
- - #number - -PROCESS_ROUTE.DisplayInterval - -
-
- - - -
-
-
-
- - #boolean - -PROCESS_ROUTE.DisplayMessage - -
-
- - - -
-
-
-
- - #number - -PROCESS_ROUTE.DisplayTime - -
-
- - - - -

10 seconds is the default

- -
-
-
-
- - - -PROCESS_ROUTE.Fsm - -
-
- - - -
-
-
-
- - -PROCESS_ROUTE:New(Task, Unit, ProcessUnit, TargetZone) - -
-
- -

Creates a new routing state machine.

- - -

The task will route a CLIENT to a ZONE until the CLIENT is within that ZONE.

- -

Parameters

-
    -
  • - -

    Task#TASK Task :

    - -
  • -
  • - -

    Unit#UNIT Unit :

    - -
  • -
  • - -

    ProcessUnit :

    - -
  • -
  • - -

    TargetZone :

    - -
  • -
-

Return value

- -

#PROCESS_ROUTE: -self

- -
-
-
-
- - -PROCESS_ROUTE:OnLeaveUnArrived(Fsm, Event, From, To) - -
-
- -

StateMachine callback function for a TASK2

- -

Parameters

- -
-
-
-
- - Unit#UNIT - -PROCESS_ROUTE.ProcessUnit - -
-
- - - -
-
-
-
- - Task#TASK - -PROCESS_ROUTE.TASK - -
-
- - - -
-
-
-
- - Zone#ZONE_BASE - -PROCESS_ROUTE.TargetZone - -
-
- - - -
-
- -
- -
- - diff --git a/docs/Documentation/TrackHits.html b/docs/Documentation/TrackHits.html deleted file mode 100644 index 806370aa5..000000000 --- a/docs/Documentation/TrackHits.html +++ /dev/null @@ -1,776 +0,0 @@ - - - - - - -
-
- -
-
-
-
- -
-

Module TrackHits

- -

(SP) (MP) (FSM) Detect, count and report successful hits to DCS objects.

- - - -
- -

#ACCOUNT FSM class, extends Process#PROCESS

-

The #ACCOUNT_DEADS class detects, counts and reports successful hits to DCS objects. -The process is given a Set of units that will be tracked upon successful destruction. -The process will end after each target has been successfully destroyed. -Each successful destruction will trigger a status change.

- -

1.1) ACCOUNT_DEADS constructor:

- - - -

1.2) ACCOUNT state machine:

-

The ACCOUNT is a state machine: it manages the different events and states of the Controllable it is controlling.

- -

1.2.1) ACCOUNT Events:

- -

Event methods are available (dynamically allocated by the state machine), that accomodate for state transitions to occur in the process. -There are two types of event methods:

- -
    -
  • Immediate: The event method has exactly the name of the event.
  • -
  • Delayed: The event method starts with a __ + the name of the event. The first parameter of the event method is a number value, expressing the delay in seconds when the event will be executed.
  • -
- -

These are the events defined in this class:

- -
    -
  • Start: The process is started. The process will go into the Waiting state.
  • -
  • Event: A relevant event has occured that needs to be accounted for. The process will go into the Account state.
  • -
  • More: There are more DCS events that need to be accounted for. The process will go back into the Waiting state.
  • -
  • NoMore: There are no more DCS events that need to be accounted for. The process will go into the Success state.
  • -
- -

1.2.2) ACCOUNT States:

- -
    -
  • Assigned: The player is assigned to the task. This is the initialization state for the process.
  • -
  • Waiting: The process is awaiting an DCS event to occur within the simulator. This event is called automatically every 1 second.
  • -
  • Account: The relevant DCS event has occurred, and is accounted for.
  • -
  • Success (*): All DCS events were accounted for.
  • -
  • Failed (*): The process has failed.
  • -
- -

(*) End states of the process.

- -

1.2.3) ACCOUNT_DEADS state transition functions:

- -

State transition functions can be set by the mission designer customizing or improving the behaviour of the state. -There are 2 moments when state transition functions will be called by the state machine:

- -
    -
  • Before the state transition. - The state transition function needs to start with the name OnBefore + the name of the state. - If the state transition function returns false, then the processing of the state transition will not be done! - If you want to change the behaviour of the AIControllable at this event, return false, - but then you'll need to specify your own logic using the AIControllable!

  • -
  • After the state transition. - The state transition function needs to start with the name OnAfter + the name of the state. - These state transition functions need to provide a return value, which is specified at the function description.

  • -
- -

1.3) Manage the ACCOUNT_DEADS parameters:

-

The following methods are available to modify the parameters of a ACCOUNT_DEADS object:

- - - - -

Global(s)

- - - - - -
ACCOUNT_DEADS - -
-

Type ACCOUNT_DEADS

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ACCOUNT_DEADS.ClassName - -
ACCOUNT_DEADS.DisplayCategory - -
ACCOUNT_DEADS.DisplayCount - -
ACCOUNT_DEADS.DisplayInterval - -
ACCOUNT_DEADS.DisplayMessage - -
ACCOUNT_DEADS.DisplayTime - -
ACCOUNT_DEADS:EventDead(Event) - -
ACCOUNT_DEADS.Fsm - -
ACCOUNT_DEADS:New(ProcessUnit, TargetSetUnit, TaskName) -

Creates a new DESTROY process.

-
ACCOUNT_DEADS:OnDestroyed(ProcessUnit, Event, From, To) -

StateMachine callback function

-
ACCOUNT_DEADS:OnHitTarget(ProcessUnit, Event, From, To) -

StateMachine callback function

-
ACCOUNT_DEADS:OnKilled(ProcessUnit, Event, From, To) -

StateMachine callback function

-
ACCOUNT_DEADS:OnMoreTargets(ProcessUnit, Event, From, To) -

StateMachine callback function

-
ACCOUNT_DEADS:OnRestart(ProcessUnit, Event, From, To) -

StateMachine callback function

-
ACCOUNT_DEADS:OnStart(ProcessUnit, Event, From, To) -

StateMachine callback function

-
ACCOUNT_DEADS:OnWaiting(ProcessUnit, Event, From, To) -

StateMachine callback function

-
ACCOUNT_DEADS.TargetSetUnit - -
ACCOUNT_DEADS.TaskName - -
- -

Type ASSIGN_MENU_ACCEPT

- - - - - -
ASSIGN_MENU_ACCEPT.DisplayCount - -
- -

Global(s)

-
-
- - #ACCOUNT_DEADS - -ACCOUNT_DEADS - -
-
- - - -
-
-

Type TrackHits

- -

Type ACCOUNT_DEADS

- -

ACCOUNT_DEADS class

- -

Field(s)

-
-
- - #string - -ACCOUNT_DEADS.ClassName - -
-
- - - -
-
-
-
- - #string - -ACCOUNT_DEADS.DisplayCategory - -
-
- - - - -

Targets is the default display category

- -
-
-
-
- - #number - -ACCOUNT_DEADS.DisplayCount - -
-
- - - -
-
-
-
- - #number - -ACCOUNT_DEADS.DisplayInterval - -
-
- - - -
-
-
-
- - #boolean - -ACCOUNT_DEADS.DisplayMessage - -
-
- - - -
-
-
-
- - #number - -ACCOUNT_DEADS.DisplayTime - -
-
- - - - -

10 seconds is the default

- -
-
-
-
- - -ACCOUNT_DEADS:EventDead(Event) - -
-
- - - -

Parameter

- -
-
-
-
- - - -ACCOUNT_DEADS.Fsm - -
-
- - - -
-
-
-
- - -ACCOUNT_DEADS:New(ProcessUnit, TargetSetUnit, TaskName) - -
-
- -

Creates a new DESTROY process.

- -

Parameters

- -

Return value

- -

#ACCOUNT_DEADS: -self

- -
-
-
-
- - -ACCOUNT_DEADS:OnDestroyed(ProcessUnit, Event, From, To) - -
-
- -

StateMachine callback function

- -

Parameters

- -
-
-
-
- - -ACCOUNT_DEADS:OnHitTarget(ProcessUnit, Event, From, To) - -
-
- -

StateMachine callback function

- -

Parameters

- -
-
-
-
- - -ACCOUNT_DEADS:OnKilled(ProcessUnit, Event, From, To) - -
-
- -

StateMachine callback function

- -

Parameters

- -
-
-
-
- - -ACCOUNT_DEADS:OnMoreTargets(ProcessUnit, Event, From, To) - -
-
- -

StateMachine callback function

- -

Parameters

- -
-
-
-
- - -ACCOUNT_DEADS:OnRestart(ProcessUnit, Event, From, To) - -
-
- -

StateMachine callback function

- -

Parameters

- -
-
-
-
- - -ACCOUNT_DEADS:OnStart(ProcessUnit, Event, From, To) - -
-
- -

StateMachine callback function

- -

Parameters

- -
-
-
-
- - -ACCOUNT_DEADS:OnWaiting(ProcessUnit, Event, From, To) - -
-
- -

StateMachine callback function

- -

Parameters

- -
-
-
-
- - Set#SET_UNIT - -ACCOUNT_DEADS.TargetSetUnit - -
-
- - - -
-
-
-
- - - -ACCOUNT_DEADS.TaskName - -
-
- - - -
-
- -

Type ASSIGN_MENU_ACCEPT

-

Field(s)

-
-
- - #number - -ASSIGN_MENU_ACCEPT.DisplayCount - -
-
- - - -
-
- -
- -
- -