MOOSE generated documentation [skip ci]

This commit is contained in:
Applevangelist
2022-09-10 10:03:11 +00:00
parent d50178d2f1
commit ce5f4834e1
137 changed files with 72992 additions and 13371 deletions

View File

@@ -483,6 +483,17 @@
</div>
<div class="w3-container w3-padding w3-white picturebox" style="word-break:break-word;"><p>
<p><strong>Cargo</strong> - Management of single cargo logistics, which are based on a <a href="Wrapper.Unit.html">Wrapper.Unit</a> object.</p>
</p></div>
</div>
</div>
<div class="w3-col s12 m6 l4">
<div class="w3-card-4 w3-white w3-margin-16">
<div class="w3-display-container w3-text-white w3-text-shadow">
<img src= "../Images/CORE_Astar.png" alt="Image">
<div class="w3-display-bottommiddle" style="word-break:break-word;"><h2><strong><a href="Core.Astar.html">Core.Astar</a></strong></h2></div>
</div>
<div class="w3-container w3-padding w3-white picturebox" style="word-break:break-word;"><p>
<p><strong>Core</strong> - A* Pathfinding.</p>
</p></div>
</div>
</div>
@@ -505,6 +516,17 @@
</div>
<div class="w3-container w3-padding w3-white picturebox" style="word-break:break-word;"><p>
<p><strong>Core</strong> - TACAN and other beacons.</p>
</p></div>
</div>
</div>
<div class="w3-col s12 m6 l4">
<div class="w3-card-4 w3-white w3-margin-16">
<div class="w3-display-container w3-text-white w3-text-shadow">
<img src= "../Images/Core_Conditon.png" alt="Image">
<div class="w3-display-bottommiddle" style="word-break:break-word;"><h2><strong><a href="Core.Condition.html">Core.Condition</a></strong></h2></div>
</div>
<div class="w3-container w3-padding w3-white picturebox" style="word-break:break-word;"><p>
<p><strong>Core</strong> - Define any or all conditions to be evaluated.</p>
</p></div>
</div>
</div>
@@ -681,6 +703,33 @@
</div>
<div class="w3-container w3-padding w3-white picturebox" style="word-break:break-word;"><p>
<p><strong>Core</strong> - Management of spotting logistics, that can be activated and deactivated upon command.</p>
</p></div>
</div>
</div>
<div class="w3-col s12 m6 l4">
<div class="w3-card-4 w3-white w3-margin-16">
<div class="w3-display-container w3-text-white w3-text-shadow">
<img src= "../Images/MOOSE.JPG" alt="Image">
<div class="w3-display-bottommiddle" style="word-break:break-word;"><h2><strong><a href="Core.TextAndSound.html">Core.TextAndSound</a></strong></h2></div>
</div>
<div class="w3-container w3-padding w3-white picturebox" style="word-break:break-word;"><p>
<p><strong>Core</strong> - TEXTANDSOUND (MOOSE gettext) system</p>
<hr/>
<h2>Main Features:</h2>
<ul>
<li>A GetText for Moose</li>
<li>Build a set of localized text entries, alongside their sounds and subtitles</li>
<li>Aimed at class developers to offer localizable language support</li>
</ul>
<hr/>
<h2>Example Missions:</h2>
<p>Demo missions can be found on <a href="https://github.com/FlightControl-Master/MOOSE_MISSIONS/tree/develop/">github</a>.</p>
</p></div>
</div>
</div>
@@ -1316,11 +1365,22 @@ Controls a network of short range air/missile defense groups.</p>
<div class="w3-col s12 m6 l4">
<div class="w3-card-4 w3-white w3-margin-16">
<div class="w3-display-container w3-text-white w3-text-shadow">
<img src= "../Images/MOOSE.JPG" alt="Image">
<img src= "../Images/Utils_Profiler.jpg" alt="Image">
<div class="w3-display-bottommiddle" style="word-break:break-word;"><h2><strong><a href="Utilities.PROFILER.html">Utilities.PROFILER</a></strong></h2></div>
</div>
<div class="w3-container w3-padding w3-white picturebox" style="word-break:break-word;"><p>
<p><strong>Utils</strong> - Lua Profiler.</p>
</p></div>
</div>
</div>
<div class="w3-col s12 m6 l4">
<div class="w3-card-4 w3-white w3-margin-16">
<div class="w3-display-container w3-text-white w3-text-shadow">
<img src= "../Images/Utilities_Socket.png" alt="Image">
<div class="w3-display-bottommiddle" style="word-break:break-word;"><h2><strong><a href="Utilities.Socket.html">Utilities.Socket</a></strong></h2></div>
</div>
<div class="w3-container w3-padding w3-white picturebox" style="word-break:break-word;"><p>
<p><strong>Utilities</strong> - Socket.</p>
</p></div>
</div>
</div>
@@ -1429,7 +1489,7 @@ Controls a network of short range air/missile defense groups.</p>
<div class="w3-col s12 m6 l4">
<div class="w3-card-4 w3-white w3-margin-16">
<div class="w3-display-container w3-text-white w3-text-shadow">
<img src= "../Images/Wrapper_Marker.png" alt="Image">
<img src= "../Images/MOOSE_Core.JPG" alt="Image">
<div class="w3-display-bottommiddle" style="word-break:break-word;"><h2><strong><a href="Wrapper.Marker.html">Wrapper.Marker</a></strong></h2></div>
</div>
<div class="w3-container w3-padding w3-white picturebox" style="word-break:break-word;"><p>
@@ -1520,7 +1580,7 @@ Controls a network of short range air/missile defense groups.</p>
<p><strong>Specific features:</strong></p>
<ul>
<li>Creates a task to transport <a href="Cargo.Cargo.html">Cargo.Cargo</a> to and between deployment zones.</li>
<li>Creates a task to transport #Cargo.Cargo to and between deployment zones.</li>
<li>Derived from the TASK_CARGO class, which is derived from the TASK class.</li>
<li>Orchestrate the task flow, so go from Planned to Assigned to Success, Failed or Cancelled.</li>
<li>Co-operation tasking, so a player joins a group of players executing the same task.</li>
@@ -1569,7 +1629,7 @@ Controls a network of short range air/missile defense groups.</p>
<hr/>
<p>Please read through the <a href="Tasking.Task_Cargo.html">Tasking.Task_Cargo</a> process to understand the mechanisms of tasking and cargo tasking and handling.</p>
<p>Please read through the #Tasking.Task_Cargo process to understand the mechanisms of tasking and cargo tasking and handling.</p>
<p>Enjoy!
FC</p>
@@ -1613,7 +1673,7 @@ It is easy, as it works just like any other task setup.</p>
<h2>1.1) Create a command center.</h2>
<p>First you need to create a command center using the <a href="Tasking.CommandCenter.html##(COMMANDCENTER).New">Tasking.CommandCenter#COMMANDCENTER.New</a>() constructor.</p>
<p>First you need to create a command center using the Tasking.CommandCenter#COMMANDCENTER.New constructor.</p>
<pre><code>local CommandCenter = COMMANDCENTER
:New( HQ, "Lima" ) -- Create the CommandCenter.
@@ -1623,7 +1683,7 @@ It is easy, as it works just like any other task setup.</p>
<p>Tasks work in a mission, which groups these tasks to achieve a joint mission goal.
A command center can govern multiple missions.
Create a new mission, using the <a href="Tasking.Mission.html##(MISSION).New">Tasking.Mission#MISSION.New</a>() constructor.</p>
Create a new mission, using the Tasking.Mission#MISSION.New constructor.</p>
<pre><code>-- Declare the Mission for the Command Center.
local Mission = MISSION
@@ -1638,7 +1698,7 @@ local Mission = MISSION
<h2>1.3) Create the transport cargo task.</h2>
<p>So, now that we have a command center and a mission, we now create the transport task.
We create the transport task using the <a href="##(TASK_CARGO_TRANSPORT).New">TASK_CARGO_TRANSPORT.New</a>() constructor.</p>
We create the transport task using the #TASK_CARGO_TRANSPORT.New constructor.</p>
<p>Because a transport task will not generate the cargo itself, you'll need to create it first.
The cargo in this case will be the downed pilot!</p>
@@ -1658,7 +1718,7 @@ local PilotGroup = GROUP:FindByName( "Engineers" )
local CargoGroup = CARGO_GROUP:New( PilotGroup, "Cargo", "Engineer Team 1", 500 )
</code></pre>
<p>What is also needed, is to have a set of <a href="Core.Group.html">Core.Group</a>s defined that contains the clients of the players.</p>
<p>What is also needed, is to have a set of Core.Groups defined that contains the clients of the players.</p>
<pre><code>-- Allocate the Transport, which are the helicopter to retrieve the pilot, that can be manned by players.
local GroupSet = SET_GROUP:New():FilterPrefixes( "Transport" ):FilterStart()
@@ -1681,50 +1741,49 @@ It is better you use the cargo dispatcher to create transport tasks and it will
By doing this, cargo transport tasking will become a dynamic experience.</p>
<h1>2) Create a task using the <a href="Tasking.Task_Cargo_Dispatcher.html">Tasking.Task_Cargo_Dispatcher</a> module.</h1>
<h1>2) Create a task using the Tasking.Task_Cargo_Dispatcher module.</h1>
<p>Actually, it is better to <strong>GENERATE</strong> these tasks using the <a href="Tasking.Task_Cargo_Dispatcher.html">Tasking.Task_Cargo_Dispatcher</a> module.
Using the dispatcher module, transport tasks can be created much more easy.</p>
<p>Actually, it is better to <strong>GENERATE</strong> these tasks using the Tasking.Task_Cargo_Dispatcher module.
Using the dispatcher module, transport tasks can be created easier.</p>
<p>Find below an example how to use the TASK_CARGO_DISPATCHER class:</p>
<p> -- Find the HQ group.
HQ = GROUP:FindByName( "HQ", "Bravo" )</p>
<pre><code> -- Find the HQ group.
HQ = GROUP:FindByName( "HQ", "Bravo" )
<p> -- Create the command center with the name "Lima".
CommandCenter = COMMANDCENTER</p>
<pre><code> :New( HQ, "Lima" )
</code></pre>
-- Create the command center with the name "Lima".
CommandCenter = COMMANDCENTER
:New( HQ, "Lima" )
<p> -- Create the mission, for the command center, with the name "Operation Cargo Fun", a "Tactical" mission, with the mission briefing "Transport Cargo", for the BLUE coalition.
Mission = MISSION</p>
<pre><code> :New( CommandCenter, "Operation Cargo Fun", "Tactical", "Transport Cargo", coalition.side.BLUE )
</code></pre>
-- Create the mission, for the command center, with the name "Operation Cargo Fun", a "Tactical" mission, with the mission briefing "Transport Cargo", for the BLUE coalition.
Mission = MISSION
:New( CommandCenter, "Operation Cargo Fun", "Tactical", "Transport Cargo", coalition.side.BLUE )
<p> -- Create the SET of GROUPs containing clients (players) that will transport the cargo.
-- Create the SET of GROUPs containing clients (players) that will transport the cargo.
-- These are have a name that start with "Transport" and are of the "blue" coalition.
TransportGroups = SET_GROUP:New():FilterCoalitions( "blue" ):FilterPrefixes( "Transport" ):FilterStart()</p>
TransportGroups = SET_GROUP:New():FilterCoalitions( "blue" ):FilterPrefixes( "Transport" ):FilterStart()
<p> -- Here we create the TASK_CARGO_DISPATCHER object! This is where we assign the dispatcher to generate tasks in the Mission for the TransportGroups.
TaskDispatcher = TASK_CARGO_DISPATCHER:New( Mission, TransportGroups )</p>
-- Here we create the TASK_CARGO_DISPATCHER object! This is where we assign the dispatcher to generate tasks in the Mission for the TransportGroups.
TaskDispatcher = TASK_CARGO_DISPATCHER:New( Mission, TransportGroups )
<p> -- Here we declare the SET of CARGOs called "Workmaterials".
local CargoSetWorkmaterials = SET_CARGO:New():FilterTypes( "Workmaterials" ):FilterStart()</p>
-- Here we declare the SET of CARGOs called "Workmaterials".
local CargoSetWorkmaterials = SET_CARGO:New():FilterTypes( "Workmaterials" ):FilterStart()
<p> -- Here we declare (add) CARGO_GROUP objects of various types, that are filtered and added in the CargoSetworkmaterials cargo set.
-- Here we declare (add) CARGO_GROUP objects of various types, that are filtered and added in the CargoSetworkmaterials cargo set.
-- These cargo objects have the type "Workmaterials" which is exactly the type of cargo the CargoSetworkmaterials is filtering on.
local EngineerCargoGroup = CARGO_GROUP:New( GROUP:FindByName( "Engineers" ), "Workmaterials", "Engineers", 250 )
local ConcreteCargo = CARGO_SLINGLOAD:New( STATIC:FindByName( "Concrete" ), "Workmaterials", "Concrete", 150, 50 )
local CrateCargo = CARGO_CRATE:New( STATIC:FindByName( "Crate" ), "Workmaterials", "Crate", 150, 50 )
local EnginesCargo = CARGO_CRATE:New( STATIC:FindByName( "Engines" ), "Workmaterials", "Engines", 150, 50 )
local MetalCargo = CARGO_CRATE:New( STATIC:FindByName( "Metal" ), "Workmaterials", "Metal", 150, 50 )</p>
local MetalCargo = CARGO_CRATE:New( STATIC:FindByName( "Metal" ), "Workmaterials", "Metal", 150, 50 )
<p> -- And here we create a new WorkplaceTask, using the :AddTransportTask method of the TaskDispatcher.
local WorkplaceTask = TaskDispatcher:AddTransportTask( "Build a Workplace", CargoSetWorkmaterials, "Transport the workers, engineers and the equipment near the Workplace." )
TaskDispatcher:SetTransportDeployZone( WorkplaceTask, ZONE:New( "Workplace" ) )</p>
-- And here we create a new WorkplaceTask, using the :AddTransportTask method of the TaskDispatcher.
local WorkplaceTask = TaskDispatcher:AddTransportTask( "Build a Workplace", CargoSetWorkmaterials, "Transport the workers, engineers and the equipment near the Workplace." )
TaskDispatcher:SetTransportDeployZone( WorkplaceTask, ZONE:New( "Workplace" ) )
</code></pre>
<h1>3) Handle cargo task events.</h1>
@@ -1734,7 +1793,7 @@ Using the dispatcher module, transport tasks can be created much more easy.</p>
<ul>
<li><strong>Copy / Paste</strong> the code section into your script.</li>
<li><strong>Change</strong> the CLASS literal to the task object name you have in your script.</li>
<li><strong>Change</strong> the "myclass" literal to the task object name you have in your script.</li>
<li>Within the function, you can now <strong>write your own code</strong>!</li>
<li><strong>IntelliSense</strong> will recognize the type of the variables provided by the function. Note: the From, Event and To variables can be safely ignored,
but you need to declare them as they are automatically provided by the event handling system of MOOSE.</li>
@@ -1757,14 +1816,13 @@ Using the dispatcher module, transport tasks can be created much more easy.</p>
<p>If you want to code your own event handler, use this code fragment to tailor the event when a player carrier has picked up a cargo object in the CarrierGroup.
You can use this event handler to post messages to players, or provide status updates etc.</p>
<pre><code> --- CargoPickedUp event handler OnAfter for CLASS.
-- @param #CLASS self
<pre><code> --- CargoPickedUp event handler OnAfter for "myclass".
-- @param #string From A string that contains the "*from state name*" when the event was triggered.
-- @param #string Event A string that contains the "*event name*" when the event was triggered.
-- @param #string To A string that contains the "*to state name*" when the event was triggered.
-- @param Wrapper.Unit#UNIT TaskUnit The unit (client) of the player that has picked up the cargo.
-- @param Cargo.Cargo#CARGO Cargo The cargo object that has been picked up. Note that this can be a CARGO_GROUP, CARGO_CRATE or CARGO_SLINGLOAD object!
function CLASS:OnAfterCargoPickedUp( From, Event, To, TaskUnit, Cargo )
function myclass:OnAfterCargoPickedUp( From, Event, To, TaskUnit, Cargo )
-- Write here your own code.
@@ -1789,15 +1847,14 @@ You can use this event handler to post messages to players, or provide status up
You can use this event handler to post messages to players, or provide status updates etc.</p>
<pre><code> --- CargoDeployed event handler OnAfter for CLASS.
-- @param #CLASS self
<pre><code> --- CargoDeployed event handler OnAfter foR "myclass".
-- @param #string From A string that contains the "*from state name*" when the event was triggered.
-- @param #string Event A string that contains the "*event name*" when the event was triggered.
-- @param #string To A string that contains the "*to state name*" when the event was triggered.
-- @param Wrapper.Unit#UNIT TaskUnit The unit (client) of the player that has deployed the cargo.
-- @param Cargo.Cargo#CARGO Cargo The cargo object that has been deployed. Note that this can be a CARGO_GROUP, CARGO_CRATE or CARGO_SLINGLOAD object!
-- @param Core.Zone#ZONE DeployZone The zone wherein the cargo is deployed. This can be any zone type, like a ZONE, ZONE_GROUP, ZONE_AIRBASE.
function CLASS:OnAfterCargoDeployed( From, Event, To, TaskUnit, Cargo, DeployZone )
function myclass:OnAfterCargoDeployed( From, Event, To, TaskUnit, Cargo, DeployZone )
-- Write here your own code.
@@ -1816,7 +1873,6 @@ You can use this event handler to post messages to players, or provide status up
<div class="w3-container w3-theme-l2 w3-margin-top"><h2><a id="#(TASK_CARGO_TRANSPORT)">Type <strong>TASK_CARGO_TRANSPORT</strong></a></h2></div>
<div class="w3-card-4 w3-padding w3-margin w3-theme-l1">
<strong><a href="##(TASK_CARGO_TRANSPORT)">TASK_CARGO_TRANSPORT</a></strong>
, extends <strong><a href="Tasking.Task_CARGO.html##(TASK_CARGO)">Tasking.Task_CARGO#TASK_CARGO</a></strong>
</div>
<div class="w3-card w3-margin">
<table class="w3-table w3-border-bottom w3-border-theme-l2">