Files
MOOSE/Moose Training/Documentation/MOVEMENT.html
Sven Van de Velde c000675471 Progress, changed and reworked protocols
2016-08-14

- Changed Spawn APIs to express Group position and Unit position
randomization.

- Changed the API protocol of SpawnInZone() method.
-- Removed OuterRadius and InnerRadius parameters !!!

- Changed the API protocol of SpawnFromUnit() method.
-- Removed OuterRadius and InnerRadius parameters !!!

- Added InitRandomizeUnits() method, taking 3 parameters:
-- RandomizeUnits given the value true, will randomize the units upon
spawning, false (default) will not randomize the untis.
-- OuterRadius is the outer radius of the band where the units will be
spawned, if RandomizeUnits is true.
-- InnerRadius is the inner radius of the band where the units will not
be spawned, if RandomizeUnits is true.

- Removed SpawnFunction() method.

- Added OnSpawnGroup() method as the new official CallBack function
method to catch when a new function will be called.
-- Documented OnSpawnGroup() method.

- Renamed Limit() method to InitLimit() method.

- Renamed Array() method to InitArray() method.

- Renamed RandomizeRoute() method to InitRandomizeRoute() method.

- Renamed RandomizeTemplate() method to InitRandomizeTemplate() method.

- Reviewed all test missions for the changes executed and made adaptions
where necessary + re-tests.
2016-08-14 21:37:11 +02:00

307 lines
8.4 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" href="stylesheet.css" type="text/css"/>
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div>
<div id="main">
<div id="navigation">
<h2>Modules</h2>
<ul><li>
<a href="index.html">index</a>
</li></ul>
<ul>
<li><a href="AIBalancer.html">AIBalancer</a></li>
<li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li>
<li><a href="Base.html">Base</a></li>
<li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
<li><a href="DCSCommand.html">DCSCommand</a></li>
<li><a href="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li>
<li><a href="DCSTask.html">DCSTask</a></li>
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
<li><a href="DESTROYRADARSTASK.html">DESTROYRADARSTASK</a></li>
<li><a href="DESTROYUNITTYPESTASK.html">DESTROYUNITTYPESTASK</a></li>
<li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li>
<li><a href="GOHOMETASK.html">GOHOMETASK</a></li>
<li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li>
<li>MOVEMENT</li>
<li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="Mission.html">Mission</a></li>
<li><a href="NOTASK.html">NOTASK</a></li>
<li><a href="Object.html">Object</a></li>
<li><a href="PICKUPTASK.html">PICKUPTASK</a></li>
<li><a href="PatrolZone.html">PatrolZone</a></li>
<li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_Destroy.html">Process_Destroy</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="ROUTETASK.html">ROUTETASK</a></li>
<li><a href="STAGE.html">STAGE</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li>
<li><a href="Task_A2G.html">Task_A2G</a></li>
<li><a href="Task_Assign.html">Task_Assign</a></li>
<li><a href="Task_Client_Menu.html">Task_Client_Menu</a></li>
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_Route.html">Task_Route</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</a></li>
<li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul>
</div>
<div id="content">
<h1>Module <code>MOVEMENT</code></h1>
<p>Limit the simultaneous movement of Groups within a running Mission.</p>
<p>This module is defined to improve the performance in missions, and to bring additional realism for GROUND vehicles.
Performance: If in a DCSRTE there are a lot of moving GROUND units, then in a multi player mission, this WILL create lag if
the main DCS execution core of your CPU is fully utilized. So, this class will limit the amount of simultaneous moving GROUND units
on defined intervals (currently every minute).</p>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#MOVEMENT">MOVEMENT</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(MOVEMENT)" >Type <code>MOVEMENT</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(MOVEMENT).ClassName">MOVEMENT.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(MOVEMENT).New">MOVEMENT:New(MovePrefixes, MoveMaximum)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(MOVEMENT).OnBirth">MOVEMENT:OnBirth(Event)</a></td>
<td class="summary">
<p>Captures the birth events when new Units were spawned.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(MOVEMENT).OnDeadOrCrash">MOVEMENT:OnDeadOrCrash(Event)</a></td>
<td class="summary">
<p>Captures the Dead or Crash events when Units crash or are destroyed.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(MOVEMENT).ScheduleStart">MOVEMENT:ScheduleStart()</a></td>
<td class="summary">
<p>Call this function to start the MOVEMENT scheduling.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(MOVEMENT).ScheduleStop">MOVEMENT:ScheduleStop()</a></td>
<td class="summary">
<p>Call this function to stop the MOVEMENT scheduling.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(MOVEMENT)._Scheduler">MOVEMENT:_Scheduler()</a></td>
<td class="summary">
<p>This function is called automatically by the MOVEMENT scheduler.</p>
</td>
</tr>
</table>
<h2>Global(s)</h2>
<dl class="function">
<dt>
<em><a href="##(MOVEMENT)">#MOVEMENT</a></em>
<a id="MOVEMENT" >
<strong>MOVEMENT</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(MOVEMENT)" >Type <code>MOVEMENT</code></a></h2>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(MOVEMENT).ClassName" >
<strong>MOVEMENT.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(MOVEMENT).New" >
<strong>MOVEMENT:New(MovePrefixes, MoveMaximum)</strong>
</a>
</dt>
<dd>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em> MovePrefixes </em></code>: </p>
</li>
<li>
<p><code><em> MoveMaximum </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(MOVEMENT).OnBirth" >
<strong>MOVEMENT:OnBirth(Event)</strong>
</a>
</dt>
<dd>
<p>Captures the birth events when new Units were spawned.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> Event </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(MOVEMENT).OnDeadOrCrash" >
<strong>MOVEMENT:OnDeadOrCrash(Event)</strong>
</a>
</dt>
<dd>
<p>Captures the Dead or Crash events when Units crash or are destroyed.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> Event </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(MOVEMENT).ScheduleStart" >
<strong>MOVEMENT:ScheduleStart()</strong>
</a>
</dt>
<dd>
<p>Call this function to start the MOVEMENT scheduling.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(MOVEMENT).ScheduleStop" >
<strong>MOVEMENT:ScheduleStop()</strong>
</a>
</dt>
<dd>
<p>Call this function to stop the MOVEMENT scheduling.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(MOVEMENT)._Scheduler" >
<strong>MOVEMENT:_Scheduler()</strong>
</a>
</dt>
<dd>
<p>This function is called automatically by the MOVEMENT scheduler.</p>
<p>A new function is scheduled when MoveScheduled is true.</p>
</dd>
</dl>
</div>
</div>
</body>
</html>