mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
Publish updates
This commit is contained in:
parent
b213896ae7
commit
d2e24c39c4
@ -1,7 +1,5 @@
|
||||
# Context
|
||||
|
||||
TEST
|
||||
|
||||
MOOSE is a **M**ission **O**bject **O**riented **S**cripting **E**nvironment, and is meant for mission designers and mission hosters.
|
||||
It allows to quickly setup complex missions using pre-scripted scenarios using the available classes within the MOOSE Framework.
|
||||
MOOSE is currently still in alpha version, but will evolve over time. Right now, it has been updated to work with DCS world 1.5. and 2.0.
|
||||
@ -40,48 +38,86 @@ This can be a tedious task, and for this purpose, a tool has been developed that
|
||||
Refer to the tool at [Moose Mission Setup\Moose Mission Update](https://github.com/FlightControl-Master/MOOSE/tree/master/Moose%20Mission%20Setup/Moose%20Mission%20Update) directory for further information included in the [READ.ME]() file.
|
||||
|
||||
|
||||
# MOOSE LUA Classes
|
||||
# MOOSE Classes
|
||||
|
||||
The following classes are currently embedded within MOOSE and can be included within your mission scripts:
|
||||
|
||||
* [BASE](Moose Training/Documentation/Base.html): The main class from which all MOOSE classes are derived from. The BASE class contains essential functions to support inheritance and MOOSE object execution tracing (logging within the DCS.log file in the saved games folder of the user).
|
||||
## MOOSE Core Classes
|
||||
|
||||
* [DATABASE](Moose Training/Documentation/Database.html): Creates a collection of GROUPS[], UNITS[], CLIENTS[] and managed these sets automatically. Provides an API set to retrieve a GROUP, UNIT or CLIENT instance from the _DATABASE object using defined APIs. The collections are maintained dynamically during the execution of the mission, so when players join, leave, when units are created or destroyed, the collections are dynamically updated.
|
||||
These classes define the base building blocks of the MOOSE framework. These classes are heavily used within the MOOSE framework.
|
||||
|
||||
* [GROUP](Moose Training/Documentation/Group.html): This class wraps a DCS Group object within the simulator. It provides a more extensive API set, as well takes an abstraction of the complexity to give tasks, commands and set various options to DCS Groups. Additionally, the GROUP class provides a much richer API to identify various properties of the DCS Group. For each DCS Group created object within a running mission, a GROUP object will be created automatically, that is managed within the DATABASE, under the _DATABASE object.
|
||||
* [BASE](Documentation/Base.html): The main class from which all MOOSE classes are derived from. The BASE class contains essential functions to support inheritance and MOOSE object execution tracing (logging within the DCS.log file in the saved games folder of the user).
|
||||
|
||||
* [UNIT](Moose Training/Documentation/Unit.html): This class wraps a DCS Unit object within the simulator. It provides a more extensive API set, as well takes an abstraction of the complexity to give commands and set various options to DCS Units. Additionally, the UNIT class provides a much richer API to identify various properties of the DCS Unit. For each DCS Unit object created within a running mission, a UNIT object will be created automatically, that is stored within the DATABASE, under the _DATABASE object.
|
||||
* [DATABASE](Documentation/Database.html): Creates a collection of GROUPS[], UNITS[], CLIENTS[] and managed these sets automatically. Provides an API set to retrieve a GROUP, UNIT or CLIENT instance from the _DATABASE object using defined APIs. The collections are maintained dynamically during the execution of the mission, so when players join, leave, when units are created or destroyed, the collections are dynamically updated.
|
||||
|
||||
* [CLIENT](Moose Training/Documentation/Client.html): This class wraps a DCS Unit object within the simulator, which has a skill Client or Player. The CLIENT class derives from the UNIT class, thus contains the complete UNIT API set, and additionally, the CLIENT class provides an API set to manage players joining or leaving clients, sending messages to players, and manage the state of units joined by players. For each DCS Unit object created within a running mission that can be joined by a player, a CLIENT object will be created automatically, that is stored within the DATABASE, under the _DATABASE object.
|
||||
* [EVENT](Documentation/Event.html): Provides the Event Dispatcher base class to handle DCS Events, being fired upon registered events within the DCS simulator. Note that EVENT is used by BASE, exposing OnEvent() methods to catch these DCS events.
|
||||
|
||||
* [STATIC](Moose Training/Documentation/Static.html): This class wraps a DCS StaticObject object within the simulator. The STATIC class derives from the POSITIONABLE class, thus contains also the position API set.
|
||||
* [FSM](Documentation/Fsm.html): The main FSM class can be used to build a Finite State Machine. The derived FSM_ classes provide Finite State Machine building capability for CONTROLLABLEs, ACT_ (Task Actions) classes, TASKs and SETs.
|
||||
|
||||
* [AIRBASE](Moose Training/Documentation/Airbase.html): This class wraps a DCS Airbase object within the simulator. The AIRBASE class derives from the POSITIONALBE class, thus contains also the position API set.
|
||||
* [MENU](Documentation/Menu.html): Set Menu options (F10) for All Players, Coalitions, Groups, Clients. MENU also manages the recursive removal of menus, which is a big asset!
|
||||
|
||||
* [MENU](Moose Training/Documentation/Menu.html): Manage DCS Menus for Coalitions, Groups, Clients.
|
||||
* [SETS](Documentation/Set.html): Create SETs of MOOSE objects. SETs can be created for GROUPs, UNITs, AIRBASEs, ...
|
||||
The SET can be filtered with defined filter criteria.
|
||||
Iterators are available that iterate through the GROUPSET, calling a function for each object within the SET.
|
||||
|
||||
* [SETS](Moose Training/Documentation/Set.html): Builds dynamically a SET of objects. The SET can be filtered with defined filter criteria. Iterators are available that iterate through the GROUPSET, calling a function for each object within the SET.
|
||||
* [MESSAGE](Documentation/Message.html): A message publishing system, displaying messages to Clients, Coalitions or All players.
|
||||
|
||||
* [MESSAGE](Moose Training/Documentation/Message.html): A message system, displaying messages to Clients, Coalitions or All players.
|
||||
* [POINTS](Documentation/Point.html): A set of point classes to manage the 2D or 3D simulation space, through an extensive method library.
|
||||
The POINT_VEC3 class manages the 3D simulation space, while the POINT_VEC2 class manages the 2D simulation space.
|
||||
|
||||
* [POINTS](Moose Training/Documentation/Point.html): A set of point classes that provide the functionality to define points within the simulator, either 2D or 3D. These points have enriched functionality, like smoking, flaring and other functions.
|
||||
* [ZONES](Documentation/Zone.html): A set of zone classes that provide the functionality to validate the presence of GROUPS, UNITS, CLIENTS, STATICS within a certain ZONE. The zones can take various forms and can be movable.
|
||||
|
||||
* [ZONES](Moose Training/Documentation/Zone.html): A set of zone classes that provide the functionality to validate the presence of GROUPS, UNITS, CLIENTS, STATICS within a certain ZONE. The zones can take various forms and can be movable.
|
||||
* [SCHEDULER](Documentation/Scheduler.html): This class implements a timer scheduler that will call at optional specified intervals repeatedly or just one time a scheduled function.
|
||||
|
||||
* [SCHEDULER](Moose Training/Documentation/Scheduler.html): This class implements a timer scheduler that will call at optional specified intervals repeatedly or just one time a scheduled function.
|
||||
|
||||
* [SPAWN](Moose Training/Documentation/Spawn.html): Spawn new groups (and units) during mission execution.
|
||||
## MOOSE Wrapper Classes
|
||||
|
||||
MOOSE Wrapper Classes provide an object oriented hierarchical mechanism to manage the DCS objects within the simulator.
|
||||
Wrapper classes provide another easier mechanism to control Groups, Units, Statics, Airbases and other objects.
|
||||
|
||||
* [OBJECT](Documentation/Object.html): This class provides the base for MOOSE objects.
|
||||
|
||||
* [IDENTIFIABLE](Documentation/Identifiable.html): This class provides the base for MOOSE identifiable objects, which is every object within the simulator :-).
|
||||
|
||||
* [POSITIONABLE](Documentation/Positionable.html): This class provides the base for MOOSE positionable objects. These are AIRBASEs, STATICs, GROUPs, UNITs ...
|
||||
|
||||
* [CONTROLLABLE](Documentation/Controllable.html): This class provides the base for MOOSE controllable objects. These are GROUPs, UNITs, CLIENTs.
|
||||
|
||||
* [AIRBASE](Documentation/Airbase.html): This class wraps a DCS Airbase object within the simulator.
|
||||
|
||||
* [GROUP](Documentation/Group.html): This class wraps a DCS Group objects within the simulator, which are currently alive.
|
||||
It provides a more extensive API set.
|
||||
It takes an abstraction of the complexity to give tasks, commands and set various options to DCS Groups.
|
||||
Additionally, the GROUP class provides a much richer API to identify various properties of the DCS Group.
|
||||
For each DCS Group created object within a running mission, a GROUP object will be created automatically, beging managed within the DATABASE.
|
||||
|
||||
* [UNIT](Documentation/Unit.html): This class wraps a DCS Unit object within the simulator, which are currently alive. It provides a more extensive API set, as well takes an abstraction of the complexity to give commands and set various options to DCS Units. Additionally, the UNIT class provides a much richer API to identify various properties of the DCS Unit. For each DCS Unit object created within a running mission, a UNIT object will be created automatically, that is stored within the DATABASE, under the _DATABASE object.
|
||||
the UNIT class provides a more extensive API set, taking an abstraction of the complexity to give tasks, commands and set various options to DCS Units.
|
||||
For each DCS Unit created object within a running mission, a UNIT object will be created automatically, beging managed within the DATABASE.
|
||||
|
||||
* [CLIENT](Documentation/Client.html): This class wraps a DCS Unit object within the simulator, which has a skill Client or Player.
|
||||
The CLIENT class derives from the UNIT class, thus contains the complete UNIT API set, and additionally, the CLIENT class provides an API set to manage players joining or leaving clients, sending messages to players, and manage the state of units joined by players. For each DCS Unit object created within a running mission that can be joined by a player, a CLIENT object will be created automatically, that is stored within the DATABASE, under the _DATABASE object.
|
||||
|
||||
* [STATIC](Documentation/Static.html): This class wraps a DCS StaticObject object within the simulator.
|
||||
The STATIC class derives from the POSITIONABLE class, thus contains also the position API set.
|
||||
|
||||
|
||||
## MOOSE Functional Classes
|
||||
|
||||
* [SPAWN](Documentation/Spawn.html): Spawn new groups (and units) during mission execution.
|
||||
|
||||
* [ESCORT](Moose Training/Documentation/Escort.html): Makes groups consisting of helicopters, airplanes, ground troops or ships within a mission joining your flight. You can control these groups through the ratio menu during your flight. Available commands are around: Navigation, Position Hold, Reporting (Target Detection), Attacking, Assisted Attacks, ROE, Evasion, Mission Execution and more ...
|
||||
|
||||
* [MISSILETRAINER](Moose Training/Documentation/MissileTrainer.html): Missile trainer, it destroys missiles when they are within a certain range of player airplanes, displays tracking and alert messages of missile launches; approach; destruction, and configure with radio menu commands. Various APIs available to configure the trainer.
|
||||
|
||||
* [PATROLZONE](Moose Training/Documentation/PatrolZone.html): Make an alive AI Group patrol a zone derived from the ZONE_BASE class. Manage out-of-fuel events and set altitude and speed ranges for the patrol.
|
||||
|
||||
* [AIBALANCER](Moose Training/Documentation/AIBalancer.html): Compensate in a multi player mission the abscence of players with dynamically spawned AI air units. When players join CLIENTS, the AI will either be destroyed, or will fly back to the home or nearest friendly airbase.
|
||||
|
||||
* [DETECTION](Moose Training/Documentation/Detection.html): Detect other units using the available sensors of the detection unit. The DETECTION_BASE derived classes will provide different methods how the sets of detected objects are built.
|
||||
|
||||
## MOOSE AI Controlling Classes
|
||||
|
||||
* [AI_BALANCER](Documentation/AI_Balancer.html): Compensate in a multi player mission the abscence of players with dynamically spawned AI air units. When players join CLIENTS, the AI will either be destroyed, or will fly back to the home or nearest friendly airbase.
|
||||
|
||||
* [AI_PATROLZONE](Documentation/AI_PatrolZone.html): Make an alive AI Group patrol a zone derived from the ZONE_BASE class. Manage out-of-fuel events and set altitude and speed ranges for the patrol.
|
||||
|
||||
* [FAC](Moose Training/Documentation/Fac.html): Using the DETECTION_BASE derived classes, detected objects can be reported in different ways to a set of clients (SET_CLIENT). FAC_BASE derived classes will provide target detection reporting and control using the radio menu.
|
||||
|
||||
* [FOLLOW](Moose Training/Documentation/Follow.html): Build large air formations using the FOLLOW class.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user