Module Base
-BASE The base class for all the classes defined within MOOSE.
+The BASE class for all the classes defined within MOOSE.
Global(s)
| BASE:AddEvent(Event, EventFunction) |
-
+ Set a new listener for the class. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| BASE:CreateEventBirth(EventTime, Initiator, IniUnitName, place, subplace) |
-
+ Creation of a Birth Event. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| BASE:CreateEventCrash(EventTime, Initiator) |
-
+ Creation of a Crash Event. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| BASE:DisableEvents() |
-
+ Disable the event listeners for the class. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| BASE:E(Arguments) |
-
+ Log an exception which will be traced always. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| BASE:EnableEvents() |
-
+ Enable the event listeners for the class. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| BASE:F(Arguments) |
-
+ Trace a function call. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| BASE:F2(Arguments) |
-
+ Trace a function call level 2. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| BASE:F3(Arguments) |
-
+ Trace a function call level 3. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| BASE.Inherit(Child, Parent, self) | +BASE:Inherit(Child, Parent) |
This is the worker method to inherit from a parent class. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| BASE.Inherited(Child, self) | +BASE:Inherited(Child) |
This is the worker method to retrieve the Parent class. |
@@ -190,19 +191,19 @@
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| BASE:T(Arguments) |
-
+ Trace a function logic. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| BASE:T2(Arguments) |
-
+ Trace a function logic level 2. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| BASE:T3(Arguments) |
-
+ Trace a function logic level 3. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CLEANUP | - | - -
| CleanUpSurfaceTypeText | -- |
Type CLEANUP
- | CLEANUP.ClassName | @@ -112,7 +110,13 @@ |
| CLEANUP:_AddForCleanUp(CleanUpUnit, CleanUpUnitName) |
-
+ Add the DCSUnit#Unit to the CleanUpList for CleanUp. + |
+
| CLEANUP:_CleanUpScheduler() | +
+ At the defined time interval, CleanUp the Groups within the CleanUpList. |
| CLEANUP:_DestroyMissile(MissileObject) |
- Destroys a missile from the simulator, but checks first if it is still existing! + |
| CLEANUP:_DestroyUnit(CleanUpUnit, CleanUpUnitName) |
- Destroys a unit from the simulator, but checks first if it is still existing! +Destroys a DCSUnit#Unit from the simulator, but checks first if it is still existing! |
| CLEANUP:_EventCrash(event) |
- Detects if an SA site was shot with an anti radiation missile. +Detects if a crash event occurs. |
| CLEANUP:_EventShot(event) |
- Detects if an SA site was shot with an anti radiation missile. - |
-
| CLEANUP:_Scheduler() | -
- At the defined time interval, CleanUp the Groups within the CleanUpList. +Detects if a unit shoots a missile. |
-
-
- - - - -CleanUpSurfaceTypeText - - -
-
+
Type
- - -CleanUp
-
Type CLEANUP
-
+ Type CLEANUP
+
The CLEANUP class.
Field(s)
@@ -290,7 +276,7 @@Add the DCSUnit#Unit to the CleanUpList for CleanUp.
Parameters
-
@@ -310,6 +296,19 @@
- + +CLEANUP:_CleanUpScheduler() + + +
-
+
+
At the defined time interval, CleanUp the Groups within the CleanUpList.
+ +
+ -
+
CLEANUP:_DestroyGroup(GroupObject, CleanUpGroupName)
@@ -322,12 +321,14 @@
-
-
+GroupObject:DCSGroup#Group GroupObject: +The object to be destroyed. -
-
+CleanUpGroupName:#string CleanUpGroupName: +The groupname...
-
-
-
-
Destroys a missile from the simulator, but checks first if it is still existing!
+ + + +TODO check DCSTypes#Weapon +- Destroys a missile from the simulator, but checks first if it is still existing! + @param #CLEANUP self + @param DCSTypes#Weapon MissileObject
Parameter
-
@@ -363,18 +370,20 @@
-
-
Destroys a unit from the simulator, but checks first if it is still existing!
+Destroys a DCSUnit#Unit from the simulator, but checks first if it is still existing!
Parameters
-
-
+CleanUpUnit:DCSUnit#Unit CleanUpUnit: +The object to be destroyed. -
-
+CleanUpUnitName:#string CleanUpUnitName: +The Unit name ...
-
-
+event:DCSTypes#Event event:
- -
Detects if an SA site was shot with an anti radiation missile.
+Detects if a crash event occurs.
-In this case, take evasive actions based on the skill level set within the ME.
+Crashed units go into a CleanUpList for removal.
Parameter
-
-
+event:DCSTypes#Event event:
-
-
+event:DCSTypes#Event event:
- -
-Detects if an SA site was shot with an anti radiation missile.
+Detects if a unit shoots a missile.
-In this case, take evasive actions based on the skill level set within the ME.
+If this occurs within one of the zones, then the weapon used must be destroyed.
Parameter
-
-
+event:DCSTypes#Event event:
-
-
-
-
- - - -CLEANUP:_Scheduler() - - -
-
-
-
At the defined time interval, CleanUp the Groups within the CleanUpList.
- - Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer @@ -60,7 +61,11 @@
- -CLIENT.AddBriefing(string, self, ClientBriefing) +CLIENT:AddBriefing(ClientBriefing)
-
-
AddBriefing adds a briefing to a Client when a Player joins a Mission.
+AddBriefing adds a briefing to a CLIENT when a player joins a mission.
-Parameters
+Parameter
-
-
- -string: -ClientBriefing is the text defining the Mission briefing.
- -
-
-
- -self:
- -
-
-
+ClientBriefing:#string ClientBriefing: +is the text defining the Mission briefing.
Return value
+ -CLIENT
@@ -366,14 +409,19 @@ Function.
+ -
-
- - -CLIENT.AliveCheckFunction + +CLIENT.AliveCheckScheduler
- @@ -422,6 +470,20 @@ Function. + +
- + + + +CLIENT.ClientBriefing + + +
- + + +
- + + +CLIENT.ClientGroupID + + +
- + + + + +
- + + + +CLIENT.ClientGroupName + + +
- + + + + +
- + + + +CLIENT.ClientGroupUnit + + +
- + + + + +
- + + + +CLIENT.ClientID + + +
- + + +
-
-
Returns the Position of the CLIENT.
+Returns the position of the CLIENT in DCSTypes#Vec3 format.
Return value
- +
@@ -506,7 +623,7 @@ Function.
-
-
Returns the altitude of the CLIENT.
+Returns the altitude of the CLIENT.
Return value
@@ -524,12 +641,12 @@ Function.- -
Returns the DCSUnit of the CLIENT.
+Returns the DCSUnit of the CLIENT.
Return value
+ -DCSUnit
- -
-
+
Get the name of the group of the client.
+ +Return value
+ +#string:
@@ -568,7 +696,7 @@ Function.
-
-
Returns the Unit of the CLIENT.
+Returns the UNIT of the CLIENT.
Return value
@@ -607,7 +735,7 @@ Function.- -
Returns the Point of the CLIENT.
+Returns the position of the CLIENT in DCSTypes#Vec2 format..
Return value
@@ -627,6 +755,9 @@ Function. + +TODO what is this??? check. possible double function.
+ - -
-
-
IsTransport returns if a Client is a transport.
+Evaluates if the CLIENT is a transport.
Return value
+#boolean: +true is a transport.
+ +
+ - + + + +CLIENT.MenuMessages + + +
- + + + + +
- + + + +CLIENT.MenuRouteMessageOff + + +
- + + + + +
- + + + +CLIENT.MenuRouteMessageOn + + +
-
+
-
bool
- -CLIENT.Message(string, number, string, string, number, self, Message, MessageDuration, MessageId, MessageCategory, MessageInterval) +CLIENT:Message(Message, MessageDuration, MessageId, MessageCategory, MessageInterval)
-
-
Message is the key Message driver for the CLIENT class.
+The main message driver for the CLIENT.
This function displays various messages to the Player logged into the CLIENT through the DCS World Messaging system.
@@ -687,62 +860,32 @@ true if client is alive.-
-
+string: -Message is the text describing the message.#string Message: +is the text describing the message. -
-
+number: -MessageDuration is the duration in seconds that the Message should be displayed.#number MessageDuration: +is the duration in seconds that the Message should be displayed. -
-
+string: -MessageId is a text identifying the Message in the MessageQueue. The Message system overwrites Messages with the same MessageId#string MessageId: +is a text identifying the Message in the MessageQueue. The Message system overwrites Messages with the same MessageId -
-
+string: -MessageCategory is the category of the message (the title).#string MessageCategory: +is the category of the message (the title). -
-
- -number: -MessageInterval is the interval in seconds between the display of the Message when the CLIENT is in the air.
- -
-
-
- -self:
- -
-
-
- -Message:
- -
-
-
- -MessageDuration:
- -
-
-
- -MessageId:
- -
-
-
- -MessageCategory:
- -
-
-
+MessageInterval:#number MessageInterval: +is the interval in seconds between the display of the Message#MESSAGE when the CLIENT is in the air.
-
-
- -CLIENT.Reset(string, self, ClientName) +CLIENT:Reset(ClientName)
-
Resets a CLIENT.
-Parameters
+Parameter
-
-
- -string: -ClientName Name of the Group as defined within the Mission Editor. The Group must have a Unit with the type Client.
- -
-
-
- -self:
- -
-
-
+ClientName:#string ClientName: +Name of the Group as defined within the Mission Editor. The Group must have a Unit with the type Client.
- -
@@ -876,7 +1009,11 @@ ClientName Name of the Group as defined within the Mission Editor. The Group musShowCargo shows the CARGO within the CLIENT to the Player.
+Shows the Cargo#CARGO contained within the CLIENT to the player as a message.
-The CARGO is shown throught the MESSAGE system of DCS World.
+The Cargo#CARGO is shown using the Message#MESSAGE distribution system.
- -
SwitchMessages is a local function called by the DCS World Menu system to switch off messages.
+ + + +TODO (1) I urgently need to revise this. +- A local function called by the DCS World Menu system to switch off messages.
Parameter
-
@@ -899,18 +1036,21 @@ ClientName Name of the Group as defined within the Mission Editor. The Group mus
Transport defines that the Client is a Transport.
+ +Transports show cargo.
+Return value
+ -CLIENT
- - -CLIENT:_AliveCheckCallBack() + +CLIENT:_AliveCheckScheduler()
-
diff --git a/Documentation/DCSAirbase.html b/Documentation/DCSAirbase.html
index ef29a2605..3c3d51fdf 100644
--- a/Documentation/DCSAirbase.html
+++ b/Documentation/DCSAirbase.html
@@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/DCSCoalitionObject.html b/Documentation/DCSCoalitionObject.html index b0e504542..922893968 100644 --- a/Documentation/DCSCoalitionObject.html +++ b/Documentation/DCSCoalitionObject.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/DCSController.html b/Documentation/DCSController.html index 39af114b7..4d0e88f83 100644 --- a/Documentation/DCSController.html +++ b/Documentation/DCSController.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/DCSGroup.html b/Documentation/DCSGroup.html index 84f136e86..9ac8ca12d 100644 --- a/Documentation/DCSGroup.html +++ b/Documentation/DCSGroup.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/DCSObject.html b/Documentation/DCSObject.html index 19b344586..aeaa3f67b 100644 --- a/Documentation/DCSObject.html +++ b/Documentation/DCSObject.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/DCSTask.html b/Documentation/DCSTask.html new file mode 100644 index 000000000..f0c28141d --- /dev/null +++ b/Documentation/DCSTask.html @@ -0,0 +1,119 @@ + + + + + + +
- + + #string + +DCSTask.id + + +
- + + + + +
- + + #DCSTask.param + +DCSTask.param + + +
- + + + + +
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/DCSUnit.html b/Documentation/DCSUnit.html index 23892817e..7289a6392 100644 --- a/Documentation/DCSUnit.html +++ b/Documentation/DCSUnit.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/DCStimer.html b/Documentation/DCStimer.html index 0e0cab0bd..3367d7451 100644 --- a/Documentation/DCStimer.html +++ b/Documentation/DCStimer.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/DEPLOYTASK.html b/Documentation/DEPLOYTASK.html index 841465371..3c9ada1c3 100644 --- a/Documentation/DEPLOYTASK.html +++ b/Documentation/DEPLOYTASK.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/DESTROYBASETASK.html b/Documentation/DESTROYBASETASK.html index 49efa6437..681bd7965 100644 --- a/Documentation/DESTROYBASETASK.html +++ b/Documentation/DESTROYBASETASK.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/DESTROYGROUPSTASK.html b/Documentation/DESTROYGROUPSTASK.html index f5f7c2eb4..e10a4caf2 100644 --- a/Documentation/DESTROYGROUPSTASK.html +++ b/Documentation/DESTROYGROUPSTASK.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/DESTROYRADARSTASK.html b/Documentation/DESTROYRADARSTASK.html index bc83b5d9f..5721c8b34 100644 --- a/Documentation/DESTROYRADARSTASK.html +++ b/Documentation/DESTROYRADARSTASK.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/DESTROYUNITTYPESTASK.html b/Documentation/DESTROYUNITTYPESTASK.html index d961a1b51..e6ceb3cd2 100644 --- a/Documentation/DESTROYUNITTYPESTASK.html +++ b/Documentation/DESTROYUNITTYPESTASK.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/Database.html b/Documentation/Database.html index 9fde7a5ed..7d8383029 100644 --- a/Documentation/Database.html +++ b/Documentation/Database.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/Escort.html b/Documentation/Escort.html index 58b3d0925..18148dfc7 100644 --- a/Documentation/Escort.html +++ b/Documentation/Escort.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/GOHOMETASK.html b/Documentation/GOHOMETASK.html index 542c51183..2469b633c 100644 --- a/Documentation/GOHOMETASK.html +++ b/Documentation/GOHOMETASK.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/Group.html b/Documentation/Group.html index 0307c5eaa..0cb74ca82 100644 --- a/Documentation/Group.html +++ b/Documentation/Group.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/MISSION.html b/Documentation/MISSION.html index b38c11c0f..0409a6c26 100644 --- a/Documentation/MISSION.html +++ b/Documentation/MISSION.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/MOVEMENT.html b/Documentation/MOVEMENT.html index 04511d6b9..3775b9683 100644 --- a/Documentation/MOVEMENT.html +++ b/Documentation/MOVEMENT.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/Menu.html b/Documentation/Menu.html index ad32c2be9..b70a9d4d1 100644 --- a/Documentation/Menu.html +++ b/Documentation/Menu.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/Message.html b/Documentation/Message.html index c3affb541..61e9193e8 100644 --- a/Documentation/Message.html +++ b/Documentation/Message.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/NOTASK.html b/Documentation/NOTASK.html index c9fbd1694..84e032385 100644 --- a/Documentation/NOTASK.html +++ b/Documentation/NOTASK.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/PICKUPTASK.html b/Documentation/PICKUPTASK.html index 6e2783533..39dd2c00e 100644 --- a/Documentation/PICKUPTASK.html +++ b/Documentation/PICKUPTASK.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/ROUTETASK.html b/Documentation/ROUTETASK.html index f91dc77ba..e08a215d9 100644 --- a/Documentation/ROUTETASK.html +++ b/Documentation/ROUTETASK.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/STAGE.html b/Documentation/STAGE.html index 4007d83f2..5d4076854 100644 --- a/Documentation/STAGE.html +++ b/Documentation/STAGE.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/Sead.html b/Documentation/Sead.html index 625a35b22..f1b58ff7f 100644 --- a/Documentation/Sead.html +++ b/Documentation/Sead.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/Spawn.html b/Documentation/Spawn.html index 88743780c..0b36e3397 100644 --- a/Documentation/Spawn.html +++ b/Documentation/Spawn.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/StaticObject.html b/Documentation/StaticObject.html index 7851f3a23..26462272a 100644 --- a/Documentation/StaticObject.html +++ b/Documentation/StaticObject.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/TASK.html b/Documentation/TASK.html index 38a0ede12..4c7cb44fb 100644 --- a/Documentation/TASK.html +++ b/Documentation/TASK.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/Unit.html b/Documentation/Unit.html index 01c4800cd..1c464f0d0 100644 --- a/Documentation/Unit.html +++ b/Documentation/Unit.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/Zone.html b/Documentation/Zone.html index e25e53527..a08526d95 100644 --- a/Documentation/Zone.html +++ b/Documentation/Zone.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/env.html b/Documentation/env.html index f8a687299..a8444fa5f 100644 --- a/Documentation/env.html +++ b/Documentation/env.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/index.html b/Documentation/index.html index b9bcd75f4..161d8ecc6 100644 --- a/Documentation/index.html +++ b/Documentation/index.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer @@ -63,7 +64,7 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Documentation/routines.html b/Documentation/routines.html index 5252b8954..060aa99dd 100644 --- a/Documentation/routines.html +++ b/Documentation/routines.html @@ -19,13 +19,14 @@
- Base
- CARGO -
- CLEANUP +
- CleanUp
- Client
- DCSAirbase
- DCSCoalitionObject
- DCSController
- DCSGroup
- DCSObject +
- DCSTask
- DCSTypes
- DCSUnit
- DCStimer diff --git a/Embedded/Moose_Embedded.lua b/Embedded/Moose_Embedded.lua index 7b7817c98..b4c898058 100644 --- a/Embedded/Moose_Embedded.lua +++ b/Embedded/Moose_Embedded.lua @@ -2569,9 +2569,9 @@ end env.info(( 'Init: Scripts Loaded v1.1' )) ---- BASE The base class for all the classes defined within MOOSE. +--- The BASE class for all the classes defined within MOOSE. -- @module Base --- @author Flightcontrol +-- @author FlightControl Include.File( "Routines" ) @@ -2604,7 +2604,6 @@ local _TraceClass = { -- @field ClassName The name of the class. -- @field ClassID The ID number of the class. BASE = { - ClassName = "BASE", ClassID = 0, Events = {} @@ -2619,8 +2618,8 @@ FORMATION = { --- The base constructor. This is the top top class of all classed defined within the MOOSE. -- Any new class needs to be derived from this class for proper inheritance. --- @param self --- @return #BASE +-- @param #BASE self +-- @return #BASE The new instance of the BASE class. -- @usage -- function TASK:New() -- @@ -2647,9 +2646,10 @@ function BASE:New() end --- This is the worker method to inherit from a parent class. +-- @param #BASE self -- @param Child is the Child class that inherits. --- @param Parent is the Parent class that the Child inherits from. --- @return Child +-- @param #BASE Parent is the Parent class that the Child inherits from. +-- @return #BASE Child function BASE:Inherit( Child, Parent ) local Child = routines.utils.deepCopy( Child ) local Parent = routines.utils.deepCopy( Parent ) @@ -2663,6 +2663,7 @@ function BASE:Inherit( Child, Parent ) end --- This is the worker method to retrieve the Parent class. +-- @param #BASE self -- @param #BASE Child is the Child class from which the Parent class needs to be retrieved. -- @return #BASE function BASE:Inherited( Child ) @@ -2693,7 +2694,11 @@ function BASE:GetClassID() return self.ClassID end - +--- Set a new listener for the class. +-- @param self +-- @param DCSTypes#Event Event +-- @param #function EventFunction +-- @return #BASE function BASE:AddEvent( Event, EventFunction ) self:F( Event ) @@ -2705,7 +2710,9 @@ function BASE:AddEvent( Event, EventFunction ) return self end - +--- Enable the event listeners for the class. +-- @param #BASE self +-- @return #BASE function BASE:EnableEvents() self:F( #self.Events ) @@ -2718,6 +2725,10 @@ function BASE:EnableEvents() return self end + +--- Disable the event listeners for the class. +-- @param #BASE self +-- @return #BASE function BASE:DisableEvents() self:F() @@ -2769,7 +2780,13 @@ local BaseEventCodes = { -- weapon = Weapon -- } - +--- Creation of a Birth Event. +-- @param #BASE self +-- @param DCSTypes#Time EventTime The time stamp of the event. +-- @param DCSObject#Object Initiator The initiating object of the event. +-- @param #string IniUnitName The initiating unit name. +-- @param place +-- @param subplace function BASE:CreateEventBirth( EventTime, Initiator, IniUnitName, place, subplace ) self:F( { EventTime, Initiator, IniUnitName, place, subplace } ) @@ -2785,6 +2802,10 @@ function BASE:CreateEventBirth( EventTime, Initiator, IniUnitName, place, subpla world.onEvent( Event ) end +--- Creation of a Crash Event. +-- @param #BASE self +-- @param DCSTypes#Time EventTime The time stamp of the event. +-- @param DCSObject#Object Initiator The initiating object of the event. function BASE:CreateEventCrash( EventTime, Initiator ) self:F( { EventTime, Initiator } ) @@ -2796,7 +2817,11 @@ function BASE:CreateEventCrash( EventTime, Initiator ) world.onEvent( Event ) end - + +-- TODO: Complete DCSTypes#Event structure. +--- The main event handling function... This function captures all events generated for the class. +-- @param #BASE self +-- @param DCSTypes#Event event function BASE:onEvent(event) --env.info( 'onEvent Table self = ' .. tostring(self) ) @@ -2821,7 +2846,6 @@ function BASE:onEvent(event) end end end - end -- Trace section @@ -2829,6 +2853,9 @@ end -- Log a trace (only shown when trace is on) -- TODO: Make trace function using variable parameters. +--- Trace a function call. Must be at the beginning of the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. function BASE:F( Arguments ) if _TraceOn and _TraceClass[self.ClassName] then @@ -2850,6 +2877,9 @@ function BASE:F( Arguments ) end end +--- Trace a function call level 2. Must be at the beginning of the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. function BASE:F2( Arguments ) if _TraceLevel >= 2 then @@ -2858,6 +2888,9 @@ function BASE:F2( Arguments ) end +--- Trace a function call level 3. Must be at the beginning of the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. function BASE:F3( Arguments ) if _TraceLevel >= 3 then @@ -2866,6 +2899,9 @@ function BASE:F3( Arguments ) end +--- Trace a function logic. Can be anywhere within the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. function BASE:T( Arguments ) if _TraceOn and _TraceClass[self.ClassName] then @@ -2887,6 +2923,9 @@ function BASE:T( Arguments ) end end +--- Trace a function logic level 2. Can be anywhere within the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. function BASE:T2( Arguments ) if _TraceLevel >= 2 then @@ -2895,6 +2934,9 @@ function BASE:T2( Arguments ) end +--- Trace a function logic level 3. Can be anywhere within the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. function BASE:T3( Arguments ) if _TraceLevel >= 3 then @@ -2903,9 +2945,9 @@ function BASE:T3( Arguments ) end - - --- Log an exception +--- Log an exception which will be traced always. Can be anywhere within the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. function BASE:E( Arguments ) local DebugInfoCurrent = debug.getinfo( 2, "nl" ) @@ -4336,6 +4378,7 @@ Include.File( "Group" ) --- The DATABASE class -- @type DATABASE +-- @extends Base#BASE DATABASE = { ClassName = "DATABASE", Units = {}, @@ -6273,7 +6316,9 @@ function CARGO_SLINGLOAD:UnLoad( Client, TargetZoneName ) return Cargo end ---- CLIENT Classes +--- The CLIENT models client units in multi player missions. +-- Clients are those groups defined within the Mission Editor that have the skillset defined as "Client" or "Player". +-- Note that clients are NOT the same as groups, they are NOT necessarily alive. -- @module Client -- @author FlightControl @@ -6282,8 +6327,6 @@ Include.File( "Base" ) Include.File( "Cargo" ) Include.File( "Message" ) ---- Clients are those Groups defined within the Mission Editor that have the skillset defined as "Client" or "Player". --- These clients are defined within the Mission Orchestration Framework (MOF) --- The CLIENT class -- @type CLIENT @@ -6333,8 +6376,30 @@ function CLIENT:New( ClientName, ClientBriefing ) return self end +--- Transport defines that the Client is a Transport. Transports show cargo. +-- @param #CLIENT self +-- @return #CLIENT +function CLIENT:Transport() + self:F() + + self.ClientTransport = true + return self +end + +--- AddBriefing adds a briefing to a CLIENT when a player joins a mission. +-- @param #CLIENT self +-- @param #string ClientBriefing is the text defining the Mission briefing. +-- @return #CLIENT +function CLIENT:AddBriefing( ClientBriefing ) + self:F() + self.ClientBriefing = ClientBriefing + return self +end + + --- Resets a CLIENT. --- @param string ClientName Name of the Group as defined within the Mission Editor. The Group must have a Unit with the type Client. +-- @param #CLIENT self +-- @param #string ClientName Name of the Group as defined within the Mission Editor. The Group must have a Unit with the type Client. function CLIENT:Reset( ClientName ) self:F() self._Menus = {} @@ -6343,12 +6408,13 @@ end --- Checks for a client alive event and calls a function on a continuous basis. -- @param #CLIENT self -- @param #function CallBack Function. +-- @return #CLIENT function CLIENT:Alive( CallBack ) self:F() self.ClientAlive2 = false self.ClientCallBack = CallBack - self.AliveCheckFunction = routines.scheduleFunction( self._AliveCheckCallBack, { self }, timer.getTime() + 1, 5 ) + self.AliveCheckScheduler = routines.scheduleFunction( self._AliveCheckScheduler, { self }, timer.getTime() + 1, 5 ) return self end @@ -6372,7 +6438,7 @@ end --- @param #CLIENT self -function CLIENT:_AliveCheckCallBack() +function CLIENT:_AliveCheckScheduler() self:F( { self.ClientName, self.ClientAlive2 } ) if self:IsAlive() then @@ -6390,6 +6456,7 @@ end --- Return the DCSGroup of a Client. -- This function is modified to deal with a couple of bugs in DCS 1.5.3 +-- @param #CLIENT self -- @return DCSGroup#Group function CLIENT:GetDCSGroup() self:F3() @@ -6460,9 +6527,12 @@ function CLIENT:GetDCSGroup() end +-- TODO: Check DCSTypes#Group.ID +--- Get the group ID of the client. +-- @param #CLIENT self +-- @return DCSTypes#Group.ID function CLIENT:GetClientGroupID() - if not self.ClientGroupID then local ClientGroup = self:GetDCSGroup() if ClientGroup and ClientGroup:isExist() then @@ -6477,6 +6547,9 @@ function CLIENT:GetClientGroupID() end +--- Get the name of the group of the client. +-- @param #CLIENT self +-- @return #string function CLIENT:GetClientGroupName() if not self.ClientGroupName then @@ -6492,7 +6565,8 @@ function CLIENT:GetClientGroupName() return self.ClientGroupName end ---- Returns the Unit of the @{CLIENT}. +--- Returns the UNIT of the CLIENT. +-- @param #CLIENT self -- @return Unit#UNIT function CLIENT:GetClientGroupUnit() self:F() @@ -6506,8 +6580,9 @@ function CLIENT:GetClientGroupUnit() end end ---- Returns the DCSUnit of the @{CLIENT}. --- @return DCSUnit +--- Returns the DCSUnit of the CLIENT. +-- @param #CLIENT self +-- @return DCSTypes#Unit function CLIENT:GetClientGroupDCSUnit() self:F2() @@ -6520,13 +6595,15 @@ function CLIENT:GetClientGroupDCSUnit() end end +-- TODO what is this??? check. possible double function. function CLIENT:GetUnit() self:F() return UNIT:New( self:GetClientGroupDCSUnit() ) end ---- Returns the Point of the @{CLIENT}. +--- Returns the position of the CLIENT in @{DCSTypes#Vec2} format.. +-- @param #CLIENT self -- @return DCSTypes#Vec2 function CLIENT:GetPointVec2() self:F() @@ -6548,8 +6625,9 @@ function CLIENT:GetPointVec2() end ---- Returns the Position of the @{CLIENT}. --- @return DCSTypes#Position +--- Returns the position of the CLIENT in @{DCSTypes#Vec3} format. +-- @param #CLIENT self +-- @return DCSTypes#Vec3 function CLIENT:ClientPosition() self:F() @@ -6564,7 +6642,8 @@ function CLIENT:ClientPosition() return nil end ---- Returns the altitude of the @{CLIENT}. +--- Returns the altitude of the CLIENT. +-- @param #CLIENT self -- @return DCSTypes#Distance function CLIENT:GetAltitude() self:F() @@ -6582,33 +6661,17 @@ function CLIENT:GetAltitude() end ---- Transport defines that the Client is a Transport. --- @return CLIENT -function CLIENT:Transport() - self:F() - - self.ClientTransport = true - return self -end - ---- AddBriefing adds a briefing to a Client when a Player joins a Mission. --- @param string ClientBriefing is the text defining the Mission briefing. --- @return CLIENT -function CLIENT:AddBriefing( ClientBriefing ) - self:F() - self.ClientBriefing = ClientBriefing - return self -end - ---- IsTransport returns if a Client is a transport. --- @return bool +--- Evaluates if the CLIENT is a transport. +-- @param #CLIENT self +-- @return #boolean true is a transport. function CLIENT:IsTransport() self:F() return self.ClientTransport end ---- ShowCargo shows the @{CARGO} within the CLIENT to the Player. --- The @{CARGO} is shown throught the MESSAGE system of DCS World. +--- Shows the @{Cargo#CARGO} contained within the CLIENT to the player as a message. +-- The @{Cargo#CARGO} is shown using the @{Message#MESSAGE} distribution system. +-- @param #CLIENT self function CLIENT:ShowCargo() self:F() @@ -6628,18 +6691,20 @@ function CLIENT:ShowCargo() end ---- SwitchMessages is a local function called by the DCS World Menu system to switch off messages. +-- TODO (1) I urgently need to revise this. +--- A local function called by the DCS World Menu system to switch off messages. function CLIENT.SwitchMessages( PrmTable ) PrmTable[1].MessageSwitch = PrmTable[2] end ---- Message is the key Message driver for the CLIENT class. +--- The main message driver for the CLIENT. -- This function displays various messages to the Player logged into the CLIENT through the DCS World Messaging system. --- @param string Message is the text describing the message. --- @param number MessageDuration is the duration in seconds that the Message should be displayed. --- @param string MessageId is a text identifying the Message in the MessageQueue. The Message system overwrites Messages with the same MessageId --- @param string MessageCategory is the category of the message (the title). --- @param number MessageInterval is the interval in seconds between the display of the Message when the CLIENT is in the air. +-- @param #CLIENT self +-- @param #string Message is the text describing the message. +-- @param #number MessageDuration is the duration in seconds that the Message should be displayed. +-- @param #string MessageId is a text identifying the Message in the MessageQueue. The Message system overwrites Messages with the same MessageId +-- @param #string MessageCategory is the category of the message (the title). +-- @param #number MessageInterval is the interval in seconds between the display of the @{Message#MESSAGE} when the CLIENT is in the air. function CLIENT:Message( Message, MessageDuration, MessageId, MessageCategory, MessageInterval ) self:F() @@ -9492,8 +9557,8 @@ function MISSIONSCHEDULER:Time( TimeSeconds, TimeIntervalShow, TimeShow ) self.TimeShow = TimeShow end ---- CLEANUP Classes --- @module CLEANUP +--- The CLEANUP class keeps an area clean of crashing or colliding airplanes. It also prevents airplanes from firing within this area. +-- @module CleanUp -- @author Flightcontrol Include.File( "Routines" ) @@ -9512,11 +9577,12 @@ CLEANUP = { } --- Creates the main object which is handling the cleaning of the debris within the given Zone Names. --- @param table{string,...}|string ZoneNames which is a table of zone names where the debris should be cleaned. Also a single string can be passed with one zone name. --- @param ?number TimeInterval is the interval in seconds when the clean activity takes place. The default is 300 seconds, thus every 5 minutes. --- @return CLEANUP +-- @param #CLEANUP self +-- @param #table ZoneNames Is a table of zone names where the debris should be cleaned. Also a single string can be passed with one zone name. +-- @param #number TimeInterval The interval in seconds when the clean activity takes place. The default is 300 seconds, thus every 5 minutes. +-- @return #CLEANUP -- @usage --- -- Clean these Zones. +-- -- Clean these Zones. -- CleanUpAirports = CLEANUP:New( { 'CLEAN Tbilisi', 'CLEAN Kutaisi' }, 150 ) -- or -- CleanUpTbilisi = CLEANUP:New( 'CLEAN Tbilisi', 150 ) @@ -9542,14 +9608,16 @@ function CLEANUP:New( ZoneNames, TimeInterval ) local self = BASE:Inherit( self, self:EnableEvents() - self.CleanUpFunction = routines.scheduleFunction( self._Scheduler, { self }, timer.getTime() + 1, TimeInterval ) + self.CleanUpScheduler = routines.scheduleFunction( self._CleanUpScheduler, { self }, timer.getTime() + 1, TimeInterval ) return self end --- Destroys a group from the simulator, but checks first if it is still existing! --- @see CLEANUP +-- @param #CLEANUP self +-- @param DCSGroup#Group GroupObject The object to be destroyed. +-- @param #string CleanUpGroupName The groupname... function CLEANUP:_DestroyGroup( GroupObject, CleanUpGroupName ) self:F( { GroupObject, CleanUpGroupName } ) @@ -9560,8 +9628,10 @@ function CLEANUP:_DestroyGroup( GroupObject, CleanUpGroupName ) end end ---- Destroys a unit from the simulator, but checks first if it is still existing! --- @see CLEANUP +--- Destroys a @{DCSUnit#Unit} from the simulator, but checks first if it is still existing! +-- @param #CLEANUP self +-- @param DCSUnit#Unit CleanUpUnit The object to be destroyed. +-- @param #string CleanUpUnitName The Unit name ... function CLEANUP:_DestroyUnit( CleanUpUnit, CleanUpUnitName ) self:F( { CleanUpUnit, CleanUpUnitName } ) @@ -9587,8 +9657,10 @@ function CLEANUP:_DestroyUnit( CleanUpUnit, CleanUpUnitName ) end end +-- TODO check DCSTypes#Weapon --- Destroys a missile from the simulator, but checks first if it is still existing! --- @see CLEANUP +-- @param #CLEANUP self +-- @param DCSTypes#Weapon MissileObject function CLEANUP:_DestroyMissile( MissileObject ) self:F( { MissileObject } ) @@ -9598,8 +9670,10 @@ function CLEANUP:_DestroyMissile( MissileObject ) end end ---- Detects if an SA site was shot with an anti radiation missile. In this case, take evasive actions based on the skill level set within the ME. --- @see CLEANUP +--- Detects if a crash event occurs. +-- Crashed units go into a CleanUpList for removal. +-- @param #CLEANUP self +-- @param DCSTypes#Event event function CLEANUP:_EventCrash( event ) self:F( { event } ) @@ -9624,12 +9698,12 @@ function CLEANUP:_EventCrash( event ) self.CleanUpList[CleanUpUnitName].CleanUpGroup = CleanUpGroup self.CleanUpList[CleanUpUnitName].CleanUpGroupName = CleanUpGroupName self.CleanUpList[CleanUpUnitName].CleanUpUnitName = CleanUpUnitName - - - end ---- Detects if an SA site was shot with an anti radiation missile. In this case, take evasive actions based on the skill level set within the ME. --- @see CLEANUP + +--- Detects if a unit shoots a missile. +-- If this occurs within one of the zones, then the weapon used must be destroyed. +-- @param #CLEANUP self +-- @param DCSTypes#Event event function CLEANUP:_EventShot( event ) self:F( { event } ) @@ -9654,6 +9728,8 @@ end --- Detects if the Unit has an S_EVENT_HIT within the given ZoneNames. If this is the case, destroy the unit. +-- @param #CLEANUP self +-- @param DCSTypes#Event event function CLEANUP:_EventHitCleanUp( event ) self:F( { event } ) @@ -9688,6 +9764,7 @@ function CLEANUP:_EventHitCleanUp( event ) end +--- Add the @{DCSUnit#Unit} to the CleanUpList for CleanUp. function CLEANUP:_AddForCleanUp( CleanUpUnit, CleanUpUnitName ) self:F( { CleanUpUnit, CleanUpUnitName } ) @@ -9704,6 +9781,8 @@ function CLEANUP:_AddForCleanUp( CleanUpUnit, CleanUpUnitName ) end --- Detects if the Unit has an S_EVENT_ENGINE_SHUTDOWN or an S_EVENT_HIT within the given ZoneNames. If this is the case, add the Group to the CLEANUP List. +-- @param #CLEANUP self +-- @param DCSTypes#Event event function CLEANUP:_EventAddForCleanUp( event ) local CleanUpUnit = event.initiator -- the Unit @@ -9728,7 +9807,7 @@ function CLEANUP:_EventAddForCleanUp( event ) end -CleanUpSurfaceTypeText = { +local CleanUpSurfaceTypeText = { "LAND", "SHALLOW_WATER", "WATER", @@ -9737,7 +9816,8 @@ CleanUpSurfaceTypeText = { } --- At the defined time interval, CleanUp the Groups within the CleanUpList. -function CLEANUP:_Scheduler() +-- @param #CLEANUP self +function CLEANUP:_CleanUpScheduler() self:F( "CleanUp Scheduler" ) for CleanUpUnitName, UnitData in pairs( self.CleanUpList ) do diff --git a/Moose/Base.lua b/Moose/Base.lua index 6e9a563ee..a8efec0fc 100644 --- a/Moose/Base.lua +++ b/Moose/Base.lua @@ -1,6 +1,6 @@ ---- BASE The base class for all the classes defined within MOOSE. +--- The BASE class for all the classes defined within MOOSE. -- @module Base --- @author Flightcontrol +-- @author FlightControl Include.File( "Routines" ) @@ -33,7 +33,6 @@ local _TraceClass = { -- @field ClassName The name of the class. -- @field ClassID The ID number of the class. BASE = { - ClassName = "BASE", ClassID = 0, Events = {} @@ -48,8 +47,8 @@ FORMATION = { --- The base constructor. This is the top top class of all classed defined within the MOOSE. -- Any new class needs to be derived from this class for proper inheritance. --- @param self --- @return #BASE +-- @param #BASE self +-- @return #BASE The new instance of the BASE class. -- @usage -- function TASK:New() -- @@ -76,9 +75,10 @@ function BASE:New() end --- This is the worker method to inherit from a parent class. +-- @param #BASE self -- @param Child is the Child class that inherits. --- @param Parent is the Parent class that the Child inherits from. --- @return Child +-- @param #BASE Parent is the Parent class that the Child inherits from. +-- @return #BASE Child function BASE:Inherit( Child, Parent ) local Child = routines.utils.deepCopy( Child ) local Parent = routines.utils.deepCopy( Parent ) @@ -92,6 +92,7 @@ function BASE:Inherit( Child, Parent ) end --- This is the worker method to retrieve the Parent class. +-- @param #BASE self -- @param #BASE Child is the Child class from which the Parent class needs to be retrieved. -- @return #BASE function BASE:Inherited( Child ) @@ -122,7 +123,11 @@ function BASE:GetClassID() return self.ClassID end - +--- Set a new listener for the class. +-- @param self +-- @param DCSTypes#Event Event +-- @param #function EventFunction +-- @return #BASE function BASE:AddEvent( Event, EventFunction ) self:F( Event ) @@ -134,7 +139,9 @@ function BASE:AddEvent( Event, EventFunction ) return self end - +--- Enable the event listeners for the class. +-- @param #BASE self +-- @return #BASE function BASE:EnableEvents() self:F( #self.Events ) @@ -147,6 +154,10 @@ function BASE:EnableEvents() return self end + +--- Disable the event listeners for the class. +-- @param #BASE self +-- @return #BASE function BASE:DisableEvents() self:F() @@ -198,7 +209,13 @@ local BaseEventCodes = { -- weapon = Weapon -- } - +--- Creation of a Birth Event. +-- @param #BASE self +-- @param DCSTypes#Time EventTime The time stamp of the event. +-- @param DCSObject#Object Initiator The initiating object of the event. +-- @param #string IniUnitName The initiating unit name. +-- @param place +-- @param subplace function BASE:CreateEventBirth( EventTime, Initiator, IniUnitName, place, subplace ) self:F( { EventTime, Initiator, IniUnitName, place, subplace } ) @@ -214,6 +231,10 @@ function BASE:CreateEventBirth( EventTime, Initiator, IniUnitName, place, subpla world.onEvent( Event ) end +--- Creation of a Crash Event. +-- @param #BASE self +-- @param DCSTypes#Time EventTime The time stamp of the event. +-- @param DCSObject#Object Initiator The initiating object of the event. function BASE:CreateEventCrash( EventTime, Initiator ) self:F( { EventTime, Initiator } ) @@ -225,7 +246,11 @@ function BASE:CreateEventCrash( EventTime, Initiator ) world.onEvent( Event ) end - + +-- TODO: Complete DCSTypes#Event structure. +--- The main event handling function... This function captures all events generated for the class. +-- @param #BASE self +-- @param DCSTypes#Event event function BASE:onEvent(event) --env.info( 'onEvent Table self = ' .. tostring(self) ) @@ -250,7 +275,6 @@ function BASE:onEvent(event) end end end - end -- Trace section @@ -258,6 +282,9 @@ end -- Log a trace (only shown when trace is on) -- TODO: Make trace function using variable parameters. +--- Trace a function call. Must be at the beginning of the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. function BASE:F( Arguments ) if _TraceOn and _TraceClass[self.ClassName] then @@ -279,6 +306,9 @@ function BASE:F( Arguments ) end end +--- Trace a function call level 2. Must be at the beginning of the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. function BASE:F2( Arguments ) if _TraceLevel >= 2 then @@ -287,6 +317,9 @@ function BASE:F2( Arguments ) end +--- Trace a function call level 3. Must be at the beginning of the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. function BASE:F3( Arguments ) if _TraceLevel >= 3 then @@ -295,6 +328,9 @@ function BASE:F3( Arguments ) end +--- Trace a function logic. Can be anywhere within the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. function BASE:T( Arguments ) if _TraceOn and _TraceClass[self.ClassName] then @@ -316,6 +352,9 @@ function BASE:T( Arguments ) end end +--- Trace a function logic level 2. Can be anywhere within the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. function BASE:T2( Arguments ) if _TraceLevel >= 2 then @@ -324,6 +363,9 @@ function BASE:T2( Arguments ) end +--- Trace a function logic level 3. Can be anywhere within the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. function BASE:T3( Arguments ) if _TraceLevel >= 3 then @@ -332,9 +374,9 @@ function BASE:T3( Arguments ) end - - --- Log an exception +--- Log an exception which will be traced always. Can be anywhere within the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. function BASE:E( Arguments ) local DebugInfoCurrent = debug.getinfo( 2, "nl" ) diff --git a/Moose/CleanUp.lua b/Moose/CleanUp.lua index a08858e60..4c05fadc6 100644 --- a/Moose/CleanUp.lua +++ b/Moose/CleanUp.lua @@ -1,5 +1,5 @@ ---- CLEANUP Classes --- @module CLEANUP +--- The CLEANUP class keeps an area clean of crashing or colliding airplanes. It also prevents airplanes from firing within this area. +-- @module CleanUp -- @author Flightcontrol Include.File( "Routines" ) @@ -18,11 +18,12 @@ CLEANUP = { } --- Creates the main object which is handling the cleaning of the debris within the given Zone Names. --- @param table{string,...}|string ZoneNames which is a table of zone names where the debris should be cleaned. Also a single string can be passed with one zone name. --- @param ?number TimeInterval is the interval in seconds when the clean activity takes place. The default is 300 seconds, thus every 5 minutes. --- @return CLEANUP +-- @param #CLEANUP self +-- @param #table ZoneNames Is a table of zone names where the debris should be cleaned. Also a single string can be passed with one zone name. +-- @param #number TimeInterval The interval in seconds when the clean activity takes place. The default is 300 seconds, thus every 5 minutes. +-- @return #CLEANUP -- @usage --- -- Clean these Zones. +-- -- Clean these Zones. -- CleanUpAirports = CLEANUP:New( { 'CLEAN Tbilisi', 'CLEAN Kutaisi' }, 150 ) -- or -- CleanUpTbilisi = CLEANUP:New( 'CLEAN Tbilisi', 150 ) @@ -48,14 +49,16 @@ function CLEANUP:New( ZoneNames, TimeInterval ) local self = BASE:Inherit( self, self:EnableEvents() - self.CleanUpFunction = routines.scheduleFunction( self._Scheduler, { self }, timer.getTime() + 1, TimeInterval ) + self.CleanUpScheduler = routines.scheduleFunction( self._CleanUpScheduler, { self }, timer.getTime() + 1, TimeInterval ) return self end --- Destroys a group from the simulator, but checks first if it is still existing! --- @see CLEANUP +-- @param #CLEANUP self +-- @param DCSGroup#Group GroupObject The object to be destroyed. +-- @param #string CleanUpGroupName The groupname... function CLEANUP:_DestroyGroup( GroupObject, CleanUpGroupName ) self:F( { GroupObject, CleanUpGroupName } ) @@ -66,8 +69,10 @@ function CLEANUP:_DestroyGroup( GroupObject, CleanUpGroupName ) end end ---- Destroys a unit from the simulator, but checks first if it is still existing! --- @see CLEANUP +--- Destroys a @{DCSUnit#Unit} from the simulator, but checks first if it is still existing! +-- @param #CLEANUP self +-- @param DCSUnit#Unit CleanUpUnit The object to be destroyed. +-- @param #string CleanUpUnitName The Unit name ... function CLEANUP:_DestroyUnit( CleanUpUnit, CleanUpUnitName ) self:F( { CleanUpUnit, CleanUpUnitName } ) @@ -93,8 +98,10 @@ function CLEANUP:_DestroyUnit( CleanUpUnit, CleanUpUnitName ) end end +-- TODO check DCSTypes#Weapon --- Destroys a missile from the simulator, but checks first if it is still existing! --- @see CLEANUP +-- @param #CLEANUP self +-- @param DCSTypes#Weapon MissileObject function CLEANUP:_DestroyMissile( MissileObject ) self:F( { MissileObject } ) @@ -104,8 +111,10 @@ function CLEANUP:_DestroyMissile( MissileObject ) end end ---- Detects if an SA site was shot with an anti radiation missile. In this case, take evasive actions based on the skill level set within the ME. --- @see CLEANUP +--- Detects if a crash event occurs. +-- Crashed units go into a CleanUpList for removal. +-- @param #CLEANUP self +-- @param DCSTypes#Event event function CLEANUP:_EventCrash( event ) self:F( { event } ) @@ -130,12 +139,12 @@ function CLEANUP:_EventCrash( event ) self.CleanUpList[CleanUpUnitName].CleanUpGroup = CleanUpGroup self.CleanUpList[CleanUpUnitName].CleanUpGroupName = CleanUpGroupName self.CleanUpList[CleanUpUnitName].CleanUpUnitName = CleanUpUnitName - - - end ---- Detects if an SA site was shot with an anti radiation missile. In this case, take evasive actions based on the skill level set within the ME. --- @see CLEANUP + +--- Detects if a unit shoots a missile. +-- If this occurs within one of the zones, then the weapon used must be destroyed. +-- @param #CLEANUP self +-- @param DCSTypes#Event event function CLEANUP:_EventShot( event ) self:F( { event } ) @@ -160,6 +169,8 @@ end --- Detects if the Unit has an S_EVENT_HIT within the given ZoneNames. If this is the case, destroy the unit. +-- @param #CLEANUP self +-- @param DCSTypes#Event event function CLEANUP:_EventHitCleanUp( event ) self:F( { event } ) @@ -194,6 +205,7 @@ function CLEANUP:_EventHitCleanUp( event ) end +--- Add the @{DCSUnit#Unit} to the CleanUpList for CleanUp. function CLEANUP:_AddForCleanUp( CleanUpUnit, CleanUpUnitName ) self:F( { CleanUpUnit, CleanUpUnitName } ) @@ -210,6 +222,8 @@ function CLEANUP:_AddForCleanUp( CleanUpUnit, CleanUpUnitName ) end --- Detects if the Unit has an S_EVENT_ENGINE_SHUTDOWN or an S_EVENT_HIT within the given ZoneNames. If this is the case, add the Group to the CLEANUP List. +-- @param #CLEANUP self +-- @param DCSTypes#Event event function CLEANUP:_EventAddForCleanUp( event ) local CleanUpUnit = event.initiator -- the Unit @@ -234,7 +248,7 @@ function CLEANUP:_EventAddForCleanUp( event ) end -CleanUpSurfaceTypeText = { +local CleanUpSurfaceTypeText = { "LAND", "SHALLOW_WATER", "WATER", @@ -243,7 +257,8 @@ CleanUpSurfaceTypeText = { } --- At the defined time interval, CleanUp the Groups within the CleanUpList. -function CLEANUP:_Scheduler() +-- @param #CLEANUP self +function CLEANUP:_CleanUpScheduler() self:F( "CleanUp Scheduler" ) for CleanUpUnitName, UnitData in pairs( self.CleanUpList ) do diff --git a/Moose/Client.lua b/Moose/Client.lua index d91618860..b18c3085b 100644 --- a/Moose/Client.lua +++ b/Moose/Client.lua @@ -1,4 +1,6 @@ ---- CLIENT Classes +--- The CLIENT models client units in multi player missions. +-- Clients are those groups defined within the Mission Editor that have the skillset defined as "Client" or "Player". +-- Note that clients are NOT the same as groups, they are NOT necessarily alive. -- @module Client -- @author FlightControl @@ -7,8 +9,6 @@ Include.File( "Base" ) Include.File( "Cargo" ) Include.File( "Message" ) ---- Clients are those Groups defined within the Mission Editor that have the skillset defined as "Client" or "Player". --- These clients are defined within the Mission Orchestration Framework (MOF) --- The CLIENT class -- @type CLIENT @@ -58,8 +58,30 @@ function CLIENT:New( ClientName, ClientBriefing ) return self end +--- Transport defines that the Client is a Transport. Transports show cargo. +-- @param #CLIENT self +-- @return #CLIENT +function CLIENT:Transport() + self:F() + + self.ClientTransport = true + return self +end + +--- AddBriefing adds a briefing to a CLIENT when a player joins a mission. +-- @param #CLIENT self +-- @param #string ClientBriefing is the text defining the Mission briefing. +-- @return #CLIENT +function CLIENT:AddBriefing( ClientBriefing ) + self:F() + self.ClientBriefing = ClientBriefing + return self +end + + --- Resets a CLIENT. --- @param string ClientName Name of the Group as defined within the Mission Editor. The Group must have a Unit with the type Client. +-- @param #CLIENT self +-- @param #string ClientName Name of the Group as defined within the Mission Editor. The Group must have a Unit with the type Client. function CLIENT:Reset( ClientName ) self:F() self._Menus = {} @@ -68,12 +90,13 @@ end --- Checks for a client alive event and calls a function on a continuous basis. -- @param #CLIENT self -- @param #function CallBack Function. +-- @return #CLIENT function CLIENT:Alive( CallBack ) self:F() self.ClientAlive2 = false self.ClientCallBack = CallBack - self.AliveCheckFunction = routines.scheduleFunction( self._AliveCheckCallBack, { self }, timer.getTime() + 1, 5 ) + self.AliveCheckScheduler = routines.scheduleFunction( self._AliveCheckScheduler, { self }, timer.getTime() + 1, 5 ) return self end @@ -97,7 +120,7 @@ end --- @param #CLIENT self -function CLIENT:_AliveCheckCallBack() +function CLIENT:_AliveCheckScheduler() self:F( { self.ClientName, self.ClientAlive2 } ) if self:IsAlive() then @@ -115,6 +138,7 @@ end --- Return the DCSGroup of a Client. -- This function is modified to deal with a couple of bugs in DCS 1.5.3 +-- @param #CLIENT self -- @return DCSGroup#Group function CLIENT:GetDCSGroup() self:F3() @@ -185,9 +209,12 @@ function CLIENT:GetDCSGroup() end +-- TODO: Check DCSTypes#Group.ID +--- Get the group ID of the client. +-- @param #CLIENT self +-- @return DCSTypes#Group.ID function CLIENT:GetClientGroupID() - if not self.ClientGroupID then local ClientGroup = self:GetDCSGroup() if ClientGroup and ClientGroup:isExist() then @@ -202,6 +229,9 @@ function CLIENT:GetClientGroupID() end +--- Get the name of the group of the client. +-- @param #CLIENT self +-- @return #string function CLIENT:GetClientGroupName() if not self.ClientGroupName then @@ -217,7 +247,8 @@ function CLIENT:GetClientGroupName() return self.ClientGroupName end ---- Returns the Unit of the @{CLIENT}. +--- Returns the UNIT of the CLIENT. +-- @param #CLIENT self -- @return Unit#UNIT function CLIENT:GetClientGroupUnit() self:F() @@ -231,8 +262,9 @@ function CLIENT:GetClientGroupUnit() end end ---- Returns the DCSUnit of the @{CLIENT}. --- @return DCSUnit +--- Returns the DCSUnit of the CLIENT. +-- @param #CLIENT self +-- @return DCSTypes#Unit function CLIENT:GetClientGroupDCSUnit() self:F2() @@ -245,13 +277,15 @@ function CLIENT:GetClientGroupDCSUnit() end end +-- TODO what is this??? check. possible double function. function CLIENT:GetUnit() self:F() return UNIT:New( self:GetClientGroupDCSUnit() ) end ---- Returns the Point of the @{CLIENT}. +--- Returns the position of the CLIENT in @{DCSTypes#Vec2} format.. +-- @param #CLIENT self -- @return DCSTypes#Vec2 function CLIENT:GetPointVec2() self:F() @@ -273,8 +307,9 @@ function CLIENT:GetPointVec2() end ---- Returns the Position of the @{CLIENT}. --- @return DCSTypes#Position +--- Returns the position of the CLIENT in @{DCSTypes#Vec3} format. +-- @param #CLIENT self +-- @return DCSTypes#Vec3 function CLIENT:ClientPosition() self:F() @@ -289,7 +324,8 @@ function CLIENT:ClientPosition() return nil end ---- Returns the altitude of the @{CLIENT}. +--- Returns the altitude of the CLIENT. +-- @param #CLIENT self -- @return DCSTypes#Distance function CLIENT:GetAltitude() self:F() @@ -307,33 +343,17 @@ function CLIENT:GetAltitude() end ---- Transport defines that the Client is a Transport. --- @return CLIENT -function CLIENT:Transport() - self:F() - - self.ClientTransport = true - return self -end - ---- AddBriefing adds a briefing to a Client when a Player joins a Mission. --- @param string ClientBriefing is the text defining the Mission briefing. --- @return CLIENT -function CLIENT:AddBriefing( ClientBriefing ) - self:F() - self.ClientBriefing = ClientBriefing - return self -end - ---- IsTransport returns if a Client is a transport. --- @return bool +--- Evaluates if the CLIENT is a transport. +-- @param #CLIENT self +-- @return #boolean true is a transport. function CLIENT:IsTransport() self:F() return self.ClientTransport end ---- ShowCargo shows the @{CARGO} within the CLIENT to the Player. --- The @{CARGO} is shown throught the MESSAGE system of DCS World. +--- Shows the @{Cargo#CARGO} contained within the CLIENT to the player as a message. +-- The @{Cargo#CARGO} is shown using the @{Message#MESSAGE} distribution system. +-- @param #CLIENT self function CLIENT:ShowCargo() self:F() @@ -353,18 +373,20 @@ function CLIENT:ShowCargo() end ---- SwitchMessages is a local function called by the DCS World Menu system to switch off messages. +-- TODO (1) I urgently need to revise this. +--- A local function called by the DCS World Menu system to switch off messages. function CLIENT.SwitchMessages( PrmTable ) PrmTable[1].MessageSwitch = PrmTable[2] end ---- Message is the key Message driver for the CLIENT class. +--- The main message driver for the CLIENT. -- This function displays various messages to the Player logged into the CLIENT through the DCS World Messaging system. --- @param string Message is the text describing the message. --- @param number MessageDuration is the duration in seconds that the Message should be displayed. --- @param string MessageId is a text identifying the Message in the MessageQueue. The Message system overwrites Messages with the same MessageId --- @param string MessageCategory is the category of the message (the title). --- @param number MessageInterval is the interval in seconds between the display of the Message when the CLIENT is in the air. +-- @param #CLIENT self +-- @param #string Message is the text describing the message. +-- @param #number MessageDuration is the duration in seconds that the Message should be displayed. +-- @param #string MessageId is a text identifying the Message in the MessageQueue. The Message system overwrites Messages with the same MessageId +-- @param #string MessageCategory is the category of the message (the title). +-- @param #number MessageInterval is the interval in seconds between the display of the @{Message#MESSAGE} when the CLIENT is in the air. function CLIENT:Message( Message, MessageDuration, MessageId, MessageCategory, MessageInterval ) self:F() diff --git a/Moose/Database.lua b/Moose/Database.lua index 46923d2ba..725caef9d 100644 --- a/Moose/Database.lua +++ b/Moose/Database.lua @@ -10,6 +10,7 @@ Include.File( "Group" ) --- The DATABASE class -- @type DATABASE +-- @extends Base#BASE DATABASE = { ClassName = "DATABASE", Units = {},
++ +++ ++ ++ + diff --git a/Documentation/DCSTypes.html b/Documentation/DCSTypes.html index dddec9f2f..23d2a95b7 100644 --- a/Documentation/DCSTypes.html +++ b/Documentation/DCSTypes.html @@ -19,13 +19,14 @@++ +Module
+ + + +DCSTaskType
+DCSTask+
+ ++ +DCSTask.id ++ + ++ +DCSTask.param ++ + +Type
+DCSTaskField(s)
+-
+
-
+
Type
+ +DCSTask.paramBase - BASE The base class for all the classes defined within MOOSE.
+The BASE class for all the classes defined within MOOSE.
@@ -73,15 +74,15 @@ - CLEANUP +CleanUp - CLEANUP Classes
+The CLEANUP class keeps an area clean of crashing or colliding airplanes.
Client - CLIENT Classes
+The CLIENT models client units in multi player missions.
@@ -112,6 +113,12 @@ +DCSObject + ++ DCSTask ++ diff --git a/Documentation/land.html b/Documentation/land.html index 7a1f06f49..2eac36dc5 100644 --- a/Documentation/land.html +++ b/Documentation/land.html @@ -19,13 +19,14 @@
-
-
-
+
-
-
Module Client
-CLIENT Classes
+The CLIENT models client units in multi player missions.
+ + +Clients are those groups defined within the Mission Editor that have the skillset defined as "Client" or "Player". +Note that clients are NOT the same as groups, they are NOT necessarily alive.
Global(s)
| CLIENT.AddBriefing(string, self, ClientBriefing) | +CLIENT:AddBriefing(ClientBriefing) |
- AddBriefing adds a briefing to a Client when a Player joins a Mission. +AddBriefing adds a briefing to a CLIENT when a player joins a mission. |
||
| CLIENT.AliveCheckFunction | +CLIENT.AliveCheckScheduler | @@ -113,6 +118,12 @@ | CLIENT.ClientAlive2 | + | +
| CLIENT.ClientBriefing | ++ | |||
| CLIENT.ClientCallBack | + | +|||
| CLIENT.ClientGroupID | ++ + | +|||
| CLIENT.ClientGroupName | ++ + | +|||
| CLIENT.ClientGroupUnit | ++ + | +|||
| CLIENT.ClientID | ++ | |||
| CLIENT:ClientPosition() |
- Returns the Position of the CLIENT. +Returns the position of the CLIENT in DCSTypes#Vec3 format. |
|||
| CLIENT:GetAltitude() |
- Returns the altitude of the CLIENT. +Returns the altitude of the CLIENT. |
|||
| CLIENT:GetClientGroupDCSUnit() |
- Returns the DCSUnit of the CLIENT. +Returns the DCSUnit of the CLIENT. |
|||
| CLIENT:GetClientGroupName() |
-
+ Get the name of the group of the client. |
|||
| CLIENT:GetClientGroupUnit() |
- Returns the Unit of the CLIENT. +Returns the UNIT of the CLIENT. |
|||
| CLIENT:GetPointVec2() |
- Returns the Point of the CLIENT. +Returns the position of the CLIENT in DCSTypes#Vec2 format.. |
|||
| CLIENT:IsTransport() |
- IsTransport returns if a Client is a transport. +Evaluates if the CLIENT is a transport. |
|||
| CLIENT.Message(string, number, string, string, number, self, Message, MessageDuration, MessageId, MessageCategory, MessageInterval) | +CLIENT.MenuMessages |
- Message is the key Message driver for the CLIENT class. + + |
+ ||
| CLIENT.MenuRouteMessageOff | ++ + | +|||
| CLIENT.MenuRouteMessageOn | ++ + | +|||
| CLIENT:Message(Message, MessageDuration, MessageId, MessageCategory, MessageInterval) | +
+ The main message driver for the CLIENT. |
|||
| CLIENT.Reset(string, self, ClientName) | +CLIENT:Reset(ClientName) |
Resets a CLIENT. |
@@ -238,13 +291,13 @@
||
| CLIENT:ShowCargo() |
- ShowCargo shows the CARGO within the CLIENT to the Player. +Shows the Cargo#CARGO contained within the CLIENT to the player as a message. |
|||
| CLIENT.SwitchMessages(PrmTable) |
- SwitchMessages is a local function called by the DCS World Menu system to switch off messages. + |
|||
| CLIENT:_AliveCheckCallBack() | +CLIENT:_AliveCheckScheduler() | @@ -313,36 +366,26 @@ |