Module Cargo
This module contains the CARGO classes.
1) Cargo#CARGO_BASE class, extends Base#BASE
The #CARGO_BASE class defines the core functions that defines a cargo object within MOOSE. A cargo is a logical object defined within a Mission, that is available for transport, and has a life status within a simulation.
Cargo can be of various forms:
- CARGO_UNIT, represented by a Unit in a Group: Cargo can be represented by a Unit in a Group. Destruction of the Unit will mean that the cargo is lost.
- CARGO_STATIC, represented by a Static: Cargo can be represented by a Static. Destruction of the Static will mean that the cargo is lost.
- CARGO_PACKAGE, contained in a Unit of a Group: Cargo can be contained within a Unit of a Group. The cargo can be delivered by the Unit. If the Unit is destroyed, the cargo will be destroyed also.
- CARGO_PACKAGE, Contained in a Static: Cargo can be contained within a Static. The cargo can be collected from the @Static. If the Static is destroyed, the cargo will be destroyed.
- CARGO_SLINGLOAD, represented by a Cargo that is transportable: Cargo can be represented by a Cargo object that is transportable. Destruction of the Cargo will mean that the cargo is lost.
Global(s)
| CARGO | |
| CARGOS | |
| CARGO_PACKAGE | |
| CARGO_REPRESENTABLE | |
| CARGO_SLINGLOAD | |
| CARGO_UNIT | |
| CARGO_ZONE | |
| CargoStatic |
Type CARGO
| CARGO:Board(CargoCarrier) |
Board Cargo to a Carrier with a defined Speed. |
| CARGO.CargoCarrier |
The alive DCS object carrying the cargo. This value can be nil, meaning, that the cargo is not contained anywhere... |
| CARGO.CargoObject |
The alive DCS object representing the cargo. This value can be nil, meaning, that the cargo is not represented anywhere... |
| CARGO.CargoScheduler | |
| CARGO.ClassName | |
| CARGO.Containable |
This flag defines if the cargo can be contained within a DCS Unit. |
| CARGO.FsmP | |
| CARGO:IsNear(PointVec2) |
Check if CargoCarrier is near the Cargo to be Loaded. |
| CARGO:Load(CargoCarrier) |
Load Cargo to a Carrier. |
| CARGO.Moveable |
This flag defines if the cargo is moveable. |
| CARGO.Name |
A string defining the name of the cargo. The name is the unique identifier of the cargo. |
| CARGO.NearRadius |
(optional) A number defining the radius in meters when the cargo is near to a Carrier, so that it can be loaded. |
| CARGO:New(Mission, Type, Name, Weight, ReportRadius, NearRadius) |
CARGO Constructor. |
| CARGO:OnLoaded(CallBackFunction, ...) |
On Loaded callback function. |
| CARGO:OnUnLoaded(CallBackFunction, ...) |
On UnLoaded callback function. |
| CARGO.ReportRadius |
(optional) A number defining the radius in meters when the cargo is signalling or reporting to a Carrier. |
| CARGO.Representable |
This flag defines if the cargo can be represented by a DCS Unit. |
| CARGO.Slingloadable |
This flag defines if the cargo can be slingloaded. |
| CARGO:Spawn(PointVec2) |
Template method to spawn a new representation of the CARGO in the simulator. |
| CARGO.Type |
A string defining the type of the cargo. eg. Engineers, Equipment, Screwdrivers. |
| CARGO:UnLoad(UnLoadDistance, Angle, CargoCarrier) |
UnLoad Cargo from a Carrier with a UnLoadDistance and an Angle. |
| CARGO.Weight |
A number defining the weight of the cargo. The weight is expressed in kg. |
| CARGO:_Next(NextEvent, ...) | |
| CARGO:_NextEvent(NextEvent, ...) |
Type CARGO_PACKAGE
Type CARGO_REPRESENTABLE
| CARGO_REPRESENTABLE.ClassName | |
| CARGO_REPRESENTABLE:New(Mission, CargoObject, Type, Name, Weight, ReportRadius, NearRadius) |
CARGO_REPRESENTABLE Constructor. |
Type CARGO_UNIT
Global(s)
Type Cargo
Type CARGO
Field(s)
- CARGO:Board(CargoCarrier)
-
Board Cargo to a Carrier with a defined Speed.
Parameter
-
Unit#UNIT CargoCarrier:
-
- Positionable#POSITIONABLE CARGO.CargoCarrier
-
The alive DCS object carrying the cargo. This value can be nil, meaning, that the cargo is not contained anywhere...
- Controllable#CONTROLLABLE CARGO.CargoObject
-
The alive DCS object representing the cargo. This value can be nil, meaning, that the cargo is not represented anywhere...
- #string CARGO.ClassName
- #boolean CARGO.Containable
-
This flag defines if the cargo can be contained within a DCS Unit.
- CARGO:IsNear(PointVec2)
-
Check if CargoCarrier is near the Cargo to be Loaded.
Parameter
-
Point#POINT_VEC2 PointVec2:
Return value
#boolean:
-
- CARGO:Load(CargoCarrier)
-
Load Cargo to a Carrier.
Parameter
-
Unit#UNIT CargoCarrier:
-
- #boolean CARGO.Moveable
-
This flag defines if the cargo is moveable.
- #string CARGO.Name
-
A string defining the name of the cargo. The name is the unique identifier of the cargo.
- #number CARGO.NearRadius
-
(optional) A number defining the radius in meters when the cargo is near to a Carrier, so that it can be loaded.
- CARGO:New(Mission, Type, Name, Weight, ReportRadius, NearRadius)
-
CARGO Constructor.
Parameters
-
Mission#MISSION Mission: -
#string Type: -
#string Name: -
#number Weight: -
#number ReportRadius: (optional) -
#number NearRadius: (optional)
Return value
-
- CARGO:OnLoaded(CallBackFunction, ...)
-
On Loaded callback function.
Parameters
-
CallBackFunction: -
...:
-
- CARGO:OnUnLoaded(CallBackFunction, ...)
-
On UnLoaded callback function.
Parameters
-
CallBackFunction: -
...:
-
- #number CARGO.ReportRadius
-
(optional) A number defining the radius in meters when the cargo is signalling or reporting to a Carrier.
- #boolean CARGO.Representable
-
This flag defines if the cargo can be represented by a DCS Unit.
- #boolean CARGO.Slingloadable
-
This flag defines if the cargo can be slingloaded.
- CARGO:Spawn(PointVec2)
-
Template method to spawn a new representation of the CARGO in the simulator.
Parameter
-
PointVec2:
Return value
-
- #string CARGO.Type
-
A string defining the type of the cargo. eg. Engineers, Equipment, Screwdrivers.
- CARGO:UnLoad(UnLoadDistance, Angle, CargoCarrier)
-
UnLoad Cargo from a Carrier with a UnLoadDistance and an Angle.
Parameters
-
#number UnLoadDistance: -
#number Angle: -
CargoCarrier:
-
- #number CARGO.Weight
-
A number defining the weight of the cargo. The weight is expressed in kg.
- CARGO:_Next(NextEvent, ...)
-
Parameters
-
NextEvent: -
...:
-
- CARGO:_NextEvent(NextEvent, ...)
-
Parameters
-
NextEvent: -
...:
-
Type CARGO.CargoObjects
Type CARGO_PACKAGE
Field(s)
- #string CARGO_PACKAGE.ClassName
- CARGO_PACKAGE:IsNear(CargoCarrier)
-
Check if CargoCarrier is near the Cargo to be Loaded.
Parameter
-
Unit#UNIT CargoCarrier:
Return value
#boolean:
-
- CARGO_PACKAGE:New(Mission, CargoCarrier, Type, Name, Weight, ReportRadius, NearRadius)
-
CARGO_PACKAGE Constructor.
Parameters
-
Mission#MISSION Mission: -
Unit#UNIT CargoCarrier: The UNIT carrying the package. -
#string Type: -
#string Name: -
#number Weight: -
#number ReportRadius: (optional) -
#number NearRadius: (optional)
Return value
-
- CARGO_PACKAGE:OnBoard(FsmP, Event, From, To, CargoCarrier, Speed, BoardDistance, Angle, LoadDistance)
-
Board Event.
Parameters
-
#string Event: -
#string From: -
#string To: -
Unit#UNIT CargoCarrier: -
#number Speed: -
#number BoardDistance: -
#number Angle: -
LoadDistance:
- CARGO_PACKAGE:OnBoarded(FsmP, Event, From, To, CargoCarrier, Speed, BoardDistance, LoadDistance, Angle)
-
Boarded Event.
Parameters
-
#string Event: -
#string From: -
#string To: -
Unit#UNIT CargoCarrier: -
Speed: -
BoardDistance: -
LoadDistance: -
Angle:
- CARGO_PACKAGE:OnLoad(FsmP, Event, From, To, CargoCarrier, Speed, LoadDistance, Angle)
-
Load Event.
Parameters
-
#string Event: -
#string From: -
#string To: -
Unit#UNIT CargoCarrier: -
#number Speed: -
#number LoadDistance: -
#number Angle:
- CARGO_PACKAGE:OnUnBoard(FsmP, Event, From, To, Speed, UnLoadDistance, UnBoardDistance, Radius, Angle, CargoCarrier)
-
UnBoard Event.
Parameters
-
#string Event: -
#string From: -
#string To: -
#number Speed: -
#number UnLoadDistance: -
#number UnBoardDistance: -
#number Radius: -
#number Angle: -
CargoCarrier:
- CARGO_PACKAGE:OnUnBoarded(FsmP, Event, From, To, CargoCarrier, Speed)
-
UnBoarded Event.
Parameters
-
#string Event: -
#string From: -
#string To: -
Unit#UNIT CargoCarrier: -
Speed:
- CARGO_PACKAGE:OnUnLoad(FsmP, Event, From, To, Distance, Angle, CargoCarrier, Speed)
-
UnLoad Event.
Parameters
-
#string Event: -
#string From: -
#string To: -
#number Distance: -
#number Angle: -
CargoCarrier: -
Speed:
Type CARGO_REPRESENTABLE
Field(s)
- #string CARGO_REPRESENTABLE.ClassName
- CARGO_REPRESENTABLE:New(Mission, CargoObject, Type, Name, Weight, ReportRadius, NearRadius)
-
CARGO_REPRESENTABLE Constructor.
Parameters
-
Mission#MISSION Mission: -
Controllable#Controllable CargoObject: -
#string Type: -
#string Name: -
#number Weight: -
#number ReportRadius: (optional) -
#number NearRadius: (optional)
Return value
-
Type CARGO_UNIT
Field(s)
- #string CARGO_UNIT.ClassName
- CARGO_UNIT:EnterStateBoarding(FsmP, Event, From, To, CargoCarrier)
-
Enter Boarding State.
Parameters
-
#string Event: -
#string From: -
#string To: -
Unit#UNIT CargoCarrier:
- CARGO_UNIT:EnterStateLoaded(FsmP, Event, From, To, CargoCarrier)
-
Loaded State.
Parameters
-
#string Event: -
#string From: -
#string To: -
Unit#UNIT CargoCarrier:
- CARGO_UNIT:EnterStateUnBoarding(FsmP, Event, From, To, ToPointVec2)
-
Enter UnBoarding State.
Parameters
-
#string Event: -
#string From: -
#string To: -
Point#POINT_VEC2 ToPointVec2:
- CARGO_UNIT:EnterStateUnLoaded(FsmP, Event, From, To, ToPointVec2)
-
Enter UnLoaded State.
Parameters
-
#string Event: -
#string From: -
#string To: -
ToPointVec2:
- CARGO_UNIT:EventBoard(FsmP, Event, From, To, CargoCarrier)
-
Board Event.
Parameters
-
#string Event: -
#string From: -
#string To: -
CargoCarrier:
- CARGO_UNIT:EventLoad(FsmP, Event, From, To, CargoCarrier)
-
Load Event.
Parameters
-
#string Event: -
#string From: -
#string To: -
Unit#UNIT CargoCarrier:
- CARGO_UNIT:EventUnBoard(FsmP, Event, From, To)
-
UnBoard Event.
Parameters
-
#string Event: -
#string From: -
#string To:
- CARGO_UNIT:EventUnLoad(FsmP, Event, From, To)
-
UnLoad Event.
Parameters
-
#string Event: -
#string From: -
#string To:
- CARGO_UNIT:LeaveStateBoarding(FsmP, Event, From, To, CargoCarrier)
-
Leave Boarding State.
Parameters
-
#string Event: -
#string From: -
#string To: -
Unit#UNIT CargoCarrier:
- CARGO_UNIT:LeaveStateUnBoarding(FsmP, Event, From, To, ToPointVec2)
-
Leave UnBoarding State.
Parameters
-
#string Event: -
#string From: -
#string To: -
Point#POINT_VEC2 ToPointVec2:
- CARGO_UNIT:New(Mission, CargoUnit, Type, Name, Weight, ReportRadius, NearRadius)
-
CARGO_UNIT Constructor.
Parameters
-
Mission#MISSION Mission: -
Unit#UNIT CargoUnit: -
#string Type: -
#string Name: -
#number Weight: -
#number ReportRadius: (optional) -
#number NearRadius: (optional)
Return value
-