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

CARGO_PACKAGE.CargoCarrier
CARGO_PACKAGE.CargoInAir
CARGO_PACKAGE.ClassName
CARGO_PACKAGE:IsNear(CargoCarrier)

Check if CargoCarrier is near the Cargo to be Loaded.

CARGO_PACKAGE:New(Mission, CargoCarrier, Type, Name, Weight, ReportRadius, NearRadius)

CARGO_PACKAGE Constructor.

CARGO_PACKAGE:OnBoard(FsmP, Event, From, To, CargoCarrier, Speed, BoardDistance, Angle, LoadDistance)

Board Event.

CARGO_PACKAGE:OnBoarded(FsmP, Event, From, To, CargoCarrier, Speed, BoardDistance, LoadDistance, Angle)

Boarded Event.

CARGO_PACKAGE:OnLoad(FsmP, Event, From, To, CargoCarrier, Speed, LoadDistance, Angle)

Load Event.

CARGO_PACKAGE:OnUnBoard(FsmP, Event, From, To, Speed, UnLoadDistance, UnBoardDistance, Radius, Angle, CargoCarrier)

UnBoard Event.

CARGO_PACKAGE:OnUnBoarded(FsmP, Event, From, To, CargoCarrier, Speed)

UnBoarded Event.

CARGO_PACKAGE:OnUnLoad(FsmP, Event, From, To, Distance, Angle, CargoCarrier, Speed)

UnLoad Event.

Type CARGO_REPRESENTABLE

CARGO_REPRESENTABLE.ClassName
CARGO_REPRESENTABLE:New(Mission, CargoObject, Type, Name, Weight, ReportRadius, NearRadius)

CARGO_REPRESENTABLE Constructor.

Type CARGO_UNIT

CARGO_UNIT.CargoCarrier
CARGO_UNIT.CargoInAir
CARGO_UNIT.ClassName
CARGO_UNIT:EnterStateBoarding(FsmP, Event, From, To, CargoCarrier)

Enter Boarding State.

CARGO_UNIT:EnterStateLoaded(FsmP, Event, From, To, CargoCarrier)

Loaded State.

CARGO_UNIT:EnterStateUnBoarding(FsmP, Event, From, To, ToPointVec2)

Enter UnBoarding State.

CARGO_UNIT:EnterStateUnLoaded(FsmP, Event, From, To, ToPointVec2)

Enter UnLoaded State.

CARGO_UNIT:EventBoard(FsmP, Event, From, To, CargoCarrier)

Board Event.

CARGO_UNIT:EventLoad(FsmP, Event, From, To, CargoCarrier)

Load Event.

CARGO_UNIT:EventUnBoard(FsmP, Event, From, To)

UnBoard Event.

CARGO_UNIT:EventUnLoad(FsmP, Event, From, To)

UnLoad Event.

CARGO_UNIT:LeaveStateBoarding(FsmP, Event, From, To, CargoCarrier)

Leave Boarding State.

CARGO_UNIT:LeaveStateUnBoarding(FsmP, Event, From, To, ToPointVec2)

Leave UnBoarding State.

CARGO_UNIT:New(Mission, CargoUnit, Type, Name, Weight, ReportRadius, NearRadius)

CARGO_UNIT Constructor.

CARGO_UNIT.OnLoadedCallBack
CARGO_UNIT.OnUnLoadedCallBack

Global(s)

#CARGO CARGO
CARGOS
#CARGO_PACKAGE CARGO_PACKAGE
#CARGO_REPRESENTABLE CARGO_REPRESENTABLE
CARGO_SLINGLOAD
#CARGO_UNIT CARGO_UNIT
CARGO_ZONE
CargoStatic

Type Cargo

Type CARGO

Field(s)

CARGO:Board(CargoCarrier)

Board Cargo to a Carrier with a defined Speed.

Parameter

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...

CARGO.CargoScheduler
#string CARGO.ClassName
#boolean 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.

Parameter

Return value

#boolean:

CARGO:Load(CargoCarrier)

Load Cargo to a Carrier.

Parameter

#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:

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

#CARGO:

#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)

CARGO_PACKAGE.CargoCarrier
CARGO_PACKAGE.CargoInAir
#string CARGO_PACKAGE.ClassName
CARGO_PACKAGE:IsNear(CargoCarrier)

Check if CargoCarrier is near the Cargo to be Loaded.

Parameter

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:

CARGO_PACKAGE:OnBoard(FsmP, Event, From, To, CargoCarrier, Speed, BoardDistance, Angle, LoadDistance)

Board Event.

Parameters

CARGO_PACKAGE:OnBoarded(FsmP, Event, From, To, CargoCarrier, Speed, BoardDistance, LoadDistance, Angle)

Boarded Event.

Parameters

CARGO_PACKAGE:OnLoad(FsmP, Event, From, To, CargoCarrier, Speed, LoadDistance, Angle)

Load Event.

Parameters

CARGO_PACKAGE:OnUnBoard(FsmP, Event, From, To, Speed, UnLoadDistance, UnBoardDistance, Radius, Angle, CargoCarrier)

UnBoard Event.

Parameters

  • StateMachine#STATEMACHINE_PROCESS FsmP :

  • #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

CARGO_PACKAGE:OnUnLoad(FsmP, Event, From, To, Distance, Angle, CargoCarrier, Speed)

UnLoad Event.

Parameters

Type CARGO_REPRESENTABLE

Field(s)

#string CARGO_REPRESENTABLE.ClassName
CARGO_REPRESENTABLE:New(Mission, CargoObject, Type, Name, Weight, ReportRadius, NearRadius)

CARGO_REPRESENTABLE Constructor.

Parameters

Return value

#CARGO_REPRESENTABLE:

Type CARGO_UNIT

Field(s)

CARGO_UNIT.CargoCarrier
CARGO_UNIT.CargoInAir
#string CARGO_UNIT.ClassName
CARGO_UNIT:EnterStateBoarding(FsmP, Event, From, To, CargoCarrier)

Enter Boarding State.

Parameters

CARGO_UNIT:EnterStateLoaded(FsmP, Event, From, To, CargoCarrier)

Loaded State.

Parameters

CARGO_UNIT:EnterStateUnBoarding(FsmP, Event, From, To, ToPointVec2)

Enter UnBoarding State.

Parameters

CARGO_UNIT:EnterStateUnLoaded(FsmP, Event, From, To, ToPointVec2)

Enter UnLoaded State.

Parameters

CARGO_UNIT:EventBoard(FsmP, Event, From, To, CargoCarrier)

Board Event.

Parameters

CARGO_UNIT:EventLoad(FsmP, Event, From, To, CargoCarrier)

Load Event.

Parameters

CARGO_UNIT:EventUnBoard(FsmP, Event, From, To)

UnBoard Event.

Parameters

CARGO_UNIT:EventUnLoad(FsmP, Event, From, To)

UnLoad Event.

Parameters

CARGO_UNIT:LeaveStateBoarding(FsmP, Event, From, To, CargoCarrier)

Leave Boarding State.

Parameters

CARGO_UNIT:LeaveStateUnBoarding(FsmP, Event, From, To, ToPointVec2)

Leave UnBoarding State.

Parameters

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

#CARGO_UNIT:

CARGO_UNIT.OnLoadedCallBack
CARGO_UNIT.OnUnLoadedCallBack

Type CARGO_ZONE