mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2026-08-23 11:40:57 +00:00
Preparing for presentation
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
--- Dynamic spawning of groups (and units).
|
--- This module contains the SPAWN class.
|
||||||
--
|
--
|
||||||
-- @{#SPAWN} class
|
-- 1) @{Spawn#SPAWN} class, extends @{Base#BASE}
|
||||||
-- ===============
|
-- =============================================
|
||||||
-- The @{#SPAWN} class allows to spawn dynamically new groups, based on pre-defined initialization settings, modifying the behaviour when groups are spawned.
|
-- The @{#SPAWN} class allows to spawn dynamically new groups, based on pre-defined initialization settings, modifying the behaviour when groups are spawned.
|
||||||
-- For each group to be spawned, within the mission editor, a group has to be created with the "late activation flag" set. We call this group the *"Spawn Template"* of the SPAWN object.
|
-- For each group to be spawned, within the mission editor, a group has to be created with the "late activation flag" set. We call this group the *"Spawn Template"* of the SPAWN object.
|
||||||
-- A reference to this Spawn Template needs to be provided when constructing the SPAWN object, by indicating the name of the group within the mission editor in the constructor methods.
|
-- A reference to this Spawn Template needs to be provided when constructing the SPAWN object, by indicating the name of the group within the mission editor in the constructor methods.
|
||||||
@@ -24,8 +24,8 @@
|
|||||||
-- * It is important to defined BEFORE you spawn new groups, a proper initialization of the SPAWN instance is done with the options you want to use.
|
-- * It is important to defined BEFORE you spawn new groups, a proper initialization of the SPAWN instance is done with the options you want to use.
|
||||||
-- * When designing a mission, NEVER name groups using a "#" within the name of the group Spawn Template(s), or the SPAWN module logic won't work anymore.
|
-- * When designing a mission, NEVER name groups using a "#" within the name of the group Spawn Template(s), or the SPAWN module logic won't work anymore.
|
||||||
--
|
--
|
||||||
-- SPAWN construction methods:
|
-- 1.1) SPAWN construction methods
|
||||||
-- ===========================
|
-- -------------------------------
|
||||||
-- Create a new SPAWN object with the @{#SPAWN.New} or the @{#SPAWN.NewWithAlias} methods:
|
-- Create a new SPAWN object with the @{#SPAWN.New} or the @{#SPAWN.NewWithAlias} methods:
|
||||||
--
|
--
|
||||||
-- * @{#SPAWN.New}: Creates a new SPAWN object taking the name of the group that functions as the Template.
|
-- * @{#SPAWN.New}: Creates a new SPAWN object taking the name of the group that functions as the Template.
|
||||||
@@ -34,8 +34,8 @@
|
|||||||
-- The initialization functions will modify this list of groups so that when a group gets spawned, ALL information is already prepared when spawning. This is done for performance reasons.
|
-- The initialization functions will modify this list of groups so that when a group gets spawned, ALL information is already prepared when spawning. This is done for performance reasons.
|
||||||
-- So in principle, the group list will contain all parameters and configurations after initialization, and when groups get actually spawned, this spawning can be done quickly and efficient.
|
-- So in principle, the group list will contain all parameters and configurations after initialization, and when groups get actually spawned, this spawning can be done quickly and efficient.
|
||||||
--
|
--
|
||||||
-- SPAWN initialization methods:
|
-- 1.2) SPAWN initialization methods
|
||||||
-- =============================
|
-- ---------------------------------
|
||||||
-- A spawn object will behave differently based on the usage of initialization methods:
|
-- A spawn object will behave differently based on the usage of initialization methods:
|
||||||
--
|
--
|
||||||
-- * @{#SPAWN.Limit}: Limits the amount of groups that can be alive at the same time and that can be dynamically spawned.
|
-- * @{#SPAWN.Limit}: Limits the amount of groups that can be alive at the same time and that can be dynamically spawned.
|
||||||
@@ -45,8 +45,8 @@
|
|||||||
-- * @{#SPAWN.Array}: Make groups visible before they are actually activated, and order these groups like a batallion in an array.
|
-- * @{#SPAWN.Array}: Make groups visible before they are actually activated, and order these groups like a batallion in an array.
|
||||||
-- * @{#SPAWN.InitRepeat}: Re-spawn groups when they land at the home base. Similar functions are @{#SPAWN.InitRepeatOnLanding} and @{#SPAWN.InitRepeatOnEngineShutDown}.
|
-- * @{#SPAWN.InitRepeat}: Re-spawn groups when they land at the home base. Similar functions are @{#SPAWN.InitRepeatOnLanding} and @{#SPAWN.InitRepeatOnEngineShutDown}.
|
||||||
--
|
--
|
||||||
-- SPAWN spawning methods:
|
-- 1.3) SPAWN spawning methods
|
||||||
-- =======================
|
-- ---------------------------
|
||||||
-- Groups can be spawned at different times and methods:
|
-- Groups can be spawned at different times and methods:
|
||||||
--
|
--
|
||||||
-- * @{#SPAWN.Spawn}: Spawn one new group based on the last spawned index.
|
-- * @{#SPAWN.Spawn}: Spawn one new group based on the last spawned index.
|
||||||
@@ -58,8 +58,8 @@
|
|||||||
-- Note that @{#SPAWN.Spawn} and @{#SPAWN.ReSpawn} return a @{GROUP#GROUP.New} object, that contains a reference to the DCSGroup object.
|
-- Note that @{#SPAWN.Spawn} and @{#SPAWN.ReSpawn} return a @{GROUP#GROUP.New} object, that contains a reference to the DCSGroup object.
|
||||||
-- You can use the @{GROUP} object to do further actions with the DCSGroup.
|
-- You can use the @{GROUP} object to do further actions with the DCSGroup.
|
||||||
--
|
--
|
||||||
-- SPAWN object cleaning:
|
-- 1.4) SPAWN object cleaning
|
||||||
-- =========================
|
-- --------------------------
|
||||||
-- Sometimes, it will occur during a mission run-time, that ground or especially air objects get damaged, and will while being damged stop their activities, while remaining alive.
|
-- Sometimes, it will occur during a mission run-time, that ground or especially air objects get damaged, and will while being damged stop their activities, while remaining alive.
|
||||||
-- In such cases, the SPAWN object will just sit there and wait until that group gets destroyed, but most of the time it won't,
|
-- In such cases, the SPAWN object will just sit there and wait until that group gets destroyed, but most of the time it won't,
|
||||||
-- and it may occur that no new groups are or can be spawned as limits are reached.
|
-- and it may occur that no new groups are or can be spawned as limits are reached.
|
||||||
@@ -70,7 +70,7 @@
|
|||||||
-- This models AI that has succesfully returned to their airbase, to restart their combat activities.
|
-- This models AI that has succesfully returned to their airbase, to restart their combat activities.
|
||||||
-- Check the @{#SPAWN.CleanUp} for further info.
|
-- Check the @{#SPAWN.CleanUp} for further info.
|
||||||
--
|
--
|
||||||
-- ====
|
--
|
||||||
-- @module Spawn
|
-- @module Spawn
|
||||||
-- @author FlightControl
|
-- @author FlightControl
|
||||||
|
|
||||||
|
|||||||
@@ -26,26 +26,38 @@
|
|||||||
-- * @{#ZONE_BASE.IsPointVec2InZone}: Returns if a location is within the zone.
|
-- * @{#ZONE_BASE.IsPointVec2InZone}: Returns if a location is within the zone.
|
||||||
-- * @{#ZONE_BASE.IsPointVec3InZone}: Returns if a point is within the zone.
|
-- * @{#ZONE_BASE.IsPointVec3InZone}: Returns if a point is within the zone.
|
||||||
--
|
--
|
||||||
|
-- ===
|
||||||
|
--
|
||||||
-- 1) @{Zone#ZONE_BASE} class, extends @{Base#BASE}
|
-- 1) @{Zone#ZONE_BASE} class, extends @{Base#BASE}
|
||||||
-- ================================================
|
-- ================================================
|
||||||
-- The ZONE_BASE class defining the base for all other zone classes.
|
-- The ZONE_BASE class defining the base for all other zone classes.
|
||||||
--
|
--
|
||||||
|
-- ===
|
||||||
|
--
|
||||||
-- 2) @{Zone#ZONE_RADIUS} class, extends @{Zone#ZONE_BASE}
|
-- 2) @{Zone#ZONE_RADIUS} class, extends @{Zone#ZONE_BASE}
|
||||||
-- =======================================================
|
-- =======================================================
|
||||||
-- The ZONE_RADIUS class defined by a zone name, a location and a radius.
|
-- The ZONE_RADIUS class defined by a zone name, a location and a radius.
|
||||||
--
|
--
|
||||||
|
-- ===
|
||||||
|
--
|
||||||
-- 3) @{Zone#ZONE} class, extends @{Zone#ZONE_RADIUS}
|
-- 3) @{Zone#ZONE} class, extends @{Zone#ZONE_RADIUS}
|
||||||
-- ==========================================
|
-- ==========================================
|
||||||
-- The ZONE class, defined by the zone name as defined within the Mission Editor.
|
-- The ZONE class, defined by the zone name as defined within the Mission Editor.
|
||||||
--
|
--
|
||||||
|
-- ===
|
||||||
|
--
|
||||||
-- 4) @{Zone#ZONE_UNIT} class, extends @{Zone#ZONE_RADIUS}
|
-- 4) @{Zone#ZONE_UNIT} class, extends @{Zone#ZONE_RADIUS}
|
||||||
-- =======================================================
|
-- =======================================================
|
||||||
-- The ZONE_UNIT class defined by a zone around a @{Unit#UNIT} with a radius.
|
-- The ZONE_UNIT class defined by a zone around a @{Unit#UNIT} with a radius.
|
||||||
--
|
--
|
||||||
|
-- ===
|
||||||
|
--
|
||||||
-- 5) @{Zone#ZONE_POLYGON} class, extends @{Zone#ZONE_BASE}
|
-- 5) @{Zone#ZONE_POLYGON} class, extends @{Zone#ZONE_BASE}
|
||||||
-- ========================================================
|
-- ========================================================
|
||||||
-- The ZONE_POLYGON class defined by a sequence of @{Group#GROUP} waypoints within the Mission Editor, forming a polygon.
|
-- The ZONE_POLYGON class defined by a sequence of @{Group#GROUP} waypoints within the Mission Editor, forming a polygon.
|
||||||
--
|
--
|
||||||
|
-- ===
|
||||||
|
--
|
||||||
-- @module Zone
|
-- @module Zone
|
||||||
-- @author FlightControl
|
-- @author FlightControl
|
||||||
|
|
||||||
|
|||||||
@@ -71,11 +71,11 @@
|
|||||||
<div id="content">
|
<div id="content">
|
||||||
<h1>Module <code>Spawn</code></h1>
|
<h1>Module <code>Spawn</code></h1>
|
||||||
|
|
||||||
<p>Dynamic spawning of groups (and units).</p>
|
<p>This module contains the SPAWN class.</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h1><a href="##(SPAWN)">#SPAWN</a> class</h1>
|
<h1>1) <a href="Spawn.html##(SPAWN)">Spawn#SPAWN</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
|
||||||
<p>The <a href="##(SPAWN)">#SPAWN</a> class allows to spawn dynamically new groups, based on pre-defined initialization settings, modifying the behaviour when groups are spawned.
|
<p>The <a href="##(SPAWN)">#SPAWN</a> class allows to spawn dynamically new groups, based on pre-defined initialization settings, modifying the behaviour when groups are spawned.
|
||||||
For each group to be spawned, within the mission editor, a group has to be created with the "late activation flag" set. We call this group the <em>"Spawn Template"</em> of the SPAWN object.
|
For each group to be spawned, within the mission editor, a group has to be created with the "late activation flag" set. We call this group the <em>"Spawn Template"</em> of the SPAWN object.
|
||||||
A reference to this Spawn Template needs to be provided when constructing the SPAWN object, by indicating the name of the group within the mission editor in the constructor methods.</p>
|
A reference to this Spawn Template needs to be provided when constructing the SPAWN object, by indicating the name of the group within the mission editor in the constructor methods.</p>
|
||||||
@@ -102,7 +102,7 @@ Groups will follow the following naming structure when spawned at run-time:</p>
|
|||||||
<li>When designing a mission, NEVER name groups using a "#" within the name of the group Spawn Template(s), or the SPAWN module logic won't work anymore.</li>
|
<li>When designing a mission, NEVER name groups using a "#" within the name of the group Spawn Template(s), or the SPAWN module logic won't work anymore.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h1>SPAWN construction methods:</h1>
|
<h2>1.1) SPAWN construction methods</h2>
|
||||||
<p>Create a new SPAWN object with the <a href="##(SPAWN).New">SPAWN.New</a> or the <a href="##(SPAWN).NewWithAlias">SPAWN.NewWithAlias</a> methods:</p>
|
<p>Create a new SPAWN object with the <a href="##(SPAWN).New">SPAWN.New</a> or the <a href="##(SPAWN).NewWithAlias">SPAWN.NewWithAlias</a> methods:</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
@@ -113,7 +113,7 @@ Groups will follow the following naming structure when spawned at run-time:</p>
|
|||||||
The initialization functions will modify this list of groups so that when a group gets spawned, ALL information is already prepared when spawning. This is done for performance reasons.
|
The initialization functions will modify this list of groups so that when a group gets spawned, ALL information is already prepared when spawning. This is done for performance reasons.
|
||||||
So in principle, the group list will contain all parameters and configurations after initialization, and when groups get actually spawned, this spawning can be done quickly and efficient.</p>
|
So in principle, the group list will contain all parameters and configurations after initialization, and when groups get actually spawned, this spawning can be done quickly and efficient.</p>
|
||||||
|
|
||||||
<h1>SPAWN initialization methods: </h1>
|
<h2>1.2) SPAWN initialization methods</h2>
|
||||||
<p>A spawn object will behave differently based on the usage of initialization methods: </p>
|
<p>A spawn object will behave differently based on the usage of initialization methods: </p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
@@ -125,7 +125,7 @@ So in principle, the group list will contain all parameters and configurations a
|
|||||||
<li><a href="##(SPAWN).InitRepeat">SPAWN.InitRepeat</a>: Re-spawn groups when they land at the home base. Similar functions are <a href="##(SPAWN).InitRepeatOnLanding">SPAWN.InitRepeatOnLanding</a> and <a href="##(SPAWN).InitRepeatOnEngineShutDown">SPAWN.InitRepeatOnEngineShutDown</a>.</li>
|
<li><a href="##(SPAWN).InitRepeat">SPAWN.InitRepeat</a>: Re-spawn groups when they land at the home base. Similar functions are <a href="##(SPAWN).InitRepeatOnLanding">SPAWN.InitRepeatOnLanding</a> and <a href="##(SPAWN).InitRepeatOnEngineShutDown">SPAWN.InitRepeatOnEngineShutDown</a>.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h1>SPAWN spawning methods:</h1>
|
<h2>1.3) SPAWN spawning methods</h2>
|
||||||
<p>Groups can be spawned at different times and methods:</p>
|
<p>Groups can be spawned at different times and methods:</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
@@ -139,7 +139,7 @@ So in principle, the group list will contain all parameters and configurations a
|
|||||||
<p>Note that <a href="##(SPAWN).Spawn">SPAWN.Spawn</a> and <a href="##(SPAWN).ReSpawn">SPAWN.ReSpawn</a> return a <a href="GROUP.html##(GROUP).New">GROUP#GROUP.New</a> object, that contains a reference to the DCSGroup object.
|
<p>Note that <a href="##(SPAWN).Spawn">SPAWN.Spawn</a> and <a href="##(SPAWN).ReSpawn">SPAWN.ReSpawn</a> return a <a href="GROUP.html##(GROUP).New">GROUP#GROUP.New</a> object, that contains a reference to the DCSGroup object.
|
||||||
You can use the <a href="GROUP.html">GROUP</a> object to do further actions with the DCSGroup.</p>
|
You can use the <a href="GROUP.html">GROUP</a> object to do further actions with the DCSGroup.</p>
|
||||||
|
|
||||||
<h1>SPAWN object cleaning:</h1>
|
<h2>1.4) SPAWN object cleaning</h2>
|
||||||
<p>Sometimes, it will occur during a mission run-time, that ground or especially air objects get damaged, and will while being damged stop their activities, while remaining alive.
|
<p>Sometimes, it will occur during a mission run-time, that ground or especially air objects get damaged, and will while being damged stop their activities, while remaining alive.
|
||||||
In such cases, the SPAWN object will just sit there and wait until that group gets destroyed, but most of the time it won't,
|
In such cases, the SPAWN object will just sit there and wait until that group gets destroyed, but most of the time it won't,
|
||||||
and it may occur that no new groups are or can be spawned as limits are reached.
|
and it may occur that no new groups are or can be spawned as limits are reached.
|
||||||
@@ -150,7 +150,7 @@ In such a case, when the inactive group is cleaned, a new group will Re-spawned
|
|||||||
This models AI that has succesfully returned to their airbase, to restart their combat activities.
|
This models AI that has succesfully returned to their airbase, to restart their combat activities.
|
||||||
Check the <a href="##(SPAWN).CleanUp">SPAWN.CleanUp</a> for further info.</p>
|
Check the <a href="##(SPAWN).CleanUp">SPAWN.CleanUp</a> for further info.</p>
|
||||||
|
|
||||||
<hr/>
|
|
||||||
|
|
||||||
<h2>Global(s)</h2>
|
<h2>Global(s)</h2>
|
||||||
<table class="function_list">
|
<table class="function_list">
|
||||||
|
|||||||
@@ -109,21 +109,33 @@
|
|||||||
<li><a href="##(ZONE_BASE).IsPointVec3InZone">ZONE_BASE.IsPointVec3InZone</a>: Returns if a point is within the zone.</li>
|
<li><a href="##(ZONE_BASE).IsPointVec3InZone">ZONE_BASE.IsPointVec3InZone</a>: Returns if a point is within the zone.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
|
||||||
<h1>1) <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
|
<h1>1) <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
|
||||||
<p>The ZONE_BASE class defining the base for all other zone classes.</p>
|
<p>The ZONE_BASE class defining the base for all other zone classes.</p>
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
|
||||||
<h1>2) <a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a> class, extends <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></h1>
|
<h1>2) <a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a> class, extends <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></h1>
|
||||||
<p>The ZONE_RADIUS class defined by a zone name, a location and a radius.</p>
|
<p>The ZONE_RADIUS class defined by a zone name, a location and a radius.</p>
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
|
||||||
<h1>3) <a href="Zone.html##(ZONE)">Zone#ZONE</a> class, extends <a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a></h1>
|
<h1>3) <a href="Zone.html##(ZONE)">Zone#ZONE</a> class, extends <a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a></h1>
|
||||||
<p>The ZONE class, defined by the zone name as defined within the Mission Editor.</p>
|
<p>The ZONE class, defined by the zone name as defined within the Mission Editor.</p>
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
|
||||||
<h1>4) <a href="Zone.html##(ZONE_UNIT)">Zone#ZONE_UNIT</a> class, extends <a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a></h1>
|
<h1>4) <a href="Zone.html##(ZONE_UNIT)">Zone#ZONE_UNIT</a> class, extends <a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a></h1>
|
||||||
<p>The ZONE_UNIT class defined by a zone around a <a href="Unit.html##(UNIT)">Unit#UNIT</a> with a radius.</p>
|
<p>The ZONE_UNIT class defined by a zone around a <a href="Unit.html##(UNIT)">Unit#UNIT</a> with a radius.</p>
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
|
||||||
<h1>5) <a href="Zone.html##(ZONE_POLYGON)">Zone#ZONE_POLYGON</a> class, extends <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></h1>
|
<h1>5) <a href="Zone.html##(ZONE_POLYGON)">Zone#ZONE_POLYGON</a> class, extends <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></h1>
|
||||||
<p>The ZONE_POLYGON class defined by a sequence of <a href="Group.html##(GROUP)">Group#GROUP</a> waypoints within the Mission Editor, forming a polygon.</p>
|
<p>The ZONE_POLYGON class defined by a sequence of <a href="Group.html##(GROUP)">Group#GROUP</a> waypoints within the Mission Editor, forming a polygon.</p>
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
|
||||||
|
|
||||||
<h2>Global(s)</h2>
|
<h2>Global(s)</h2>
|
||||||
<table class="function_list">
|
<table class="function_list">
|
||||||
|
|||||||
@@ -321,7 +321,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="Spawn.html">Spawn</a></td>
|
<td class="name" nowrap="nowrap"><a href="Spawn.html">Spawn</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
<p>Dynamic spawning of groups (and units).</p>
|
<p>This module contains the SPAWN class.</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
BIN
Binary file not shown.
Reference in New Issue
Block a user