Module Base
-This module contains the BASE class.
+Core - BASE forms the basis of the MOOSE framework.
+Each class within the MOOSE framework derives from BASE.
+ +1) #BASE class
-The #BASE class is the super class for all the classes defined within MOOSE.
-It handles:
+All classes within the MOOSE framework are derived from the #BASE class.
+ +BASE provides facilities for :
-
-
- The construction and inheritance of child classes. -
- The tracing of objects during mission execution within the DCS.log file, under the "Saved Games\DCS\Logs" folder. +
- The construction and inheritance of MOOSE classes. +
- The class naming and numbering system. +
- The class hierarchy search system. +
- The tracing of information or objects during mission execution for debuggin purposes. +
- The subscription to DCS events for event handling in MOOSE objects.
Note: Normally you would not use the BASE class unless you are extending the MOOSE framework with new classes.
+Note: The BASE class is an abstract class and is not meant to be used directly.
1.1) BASE constructor
-Any class derived from BASE, must use the Base#BASE.New method how this is done.
+Any class derived from BASE, will use the Base#BASE.New constructor embedded in the Base#BASE.Inherit method. +See an example at the Base#BASE.New method how this is done.
-1.2) BASE Trace functionality
+1.2) Trace information for debugging
The BASE class contains trace methods to trace progress within a mission execution of a certain object. -Note that these trace methods are inherited by each MOOSE class interiting BASE. -As such, each object created from derived class from BASE can use the tracing functions to trace its execution.
+These trace methods are inherited by each MOOSE class interiting BASE, soeach object created from derived class from BASE can use the tracing methods to trace its execution. -1.2.1) Tracing functions
+Any type of information can be passed to these tracing methods. See the following examples:
-There are basically 3 types of tracing methods available within BASE:
+self:E( "Hello" )
+
+
+Result in the word "Hello" in the dcs.log.
+ +local Array = { 1, nil, "h", { "a","b" }, "x" }
+self:E( Array )
+
+
+Results with the text [1]=1,[3]="h",[4]={[1]="a",[2]="b"},[5]="x"} in the dcs.log.
+ +local Object1 = "Object1"
+local Object2 = 3
+local Object3 = { Object 1, Object 2 }
+self:E( { Object1, Object2, Object3 } )
+
+
+Results with the text [1]={[1]="Object",[2]=3,[3]={[1]="Object",[2]=3}} in the dcs.log.
+ +local SpawnObject = SPAWN:New( "Plane" )
+local GroupObject = GROUP:FindByName( "Group" )
+self:E( { Spawn = SpawnObject, Group = GroupObject } )
+
+
+Results with the text [1]={Spawn={....),Group={...}} in the dcs.log.
+ +Below a more detailed explanation of the different method types for tracing.
+ +1.2.1) Tracing methods categories
+ +There are basically 3 types of tracing methods available:
-
-
- BASE.F: Trace the beginning of a function and its given parameters. An F is indicated at column 44 in the DCS.log file. -
- BASE.T: Trace further logic within a function giving optional variables or parameters. A T is indicated at column 44 in the DCS.log file. -
- BASE.E: Trace an exception within a function giving optional variables or parameters. An E is indicated at column 44 in the DCS.log file. An exception will always be traced. +
- BASE.F: Used to trace the entrance of a function and its given parameters. An F is indicated at column 44 in the DCS.log file. +
- BASE.T: Used to trace further logic within a function giving optional variables or parameters. A T is indicated at column 44 in the DCS.log file. +
- BASE.E: Used to always trace information giving optional variables or parameters. An E is indicated at column 44 in the DCS.log file.
1.2.2) Tracing levels
@@ -131,10 +170,11 @@ These tracing levels were defined to avoid bulks of tracing to be generated by l1.2.4) Check if tracing is on.
1.2.4) Check if tracing is on.
+The method BASE.IsTrace() will validate if tracing is activated or not.
1.3 DCS simulator Event Handling
@@ -146,7 +186,7 @@ and handled through lua scripting. MOOSE provides an encapsulation to handle theAt first, the mission designer will need to Subscribe to a specific DCS event for the class. So, when the DCS event occurs, the class will be notified of that event. -There are two functions which you use to subscribe to or unsubscribe from an event.
+There are two methods which you use to subscribe to or unsubscribe from an event.- BASE.HandleEvent(): Subscribe to a DCS Event. @@ -201,20 +241,22 @@ about the event that occurred.
- BASE.Inherit: Inherits from a class. @@ -406,7 +448,7 @@ YYYY-MM-DD: CLASS:NewFunction( Params ) added
-
@@ -1223,10 +1273,23 @@ Child
- - +
diff --git a/docs/Documentation/Controllable.html b/docs/Documentation/Controllable.html index b37775dba..86b4d42d2 100644 --- a/docs/Documentation/Controllable.html +++ b/docs/Documentation/Controllable.html @@ -108,7 +108,7 @@ This is different from the EnRoute tasks, where the targets of the task need toBASE constructor.
-@todo need to investigate if the deepCopy is really needed... Don't think so.
+ +This is an example how to use the BASE:New() constructor in a new class definition when inheriting from BASE.
+ +
+ +function EVENT:New() + local self = BASE:Inherit( self, BASE:New() ) -- #EVENT + return self +end + +Return value
+ + +Find below a list of the assigned task methods:
-
-
- CONTROLLABLE.TaskAttackControllable: (AIR) Attack a Controllable. +
- CONTROLLABLE.TaskAttackGroup: (AIR) Attack a Controllable.
- CONTROLLABLE.TaskAttackMapObject: (AIR) Attacking the map object (building, structure, e.t.c).
- CONTROLLABLE.TaskAttackUnit: (AIR) Attack the Unit.
- CONTROLLABLE.TaskBombing: (AIR) Delivering weapon at the point on the ground. @@ -116,7 +116,7 @@ This is different from the EnRoute tasks, where the targets of the task need to
- CONTROLLABLE.TaskEmbarking: (AIR) Move the controllable to a Vec2 Point, wait for a defined duration and embark a controllable.
- CONTROLLABLE.TaskEmbarkToTransport: (GROUND) Embark to a Transport landed at a location.
- CONTROLLABLE.TaskEscort: (AIR) Escort another airborne controllable. -
- CONTROLLABLE.TaskFAC_AttackControllable: (AIR + GROUND) The task makes the controllable/unit a FAC and orders the FAC to control the target (enemy ground controllable) destruction. +
- CONTROLLABLE.TaskFAC_AttackGroup: (AIR + GROUND) The task makes the controllable/unit a FAC and orders the FAC to control the target (enemy ground controllable) destruction.
- CONTROLLABLE.TaskFireAtPoint: (GROUND) Fire some or all ammunition at a VEC2 point.
- CONTROLLABLE.TaskFollow: (AIR) Following another airborne controllable.
- CONTROLLABLE.TaskHold: (GROUND) Hold ground controllable from moving. @@ -1011,7 +1011,7 @@ All en-route tasks have the priority parameter. This is a number (less value - h
-
+(optional) The flag determines how to interpret attackQty parameter. If the flag is true then attackQty is a limit on maximal attack quantity for "AttackGroup" and "AttackUnit" tasks. If the flag is false then attackQty is a desired attack quantity for "Bombing" and "BombingRunway" tasks.#boolean AttackQtyLimit: -(optional) The flag determines how to interpret attackQty parameter. If the flag is true then attackQty is a limit on maximal attack quantity for "AttackControllable" and "AttackUnit" tasks. If the flag is false then attackQty is a desired attack quantity for "Bombing" and "BombingRunway" tasks.
- - +
-
+(optional) The flag determines how to interpret attackQty parameter. If the flag is true then attackQty is a limit on maximal attack quantity for "AttackGroup" and "AttackUnit" tasks. If the flag is false then attackQty is a desired attack quantity for "Bombing" and "BombingRunway" tasks.#boolean AttackQtyLimit: -(optional) The flag determines how to interpret attackQty parameter. If the flag is true then attackQty is a limit on maximal attack quantity for "AttackControllable" and "AttackUnit" tasks. If the flag is false then attackQty is a desired attack quantity for "Bombing" and "BombingRunway" tasks. -
+<<<<<<< HEAD
@@ -2159,6 +2160,10 @@ The UNIT.Dcs.DCSTypes#Distance Altitude: (optional) Desired altitude to perform the unit engagement.
+======= +#boolean Visible: (optional) Unit must be visible.
+>>>>>>> refs/remotes/origin/master#boolean AttackQtyLimit: +(optional) The flag determines how to interpret attackQty parameter. If the flag is true then attackQty is a limit on maximal attack quantity for "AttackGroup" and "AttackUnit" tasks. If the flag is false then attackQty is a desired attack quantity for "Bombing" and "BombingRunway" tasks. - @@ -2209,7 +2214,7 @@ The DCS task structure.
-
+(optional) Desired quantity of passes. The parameter is not the same in AttackGroup and AttackUnit tasks.#number AttackQty: -(optional) Desired quantity of passes. The parameter is not the same in AttackControllable and AttackUnit tasks. -
diff --git a/docs/Documentation/Event.html b/docs/Documentation/Event.html
index a555f4eba..cdbe23cd3 100644
--- a/docs/Documentation/Event.html
+++ b/docs/Documentation/Event.html
@@ -72,8 +72,7 @@
Module
-EventThis core module models the dispatching of DCS Events to subscribed MOOSE classes, -following a given priority.
+Core - EVENT models DCS event dispatching using a publish-subscribe model.
@@ -145,6 +144,13 @@ There are two functions which you use to subscribe to or unsubscribe from an eve- Base#BASE.UnHandleEvent(): Unsubscribe from a DCS Event.
+Note that for a UNIT, the event will be handled for that UNIT only! +Note that for a GROUP, the event will be handled for all the UNITs in that GROUP only!
+ +For all objects of other classes, the subscribed events will be handled for all UNITs within the Mission! +So if a UNIT within the mission has the subscribed event for that object, +then the object event handler will receive the event for that UNIT!
+1.3.2 Event Handling of DCS Events
Once the class is subscribed to the event, an Event Handling method on the object or class needs to be written that will be called @@ -241,7 +247,8 @@ YYYY-MM-DD: CLASS:NewFunction( Params ) added
Hereby the change log:
-
-
- 2016-02-07: Did a complete revision of the Event Handing API and underlying mechanisms. +
2017-03-07: Added the correct event dispatching in case the event is subscribed by a GROUP.
+ 2017-02-07: Did a complete revision of the Event Handing API and underlying mechanisms.
@@ -341,15 +348,49 @@ YYYY-MM-DD: CLASS:NewFunction( Params ) added - +<<<<<<< HEAD EVENT:OnLandForTemplate(EventTemplate, EventFunction, EventClass) +======= + +EVENT:OnDeadForTemplate(EventGroup, EventFunction, EventClass, EventTemplate) + + +
-
+
+
Create an OnDead event handler for a group
+ +Parameters
+-
+
-
+
+
+ +Wrapper.Group#GROUP EventGroup:
+ -
+
+
+ +#function EventFunction: +The function to be called when the event occurs for the unit.
+ -
+
+
+ +EventClass: +The self instance of the class for which the event is.
+ -
+
+
+ +EventTemplate:
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnDeadForUnit(EventDCSUnitName, EventFunction, EventClass) + + +
-
+
+
Set a new listener for an SEVENTDEAD event.
+ +Parameters
+-
+
-
+
+
+ +#string EventDCSUnitName:
+ -
+
+
+ +#function EventFunction: +The function to be called when the event occurs for the unit.
+ -
+
+
+ +Base#BASE EventClass: +The self instance of the class for which the event is.
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnDeadRemove(EventClass) + + +
-
+
+
Stop listening to SEVENTDEAD event.
+ +Parameter
+-
+
-
+
+
+ +Base#BASE EventClass:
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnEngineShutDownForTemplate(EventTemplate, EventFunction, EventClass) + + +
-
+
+
Create an OnDead event handler for a group
+ +Parameters
+-
+
-
+
+
+ +#table EventTemplate:
+ -
+
+
+ +#function EventFunction: +The function to be called when the event occurs for the unit.
+ -
+
+
+ +EventClass: +The self instance of the class for which the event is.
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnEngineShutDownForUnit(EventDCSUnitName, EventFunction, EventClass) + + +
-
+
+
Set a new listener for an SEVENTENGINE_SHUTDOWN event.
+ +Parameters
+-
+
-
+
+
+ +#string EventDCSUnitName:
+ -
+
+
+ +#function EventFunction: +The function to be called when the event occurs for the unit.
+ -
+
+
+ +Base#BASE EventClass: +The self instance of the class for which the event is.
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnEngineShutDownRemove(EventClass) + + +
-
+
+
Stop listening to SEVENTENGINE_SHUTDOWN event.
+ +Parameter
+-
+
-
+
+
+ +Base#BASE EventClass:
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnEngineStartUpForUnit(EventDCSUnitName, EventFunction, EventClass) + + +
-
+
+
Set a new listener for an SEVENTENGINE_STARTUP event.
+ +Parameters
+-
+
-
+
+
+ +#string EventDCSUnitName:
+ -
+
+
+ +#function EventFunction: +The function to be called when the event occurs for the unit.
+ -
+
+
+ +Base#BASE EventClass: +The self instance of the class for which the event is.
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnEngineStartUpRemove(EventClass) + + +
-
+
+
Stop listening to SEVENTENGINE_STARTUP event.
+ +Parameter
+-
+
-
+
+
+ +Base#BASE EventClass:
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnEventForGroup(GroupName, EventFunction, EventClass, EventID) + + +
-
+
+
Set a new listener for an SEVENTX event for a GROUP.
+ +Parameters
+-
+
-
+
+
+ +#string GroupName: +The name of the GROUP.
+ -
+
+
+ +#function EventFunction: +The function to be called when the event occurs for the GROUP.
+ -
+
+
+ +Core.Base#BASE EventClass: +The self instance of the class for which the event is.
+ -
+
+
+ +EventID:
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnEventForTemplate(EventTemplate, EventFunction, EventClass, OnEventFunction) + + +
-
+
+
Create an OnDead event handler for a group
+ +Parameters
+-
+
-
+
+
+ +#table EventTemplate:
+ -
+
+
+ +#function EventFunction: +The function to be called when the event occurs for the unit.
+ -
+
+
+ +EventClass: +The instance of the class for which the event is.
+ -
+
+
+ +#function OnEventFunction:
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnEventForUnit(UnitName, EventFunction, EventClass, EventID) + + +
-
+
+
Set a new listener for an SEVENTX event for a UNIT.
+ +Parameters
+-
+
-
+
+
+ +#string UnitName: +The name of the UNIT.
+ -
+
+
+ +#function EventFunction: +The function to be called when the event occurs for the GROUP.
+ -
+
+
+ +Core.Base#BASE EventClass: +The self instance of the class for which the event is.
+ -
+
+
+ +EventID:
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnEventGeneric(EventFunction, EventClass, EventID) + + +
-
+
+
Set a new listener for an SEVENTX event independent from a unit or a weapon.
+ +Parameters
+-
+
-
+
+
+ +#function EventFunction: +The function to be called when the event occurs for the unit.
+ -
+
+
+ +Core.Base#BASE EventClass: +The self instance of the class for which the event is captured. When the event happens, the event process will be called in this class provided.
+ -
+
+
+ +EventID:
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnHit(EventFunction, EventClass) + + +
-
+
+
Set a new listener for an SEVENTHIT event.
+ +Parameters
+-
+
-
+
+
+ +#function EventFunction: +The function to be called when the event occurs for the unit.
+ -
+
+
+ +Base#BASE EventClass: +The self instance of the class for which the event is.
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnHitForUnit(EventDCSUnitName, EventFunction, EventClass) + + +
-
+
+
Set a new listener for an SEVENTHIT event.
+ +Parameters
+-
+
-
+
+
+ +#string EventDCSUnitName:
+ -
+
+
+ +#function EventFunction: +The function to be called when the event occurs for the unit.
+ -
+
+
+ +Base#BASE EventClass: +The self instance of the class for which the event is.
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnHitRemove(EventClass) + + +
-
+
+
Stop listening to SEVENTHIT event.
+ +Parameter
+-
+
-
+
+
+ +Base#BASE EventClass:
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnLandForTemplate(EventTemplate, EventFunction, EventClass) + + +
-
+
+
+
+
Parameters
+-
+
-
+
+
+ +EventTemplate:
+ -
+
+
+ +EventFunction:
+ -
+
+
+ +EventClass:
+
+ -
+
+
- + + +EVENT:OnLandForUnit(EventDCSUnitName, EventFunction, EventClass) + + +
-
+
+
Set a new listener for an SEVENTLAND event.
+ +Parameters
+-
+
-
+
+
+ +#string EventDCSUnitName:
+ -
+
+
+ +#function EventFunction: +The function to be called when the event occurs for the unit.
+ -
+
+
+ +Base#BASE EventClass: +The self instance of the class for which the event is.
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnLandRemove(EventClass) + + +
-
+
+
Stop listening to SEVENTLAND event.
+ +Parameter
+-
+
-
+
+
+ +Base#BASE EventClass:
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnPilotDead(EventFunction, EventClass) + + +
-
+
+
Set a new listener for an SEVENTPILOT_DEAD event.
+ +Parameters
+-
+
-
+
+
+ +#function EventFunction: +The function to be called when the event occurs for the unit.
+ -
+
+
+ +Base#BASE EventClass:
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnPilotDeadForUnit(EventDCSUnitName, EventFunction, EventClass) + + +
-
+
+
Set a new listener for an SEVENTPILOT_DEAD event.
+ +Parameters
+-
+
-
+
+
+ +#string EventDCSUnitName:
+ -
+
+
+ +#function EventFunction: +The function to be called when the event occurs for the unit.
+ -
+
+
+ +Base#BASE EventClass: +The self instance of the class for which the event is.
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnPilotDeadRemove(EventClass) + + +
-
+
+
Stop listening to SEVENTPILOT_DEAD event.
+ +Parameter
+-
+
-
+
+
+ +Base#BASE EventClass:
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnPlayerEnterRemove(EventClass) + + +
-
+
+
Stop listening to SEVENTPLAYERENTERUNIT event.
+ +Parameter
+-
+
-
+
+
+ +Base#BASE EventClass:
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnPlayerEnterUnit(EventFunction, EventClass) + + +
-
+
+
Set a new listener for an SEVENTPLAYERENTERUNIT event.
+ +Parameters
+-
+
-
+
+
+ +#function EventFunction: +The function to be called when the event occurs for the unit.
+ -
+
+
+ +Base#BASE EventClass: +The self instance of the class for which the event is.
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnPlayerLeaveRemove(EventClass) + + +
-
+
+
Stop listening to SEVENTPLAYERLEAVEUNIT event.
+ +Parameter
+-
+
-
+
+
+ +Base#BASE EventClass:
+
Return value
+ + + + +
+ -
+
+
- + + +EVENT:OnPlayerLeaveUnit(EventFunction, EventClass) +>>>>>>> refs/remotes/origin/master
-
@@ -1369,18 +2236,24 @@ The self instance of the class for which the event is.
- - -EVENT:RemoveForUnit(EventClass, EventID, UnitName) + +EVENT:RemoveForGroup(GroupName, EventClass, EventID)
-
-
Removes an Events entry for a Unit
+Removes an Events entry for a GROUP.
Parameters
-
+
+ +#string GroupName: +The name of the GROUP.
+ -
+
@@ -1390,9 +2263,42 @@ The self instance of the class for which the event is.Core.Base#BASE EventClass: The self instance of the class for which the event is.Dcs.DCSWorld#world.event EventID:
+
Return value
+ + + + +
+ -
+
-
+
- + + +EVENT:RemoveForUnit(UnitName, EventClass, EventID) + + +
-
+
+
Removes an Events entry for a UNIT.
+ +Parameters
+-
-
+UnitName:
+ +#string UnitName: +The name of the UNIT.
+ -
+
+
+ +Core.Base#BASE EventClass: +The self instance of the class for which the event is.
+ -
+
+
Dcs.DCSWorld#world.event EventID:
Module
-FsmThis module contains the FSM (Finite State Machine) class and derived FSM_ classes.
+Core - The FSM (Finite State Machine) class and derived FSM_ classes +are design patterns allowing efficient (long-lasting) processes and workflows.
-Finite State Machines (FSM) are design patterns allowing efficient (long-lasting) processes and workflows.
diff --git a/docs/Documentation/Group.html b/docs/Documentation/Group.html index 72af7618d..9e33d5cc9 100644 --- a/docs/Documentation/Group.html +++ b/docs/Documentation/Group.html @@ -162,6 +162,9 @@ Use the following Zone validation methods on the group:Hereby the change log:
+2017-03-07: GROUP:HandleEvent( Event, EventFunction ) added.
+
+2017-03-07: GROUP:UnHandleEvent( Event ) added.2017-01-24: GROUP:SetAIOnOff( AIOnOff ) added.
2017-01-24: GROUP:SetAIOn() added.
@@ -376,6 +379,12 @@ Use the following Zone validation methods on the group:GROUP.GroupName +The name of the group.
+ -
-
- + + +GROUP:HandleEvent(Event, EventFunction) + + +
-
+
+
Subscribe to a DCS Event.
+ +Parameters
+-
+
-
+
+
+ +Core.Event#EVENTS Event:
+ -
+
+
+ +#function EventFunction: +(optional) The function to be called when the event occurs for the GROUP.
+
Return value
+ + + + -
+
+
- + + +GROUP:UnHandleEvent(Event) + + +
-
+
+
UnSubscribe to a DCS event.
+ +Parameter
+-
+
-
+
+
+ +Core.Event#EVENTS Event:
+
Return value
+ + + + -
+
+
- Clients with Message#MESSAGE.ToClient. -
- Coalitions with Message#MESSAGE.ToCoalition. -
- All Players with Message#MESSAGE.ToAll. - +
- To a Client using Message#MESSAGE.ToClient(). +
- To a Group using Message#MESSAGE.ToGroup() +
- To a coalition using Message#MESSAGE.ToCoalition(). +
- To the red coalition using Message#MESSAGE.ToRed(). +
- To the blue coalition using Message#MESSAGE.ToBlue(). +
- To all Players using Message#MESSAGE.ToAll().
- To all players using Message#MESSAGE.ToAllIf(). +
- To a coalition using Message#MESSAGE.ToCoalitionIf(). +
- + + +POINT_VEC2.z + + +
- + + + + +
- -SCORING:ScoreCSV(PlayerName, ScoreType, ScoreTimes, ScoreAmount, PlayerUnitName, PlayerUnitCoalition, PlayerUnitCategory, PlayerUnitType, TargetUnitName, TargetUnitCoalition, TargetUnitCategory, TargetUnitType) +SCORING:ScoreCSV(PlayerName, TargetPlayerName, ScoreType, ScoreTimes, ScoreAmount, PlayerUnitName, PlayerUnitCoalition, PlayerUnitCategory, PlayerUnitType, TargetUnitName, TargetUnitCoalition, TargetUnitCategory, TargetUnitType)
-
@@ -1621,6 +1621,12 @@ The name of the player.
- +
+
+ +#string TargetPlayerName: +The name of the target player.- +
diff --git a/docs/Documentation/Set.html b/docs/Documentation/Set.html index f807c3237..2cb986d30 100644 --- a/docs/Documentation/Set.html +++ b/docs/Documentation/Set.html @@ -72,7 +72,7 @@#string ScoreType: The type of the score.Module
-SetThis module contains the SET classes.
+Core - SET classes define collections of objects to perform bulk actions and logically group objects.
diff --git a/docs/Documentation/Spawn.html b/docs/Documentation/Spawn.html index 64c70728c..00b707335 100644 --- a/docs/Documentation/Spawn.html +++ b/docs/Documentation/Spawn.html @@ -834,6 +834,12 @@ A coding example is provided at the description of the SPAWN:_TranslateRotate(SpawnIndex, SpawnRootX, SpawnRootY, SpawnX, SpawnY, SpawnAngle)+ + - +
- - #number + SPAWN.SpawnMaxGroups @@ -2253,7 +2259,7 @@ when nothing was spawned.
- - #number + SPAWN.SpawnMaxUnitsAlive @@ -3195,6 +3201,20 @@ True = Continue Scheduler + +
- + + + +SPAWN.uncontrolled + + +
- + + +
1.5) All objects derived from BASE can have "States"
-A mechanism is in place in MOOSE, that allows to let the objects administer states. -States are essentially properties of objects, which are identified by a Key and a Value. -The method BASE.SetState() can be used to set a Value with a reference Key to the object. -To read or retrieve a state Value based on a Key, use the BASE.GetState method. -These two methods provide a very handy way to keep state at long lasting processes. +
A mechanism is in place in MOOSE, that allows to let the objects administer states.
+States are essentially properties of objects, which are identified by a Key and a Value.
The method BASE.SetState() can be used to set a Value with a reference Key to the object.
+To read or retrieve a state Value based on a Key, use the BASE.GetState method.
These two methods provide a very handy way to keep state at long lasting processes. Values can be stored within the objects, and later retrieved or changed when needed. There is one other important thing to note, the BASE.SetState() and BASE.GetState methods receive as the first parameter the object for which the state needs to be set. Thus, if the state is to be set for the same object as the object for which the method is used, then provide the same object name to the method.
-1.10) BASE Inheritance (tree) support
+1.10) Inheritance
-The following methods are available to support inheritance:
+The following methods are available to implement inheritance
BASE constructor.
This is the worker method to retrieve the Parent class.
+ +Note that the Parent class must be passed to call the parent class method.
+ +self:GetParent(self):ParentMethod()
+
+
+
+
Parameter
Set a new listener for an SEVENTENGINE_SHUTDOWN event.
+Stop listening to SEVENTENGINE_SHUTDOWN event.
+Set a new listener for an SEVENTENGINE_STARTUP event.
+Stop listening to SEVENTENGINE_STARTUP event.
+Set a new listener for an SEVENTX event for a GROUP.
+Create an OnDead event handler for a group
Set a new listener for an SEVENTX event
+Set a new listener for an SEVENTX event for a UNIT.
Removes an Events entry for a Unit
+Removes an Events entry for a GROUP.
+Removes an Events entry for a UNIT.
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Subscribe to a DCS Event.
Sets the CountryID of the group in a Template.
+UnSubscribe to a DCS event.
The name of the group.
+ + +-
+
-
@@ -1613,6 +1660,32 @@ The country ID.
#table:
+ +-
+
Module Menu
-This module contains the MENU classes.
+Core -- MENU_ classes model the definition of hierarchical menu structures and commands for players within a mission.
diff --git a/docs/Documentation/Message.html b/docs/Documentation/Message.html index 1577b95de..892d5c1a7 100644 --- a/docs/Documentation/Message.html +++ b/docs/Documentation/Message.html @@ -72,29 +72,49 @@Module Message
-This module contains the MESSAGE class.
+Core - MESSAGE class takes are of the real-time notifications and messages to players during a simulation.
++
1) Message#MESSAGE class, extends Base#BASE
+Message System to display Messages to Clients, Coalitions or All. Messages are shown on the display panel for an amount of seconds, and will then disappear. Messages can contain a category which is indicating the category of the message.
-1.1) MESSAGE construction methods
+1.1) MESSAGE construction
+Messages are created with Message#MESSAGE.New. Note that when the MESSAGE object is created, no message is sent yet. To send messages, you need to use the To functions.
-1.2) Send messages with MESSAGE To methods
-Messages are sent to:
+1.2) Send messages to an audience
+ +Messages are sent:
-
-
1.3) Send conditionally to an audience
+ +Messages can be sent conditionally to an audience (when a condition is true):
+ +-
+
Global(s)
| SCORING:ScoreCSV(PlayerName, ScoreType, ScoreTimes, ScoreAmount, PlayerUnitName, PlayerUnitCoalition, PlayerUnitCategory, PlayerUnitType, TargetUnitName, TargetUnitCoalition, TargetUnitCategory, TargetUnitType) | +SCORING:ScoreCSV(PlayerName, TargetPlayerName, ScoreType, ScoreTimes, ScoreAmount, PlayerUnitName, PlayerUnitCoalition, PlayerUnitCategory, PlayerUnitType, TargetUnitName, TargetUnitCoalition, TargetUnitCategory, TargetUnitType) |
Registers a score for a player. |
@@ -1604,7 +1604,7 @@ The player group.
| SPAWN.uncontrolled | ++ |
-
+
Module Zone
+<<<<<<< HEAD
This module contains the ZONE classes, inherited from Zone#ZONE_BASE.
+======= +Core - ZONE classes define zones within your mission of various forms, with various capabilities.
+ + + ++ +>>>>>>> refs/remotes/origin/master
There are essentially two core functions that zones accomodate:
-
diff --git a/docs/Documentation/index.html b/docs/Documentation/index.html
index 95d2db900..36f072d2f 100644
--- a/docs/Documentation/index.html
+++ b/docs/Documentation/index.html
@@ -161,7 +161,7 @@ and automatically engage any airborne enemies that are within a certain range or
This module contains the BASE class.
+Core - BASE forms the basis of the MOOSE framework.
This core module models the dispatching of DCS Events to subscribed MOOSE classes, -following a given priority.
+Core - EVENT models DCS event dispatching using a publish-subscribe model.
This module contains the FSM (Finite State Machine) class and derived FSM_ classes.
+Core - The FSM (Finite State Machine) class and derived FSM_ classes +are design patterns allowing efficient (long-lasting) processes and workflows.
This module contains the MENU classes.
+Core -- MENU_ classes model the definition of hierarchical menu structures and commands for players within a mission.
This module contains the MESSAGE class.
+Core - MESSAGE class takes are of the real-time notifications and messages to players during a simulation.
This module contains the POINT classes.
+Core - POINT_VEC classes define an extensive API to manage 3D points in the simulation space.
This module contains the SET classes.
+Core - SET classes define collections of objects to perform bulk actions and logically group objects.
This core module contains the ZONE classes, inherited from Zone#ZONE_BASE.
+Core - ZONE classes define zones within your mission of various forms, with various capabilities.