Fixes bug in SET_GROUP

Was unable to filter on category "ground". Fixed now.
This commit is contained in:
FlightControl 2017-06-23 08:14:02 +02:00
parent df7c45d7ef
commit 6126ec9450
8 changed files with 226 additions and 22 deletions

View File

@ -584,7 +584,7 @@ end
--- @type SET_GROUP
-- @extends Core.Set#SET_BASE
--- # 2) SET_GROUP class, extends @{Set#SET_BASE}
--- # SET_GROUP class, extends @{Set#SET_BASE}
--
-- Mission designers can use the @{Set#SET_GROUP} class to build sets of groups belonging to certain:
--
@ -593,18 +593,18 @@ end
-- * Countries
-- * Starting with certain prefix strings.
--
-- ## 2.1) SET_GROUP constructor
-- ## 1. SET_GROUP constructor
--
-- Create a new SET_GROUP object with the @{#SET_GROUP.New} method:
--
-- * @{#SET_GROUP.New}: Creates a new SET_GROUP object.
--
-- ## 2.2) Add or Remove GROUP(s) from SET_GROUP
-- ## 2. Add or Remove GROUP(s) from SET_GROUP
--
-- GROUPS can be added and removed using the @{Set#SET_GROUP.AddGroupsByName} and @{Set#SET_GROUP.RemoveGroupsByName} respectively.
-- These methods take a single GROUP name or an array of GROUP names to be added or removed from SET_GROUP.
--
-- ## 2.3) SET_GROUP filter criteria
-- ## 3. SET_GROUP filter criteria
--
-- You can set filter criteria to define the set of groups within the SET_GROUP.
-- Filter criteria are defined by:
@ -613,6 +613,15 @@ end
-- * @{#SET_GROUP.FilterCategories}: Builds the SET_GROUP with the groups belonging to the category(ies).
-- * @{#SET_GROUP.FilterCountries}: Builds the SET_GROUP with the gruops belonging to the country(ies).
-- * @{#SET_GROUP.FilterPrefixes}: Builds the SET_GROUP with the groups starting with the same prefix string(s).
--
-- For the Category Filter, extra methods have been added:
--
-- * @{#SET_GROUP.FilterCategoryAirplane}: Builds the SET_GROUP from airplanes.
-- * @{#SET_GROUP.FilterCategoryHelicopter}: Builds the SET_GROUP from helicopters.
-- * @{#SET_GROUP.FilterCategoryGround}: Builds the SET_GROUP from ground vehicles or infantry.
-- * @{#SET_GROUP.FilterCategoryShip}: Builds the SET_GROUP from ships.
-- * @{#SET_GROUP.FilterCategoryStructure}: Builds the SET_GROUP from structures.
--
--
-- Once the filter criteria have been set for the SET_GROUP, you can start filtering using:
--
@ -622,7 +631,7 @@ end
--
-- * @{#SET_GROUP.FilterZones}: Builds the SET_GROUP with the groups within a @{Zone#ZONE}.
--
-- ## 2.4) SET_GROUP iterators
-- ## 4. SET_GROUP iterators
--
-- Once the filters have been defined and the SET_GROUP has been built, you can iterate the SET_GROUP with the available iterator methods.
-- The iterator methods will walk the SET_GROUP set, and call for each element within the set a function that you provide.
@ -652,7 +661,7 @@ SET_GROUP = {
Categories = {
plane = Group.Category.AIRPLANE,
helicopter = Group.Category.HELICOPTER,
ground = Group.Category.GROUND_UNIT,
ground = Group.Category.GROUND, -- R2.2
ship = Group.Category.SHIP,
structure = Group.Category.STRUCTURE,
},
@ -781,6 +790,48 @@ function SET_GROUP:FilterCategories( Categories )
return self
end
--- Builds a set of groups out of ground category.
-- @param #SET_GROUP self
-- @return #SET_GROUP self
function SET_GROUP:FilterCategoryGround()
self:FilterCategories( "ground" )
return self
end
--- Builds a set of groups out of airplane category.
-- @param #SET_GROUP self
-- @return #SET_GROUP self
function SET_GROUP:FilterCategoryAirplane()
self:FilterCategories( "airplane" )
return self
end
--- Builds a set of groups out of helicopter category.
-- @param #SET_GROUP self
-- @return #SET_GROUP self
function SET_GROUP:FilterCategoryHelicopter()
self:FilterCategories( "helicopter" )
return self
end
--- Builds a set of groups out of ship category.
-- @param #SET_GROUP self
-- @return #SET_GROUP self
function SET_GROUP:FilterCategoryShip()
self:FilterCategories( "ship" )
return self
end
--- Builds a set of groups out of structure category.
-- @param #SET_GROUP self
-- @return #SET_GROUP self
function SET_GROUP:FilterCategoryStructure()
self:FilterCategories( "structure" )
return self
end
--- Builds a set of groups of defined countries.
-- Possible current countries are those known within DCS world.
-- @param #SET_GROUP self

View File

@ -926,6 +926,9 @@ Use the method <a href="##(AI_PATROL_ZONE).ManageDamage">AI<em>PATROL</em>ZONE.M
<p> This table contains the targets detected during patrol.</p>
</dd>
</dl>
<dl class="function">

View File

@ -3059,7 +3059,6 @@ The range till cargo will board.</p>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(CARGO_UNIT).RunCount" >
<strong>CARGO_UNIT.RunCount</strong>
</a>

View File

@ -2393,7 +2393,6 @@ The index of the DetectedItem.</p>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(DETECTION_BASE).DetectedItemCount" >
<strong>DETECTION_BASE.DetectedItemCount</strong>
</a>
@ -2407,7 +2406,6 @@ The index of the DetectedItem.</p>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(DETECTION_BASE).DetectedItemMax" >
<strong>DETECTION_BASE.DetectedItemMax</strong>
</a>

View File

@ -216,7 +216,7 @@
<tr>
<td class="name" nowrap="nowrap"><a href="#SET_GROUP">SET_GROUP</a></td>
<td class="summary">
<h1>2) SET_GROUP class, extends <a href="Set.html##(SET_BASE)">Set#SET_BASE</a></h1>
<h1>SET_GROUP class, extends <a href="Set.html##(SET_BASE)">Set#SET_BASE</a></h1>
<p>Mission designers can use the <a href="Set.html##(SET_GROUP)">Set#SET_GROUP</a> class to build sets of groups belonging to certain:</p>
@ -785,6 +785,36 @@ provides an easy to use shortcut...</p>
<td class="name" nowrap="nowrap"><a href="##(SET_GROUP).FilterCategories">SET_GROUP:FilterCategories(Categories)</a></td>
<td class="summary">
<p>Builds a set of groups out of categories.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_GROUP).FilterCategoryAirplane">SET_GROUP:FilterCategoryAirplane()</a></td>
<td class="summary">
<p>Builds a set of groups out of airplane category.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_GROUP).FilterCategoryGround">SET_GROUP:FilterCategoryGround()</a></td>
<td class="summary">
<p>Builds a set of groups out of ground category.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_GROUP).FilterCategoryHelicopter">SET_GROUP:FilterCategoryHelicopter()</a></td>
<td class="summary">
<p>Builds a set of groups out of helicopter category.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_GROUP).FilterCategoryShip">SET_GROUP:FilterCategoryShip()</a></td>
<td class="summary">
<p>Builds a set of groups out of ship category.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_GROUP).FilterCategoryStructure">SET_GROUP:FilterCategoryStructure()</a></td>
<td class="summary">
<p>Builds a set of groups out of structure category.</p>
</td>
</tr>
<tr>
@ -1312,7 +1342,7 @@ The following iterator methods are currently available within the SET</em>CLIENT
</dt>
<dd>
<h1>2) SET_GROUP class, extends <a href="Set.html##(SET_BASE)">Set#SET_BASE</a></h1>
<h1>SET_GROUP class, extends <a href="Set.html##(SET_BASE)">Set#SET_BASE</a></h1>
<p>Mission designers can use the <a href="Set.html##(SET_GROUP)">Set#SET_GROUP</a> class to build sets of groups belonging to certain:</p>
@ -1325,7 +1355,7 @@ The following iterator methods are currently available within the SET</em>CLIENT
<p> </p>
<h2>2.1) SET_GROUP constructor</h2>
<h2>1. SET_GROUP constructor</h2>
<p>Create a new SET_GROUP object with the <a href="##(SET_GROUP).New">SET_GROUP.New</a> method:</p>
@ -1333,12 +1363,12 @@ The following iterator methods are currently available within the SET</em>CLIENT
<li><a href="##(SET_GROUP).New">SET_GROUP.New</a>: Creates a new SET_GROUP object.</li>
</ul>
<h2>2.2) Add or Remove GROUP(s) from SET_GROUP</h2>
<h2>2. Add or Remove GROUP(s) from SET_GROUP</h2>
<p>GROUPS can be added and removed using the <a href="Set.html##(SET_GROUP).AddGroupsByName">Set#SET_GROUP.AddGroupsByName</a> and <a href="Set.html##(SET_GROUP).RemoveGroupsByName">Set#SET_GROUP.RemoveGroupsByName</a> respectively.
These methods take a single GROUP name or an array of GROUP names to be added or removed from SET_GROUP.</p>
<h2>2.3) SET_GROUP filter criteria</h2>
<h2>3. SET_GROUP filter criteria</h2>
<p>You can set filter criteria to define the set of groups within the SET_GROUP.
Filter criteria are defined by:</p>
@ -1350,6 +1380,17 @@ Filter criteria are defined by:</p>
<li><a href="##(SET_GROUP).FilterPrefixes">SET_GROUP.FilterPrefixes</a>: Builds the SET_GROUP with the groups starting with the same prefix string(s).</li>
</ul>
<p>For the Category Filter, extra methods have been added:</p>
<ul>
<li><a href="##(SET_GROUP).FilterCategoryAirplane">SET_GROUP.FilterCategoryAirplane</a>: Builds the SET_GROUP from airplanes.</li>
<li><a href="##(SET_GROUP).FilterCategoryHelicopter">SET_GROUP.FilterCategoryHelicopter</a>: Builds the SET_GROUP from helicopters.</li>
<li><a href="##(SET_GROUP).FilterCategoryGround">SET_GROUP.FilterCategoryGround</a>: Builds the SET_GROUP from ground vehicles or infantry.</li>
<li><a href="##(SET_GROUP).FilterCategoryShip">SET_GROUP.FilterCategoryShip</a>: Builds the SET_GROUP from ships.</li>
<li><a href="##(SET_GROUP).FilterCategoryStructure">SET_GROUP.FilterCategoryStructure</a>: Builds the SET_GROUP from structures.</li>
</ul>
<p>Once the filter criteria have been set for the SET_GROUP, you can start filtering using:</p>
<ul>
@ -1362,7 +1403,7 @@ Filter criteria are defined by:</p>
<li><a href="##(SET_GROUP).FilterZones">SET_GROUP.FilterZones</a>: Builds the SET_GROUP with the groups within a <a href="Zone.html##(ZONE)">Zone#ZONE</a>.</li>
</ul>
<h2>2.4) SET_GROUP iterators</h2>
<h2>4. SET_GROUP iterators</h2>
<p>Once the filters have been defined and the SET<em>GROUP has been built, you can iterate the SET</em>GROUP with the available iterator methods.
The iterator methods will walk the SET<em>GROUP set, and call for each element within the set a function that you provide.
@ -3836,6 +3877,96 @@ self</p>
<dl class="function">
<dt>
<a id="#(SET_GROUP).FilterCategoryAirplane" >
<strong>SET_GROUP:FilterCategoryAirplane()</strong>
</a>
</dt>
<dd>
<p>Builds a set of groups out of airplane category.</p>
<h3>Return value</h3>
<p><em><a href="##(SET_GROUP)">#SET_GROUP</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SET_GROUP).FilterCategoryGround" >
<strong>SET_GROUP:FilterCategoryGround()</strong>
</a>
</dt>
<dd>
<p>Builds a set of groups out of ground category.</p>
<h3>Return value</h3>
<p><em><a href="##(SET_GROUP)">#SET_GROUP</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SET_GROUP).FilterCategoryHelicopter" >
<strong>SET_GROUP:FilterCategoryHelicopter()</strong>
</a>
</dt>
<dd>
<p>Builds a set of groups out of helicopter category.</p>
<h3>Return value</h3>
<p><em><a href="##(SET_GROUP)">#SET_GROUP</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SET_GROUP).FilterCategoryShip" >
<strong>SET_GROUP:FilterCategoryShip()</strong>
</a>
</dt>
<dd>
<p>Builds a set of groups out of ship category.</p>
<h3>Return value</h3>
<p><em><a href="##(SET_GROUP)">#SET_GROUP</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SET_GROUP).FilterCategoryStructure" >
<strong>SET_GROUP:FilterCategoryStructure()</strong>
</a>
</dt>
<dd>
<p>Builds a set of groups out of structure category.</p>
<h3>Return value</h3>
<p><em><a href="##(SET_GROUP)">#SET_GROUP</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SET_GROUP).FilterCoalitions" >
<strong>SET_GROUP:FilterCoalitions(Coalitions)</strong>
</a>

View File

@ -822,6 +822,12 @@ and any spaces before and after the resulting name are removed.</p>
<td class="name" nowrap="nowrap"><a href="##(SPAWN)._TranslateRotate">SPAWN:_TranslateRotate(SpawnIndex, SpawnRootX, SpawnRootY, SpawnX, SpawnY, SpawnAngle)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).uncontrolled">SPAWN.uncontrolled</a></td>
<td class="summary">
</td>
</tr>
</table>
@ -2194,6 +2200,9 @@ The group that was spawned. You can use this group for further actions.</p>
<p> Don't repeat the group from Take-Off till Landing and back Take-Off by ReSpawning.</p>
</dd>
</dl>
<dl class="function">
@ -2740,9 +2749,6 @@ when nothing was spawned.</p>
<p> By default, no InitLimit</p>
</dd>
</dl>
<dl class="function">
@ -2778,7 +2784,7 @@ when nothing was spawned.</p>
<dl class="function">
<dt>
<em>#number</em>
<em></em>
<a id="#(SPAWN).SpawnMaxGroups" >
<strong>SPAWN.SpawnMaxGroups</strong>
</a>
@ -2795,7 +2801,7 @@ when nothing was spawned.</p>
<dl class="function">
<dt>
<em>#number</em>
<em></em>
<a id="#(SPAWN).SpawnMaxUnitsAlive" >
<strong>SPAWN.SpawnMaxUnitsAlive</strong>
</a>
@ -3123,7 +3129,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
<dl class="function">
<dt>
<em></em>
<em>#boolean</em>
<a id="#(SPAWN).SpawnUnControlled" >
<strong>SPAWN.SpawnUnControlled</strong>
</a>
@ -3727,6 +3733,20 @@ True = Continue Scheduler</p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(SPAWN).uncontrolled" >
<strong>SPAWN.uncontrolled</strong>
</a>
</dt>
<dd>
</dd>
</dl>

View File

@ -436,6 +436,7 @@ ptional) The name of the new static.</p>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(SPAWNSTATIC).SpawnIndex" >
<strong>SPAWNSTATIC.SpawnIndex</strong>
</a>

View File

@ -510,7 +510,7 @@ based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TA
<dl class="function">
<dt>
<em></em>
<em><a href="Core.Cargo.html##(CARGO_GROUP)">Core.Cargo#CARGO_GROUP</a></em>
<a id="#(FSM_PROCESS).Cargo" >
<strong>FSM_PROCESS.Cargo</strong>
</a>
@ -524,6 +524,7 @@ based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TA
<dl class="function">
<dt>
<em></em>
<a id="#(FSM_PROCESS).DeployZone" >
<strong>FSM_PROCESS.DeployZone</strong>
</a>