mirror of
https://github.com/TombEngine/TombEngine.git
synced 2025-04-28 15:57:59 +03:00
379 lines
14 KiB
HTML
379 lines
14 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
|
<head>
|
|
<title>TombEngine 1.8.1 Lua API</title>
|
|
<link rel="stylesheet" href="../ldoc.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> <!-- id="product" -->
|
|
|
|
|
|
<div id="main">
|
|
|
|
|
|
<!-- Menu -->
|
|
|
|
<div id="navigation">
|
|
<br/>
|
|
<h1> TombEngine</h1>
|
|
|
|
<ul>
|
|
<li><a href="../index.html">Index</a></li>
|
|
</ul>
|
|
|
|
<h2>1 Modules</h2>
|
|
<ul class="nowrap">
|
|
<li> <a href="../1 modules/Effects.html">Effects</a></li>
|
|
<li> <a href="../1 modules/Flow.html">Flow</a></li>
|
|
<li> <a href="../1 modules/Input.html">Input</a></li>
|
|
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
|
|
<li> <a href="../1 modules/Logic.html">Logic</a></li>
|
|
<li> <a href="../1 modules/Objects.html">Objects</a></li>
|
|
<li> <a href="../1 modules/Sound.html">Sound</a></li>
|
|
<li> <a href="../1 modules/Strings.html">Strings</a></li>
|
|
<li> <a href="../1 modules/Util.html">Util</a></li>
|
|
<li> <a href="../1 modules/View.html">View</a></li>
|
|
</ul>
|
|
<h2>2 Classes</h2>
|
|
<ul class="nowrap">
|
|
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
|
|
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
|
|
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
|
|
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
|
|
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
|
|
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
|
|
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
|
|
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
|
|
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
|
|
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
|
|
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
|
|
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
|
|
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
|
|
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
|
|
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
|
|
</ul>
|
|
<h2>3 Primitive Classes</h2>
|
|
<ul class="nowrap">
|
|
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
|
|
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
|
|
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
|
|
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
|
|
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
|
|
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
|
|
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
|
|
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
|
|
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
|
|
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
|
|
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
|
|
</ul>
|
|
<h2>4 Enums</h2>
|
|
<ul class="nowrap">
|
|
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
|
|
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
|
|
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
|
|
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
|
|
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
|
|
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
|
|
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
|
|
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
|
|
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
|
|
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
|
|
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
|
|
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
|
|
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
|
|
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
|
|
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
|
|
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
|
|
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
|
|
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
|
|
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
|
|
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
|
|
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
|
|
<li> <a href="../4 enums/View.PostProcessMode.html">View.PostProcessMode</a></li>
|
|
<li> <a href="../4 enums/View.ScaleMode.html">View.ScaleMode</a></li>
|
|
</ul>
|
|
<h2>5 Lua utility modules</h2>
|
|
<ul class="nowrap">
|
|
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
|
|
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
|
|
<li> <here>EventSequence</here></li>
|
|
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
|
|
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
<div id="content">
|
|
|
|
<h1>Lua utility module <code>EventSequence</code></h1>
|
|
<p>Event sequence - a chain of functions to call at specified times, modeled after TRNG's organizers.</p>
|
|
<p>
|
|
|
|
|
|
<p> Works atop the Timer, and so is updated automatically pre-OnControlPhase, and saved automatically when the game is saved.</p>
|
|
|
|
<p> Example usage:</p>
|
|
|
|
<pre>
|
|
<span class="keyword">local</span> EventSequence = <span class="global">require</span>(<span class="string">"Engine.EventSequence"</span>)
|
|
|
|
<span class="comment">-- These will be called by the sequence
|
|
</span>LevelFuncs.HealLara = <span class="keyword">function</span>()
|
|
Lara:SetHP(Lara:GetHP()+<span class="number">10</span>)
|
|
<span class="keyword">end</span>
|
|
|
|
<span class="keyword">local</span> nSpawned = <span class="number">0</span>
|
|
LevelFuncs.SpawnBaddy = <span class="keyword">function</span>(baddy, name, pos)
|
|
<span class="keyword">local</span> myBaddy = TEN.Objects.Moveable(baddy, name..nSpawned, pos, <span class="keyword">nil</span>, <span class="number">0</span>)
|
|
myBaddy:Enable()
|
|
nSpawned = nSpawned + <span class="number">1</span>
|
|
<span class="keyword">end</span>
|
|
|
|
<span class="comment">-- This function triggers the sequence
|
|
</span>LevelFuncs.TriggerSequence = <span class="keyword">function</span>(obj)
|
|
<span class="keyword">local</span> posSteve = TEN.Objects.GetMoveableByName(<span class="string">"stevePosNullmesh"</span>):GetPosition()
|
|
<span class="keyword">local</span> posChris = TEN.Objects.GetMoveableByName(<span class="string">"chrisPosNullmesh"</span>):GetPosition()
|
|
<span class="keyword">local</span> mySeq = EventSequence.Get(<span class="string">"my_seq"</span>)
|
|
<span class="keyword">if</span> <span class="keyword">not</span> mySeq <span class="keyword">then</span>
|
|
mySeq = EventSequence.Create(<span class="string">"my_seq"</span>,
|
|
<span class="keyword">false</span>, <span class="comment">-- does not loop
|
|
</span> {seconds = <span class="keyword">true</span>, deciseconds = <span class="keyword">true</span>}, <span class="comment">-- timer format, see Timer for details
|
|
</span> <span class="number">6</span>, <span class="comment">-- seconds until call the function specified in next arg
|
|
</span> LevelFuncs.HealLara, <span class="comment">-- first function to call. If we don't need to pass any arguments, we can just pass the function
|
|
</span> <span class="number">2.1</span>, <span class="comment">-- seconds until the next function, after the previous one has been called
|
|
</span> {LevelFuncs.SpawnBaddy, TEN.Objects.ObjID.BADDY1, <span class="string">"steve"</span>, posSteve}, <span class="comment">-- if we DO want to pass arguments to the function to be called, we give a table with the function (LevelFuncs.SpawnBaddy in this case) followed by the args to pass to it
|
|
</span> <span class="number">0.5</span>,
|
|
{LevelFuncs.SpawnBaddy, TEN.Objects.ObjID.SAS_CAIRO, <span class="string">"chris"</span>, posChris},
|
|
<span class="number">1</span>,
|
|
LevelFuncs.HealLara)
|
|
<span class="keyword">end</span>
|
|
|
|
<span class="comment">-- event sequences are inactive to begin with and so need to be started
|
|
</span> mySeq:Start()
|
|
<span class="keyword">end</span>
|
|
</pre>
|
|
|
|
</p>
|
|
|
|
|
|
<h2><a href="#Functions">Functions</a></h2>
|
|
<table class="function_list">
|
|
<tr>
|
|
<td class="name" ><a href="#Create">Create(name, loop, timerFormat, [...])</a></td>
|
|
<td class="summary">Create (but do not start) a new event sequence.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" ><a href="#Get">Get(name)</a></td>
|
|
<td class="summary">Get an event sequence by its name.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" ><a href="#mySequence:SetPaused">mySequence:SetPaused(p)</a></td>
|
|
<td class="summary">Pause or unpause the sequence.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" ><a href="#mySequence:IsPaused">mySequence:IsPaused()</a></td>
|
|
<td class="summary">Get whether or not the sequence is paused</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" ><a href="#mySequence:Start">mySequence:Start()</a></td>
|
|
<td class="summary">Begin or unpause a sequence.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" ><a href="#mySequence:Stop">mySequence:Stop()</a></td>
|
|
<td class="summary">Stop the sequence.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" ><a href="#mySequence:IsActive">mySequence:IsActive()</a></td>
|
|
<td class="summary">Get whether or not the sequence is active</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br/>
|
|
<br/>
|
|
|
|
|
|
<h2 class="section-header "><a name="Functions"></a>Functions</h2>
|
|
|
|
<dl class="function">
|
|
<dt>
|
|
<a name = "Create"></a>
|
|
<strong>Create(name, loop, timerFormat, [...])</strong>
|
|
</dt>
|
|
<dd>
|
|
Create (but do not start) a new event sequence.
|
|
|
|
|
|
|
|
<h3>Parameters:</h3>
|
|
<ul>
|
|
<li><span class="parameter">name</span>
|
|
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
|
|
A label to give the sequence; used to retrieve the timer later as well as internally by TEN.
|
|
</li>
|
|
<li><span class="parameter">loop</span>
|
|
<span class="types"><span class="type">bool</span></span>
|
|
if true, the sequence will start again from its first timer once its final function has been called
|
|
</li>
|
|
<li><span class="parameter">timerFormat</span>
|
|
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.6">table</a> or <span class="type">bool</span></span>
|
|
same as in Timer. This is mainly for debugging. <strong>This will not work properly if another sequence or timer is showing a countdown.</strong>
|
|
</li>
|
|
<li><span class="parameter">...</span>
|
|
a variable number of pairs of arguments - a time in seconds, followed by the function (must be defined in the LevelFuncs table) to call once the time has elapsed, followed by another duration in seconds, another function name, etc. You can specify a function either by its name as a string, or by a table with the function name as the first member, followed by its arguments (see above example).
|
|
<em>Optional.</em>
|
|
</li>
|
|
</ul>
|
|
|
|
<h3>Returns:</h3>
|
|
<ol>
|
|
|
|
<span class="types"><a class="type" href="../5 lua utility modules/EventSequence.html#">EventSequence</a></span>
|
|
The inactive sequence.
|
|
</ol>
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
<dt>
|
|
<a name = "Get"></a>
|
|
<strong>Get(name)</strong>
|
|
</dt>
|
|
<dd>
|
|
Get an event sequence by its name.
|
|
|
|
|
|
|
|
<h3>Parameters:</h3>
|
|
<ul>
|
|
<li><span class="parameter">name</span>
|
|
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
|
|
The label that was given to the sequence when it was created
|
|
</li>
|
|
</ul>
|
|
|
|
<h3>Returns:</h3>
|
|
<ol>
|
|
|
|
<span class="types"><a class="type" href="../5 lua utility modules/EventSequence.html#">EventSequence</a></span>
|
|
The sequence
|
|
</ol>
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
<dt>
|
|
<a name = "mySequence:SetPaused"></a>
|
|
<strong>mySequence:SetPaused(p)</strong>
|
|
</dt>
|
|
<dd>
|
|
Pause or unpause the sequence. If showing the remaining time on-screen, its color will be set to yellow (paused) or white (unpaused).
|
|
|
|
|
|
|
|
<h3>Parameters:</h3>
|
|
<ul>
|
|
<li><span class="parameter">p</span>
|
|
<span class="types"><span class="type">bool</span></span>
|
|
if true, the sequence will be paused; if false, it will be unpaused
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
<dt>
|
|
<a name = "mySequence:IsPaused"></a>
|
|
<strong>mySequence:IsPaused()</strong>
|
|
</dt>
|
|
<dd>
|
|
Get whether or not the sequence is paused
|
|
|
|
|
|
|
|
|
|
<h3>Returns:</h3>
|
|
<ol>
|
|
|
|
<span class="types"><span class="type">bool</span></span>
|
|
true if the timer is paused, false if otherwise
|
|
</ol>
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
<dt>
|
|
<a name = "mySequence:Start"></a>
|
|
<strong>mySequence:Start()</strong>
|
|
</dt>
|
|
<dd>
|
|
Begin or unpause a sequence. If showing the remaining time on-screen, its color will be set to white.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
<dt>
|
|
<a name = "mySequence:Stop"></a>
|
|
<strong>mySequence:Stop()</strong>
|
|
</dt>
|
|
<dd>
|
|
Stop the sequence.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
<dt>
|
|
<a name = "mySequence:IsActive"></a>
|
|
<strong>mySequence:IsActive()</strong>
|
|
</dt>
|
|
<dd>
|
|
Get whether or not the sequence is active
|
|
|
|
|
|
|
|
|
|
<h3>Returns:</h3>
|
|
<ol>
|
|
|
|
<span class="types"><span class="type">bool</span></span>
|
|
true if the sequence is active, false if otherwise
|
|
</ol>
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
</dl>
|
|
|
|
|
|
</div> <!-- id="content" -->
|
|
</div> <!-- id="main" -->
|
|
<div id="about">
|
|
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
|
|
</div> <!-- id="about" -->
|
|
</div> <!-- id="container" -->
|
|
</body>
|
|
</html>
|