jsge
Version:
Javascript Game Engine
919 lines (239 loc) • 12.5 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="expires" content="Wen, 05 Jun 2024 07:01:00 GMT">
<title>JSDoc: Class: IExtension</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="stage-title">Class: IExtension</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>IExtension</h2>
<div class="class-description">Class for creating modules
Accessed via ISystem.extensionInterface</div>
</header>
<article>
<div class="container-overview">
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="base_IExtension.js.html">base/IExtension.js</a>, <a href="base_IExtension.js.html#line7">line 7</a>
</li></ul></dd>
</dl>
</div>
<!--
<h3 class="subsection-title">Classes</h3>
<dl>
<dt><a href="IExtension.html">IExtension</a></dt>
<dd></dd>
</dl>
-->
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="registerAndCompileWebGlProgram"><span class="type-signature"></span>registerAndCompileWebGlProgram<span class="signature">(programName, vertexShader, fragmentShader, uVars, aVars)</span><span class="type-signature"> → {Promise.<void>}</span></h4>
<div class="description">
Used to register a new draw program
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>programName</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>vertexShader</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">raw vertex shader program</td>
</tr>
<tr>
<td class="name"><code>fragmentShader</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">raw fragment shader program</td>
</tr>
<tr>
<td class="name"><code>uVars</code></td>
<td class="type">
<span class="param-type">Array.<string></span>
</td>
<td class="description last">program uniform variables names</td>
</tr>
<tr>
<td class="name"><code>aVars</code></td>
<td class="type">
<span class="param-type">Array.<string></span>
</td>
<td class="description last">program attribute variables names</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="base_IExtension.js.html">base/IExtension.js</a>, <a href="base_IExtension.js.html#line37">line 37</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.<void></span>
</dd>
</dl>
<h4 class="name" id="registerDrawObject"><span class="type-signature"></span>registerDrawObject<span class="signature">(createInstanceKey, createInstanceMethod)</span><span class="type-signature"></span></h4>
<div class="description">
Is used for registering new Object in DrawObjectFactory, \
registered method could be then called with this.draw[createInstanceKey]
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>createInstanceKey</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">a key for calling method from DrawObjectFactory</td>
</tr>
<tr>
<td class="name"><code>createInstanceMethod</code></td>
<td class="type">
<span class="param-type">function</span>
</td>
<td class="description last">method</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="base_IExtension.js.html">base/IExtension.js</a>, <a href="base_IExtension.js.html#line24">line 24</a>
</li></ul></dd>
</dl>
<h4 class="name" id="registerObjectRender"><span class="type-signature"></span>registerObjectRender<span class="signature">(objectClassName, objectRenderMethod, objectWebGlDrawProgram)</span><span class="type-signature"></span></h4>
<div class="description">
Register render method for class.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>objectClassName</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">object name registered to DrawObjectFactory</td>
</tr>
<tr>
<td class="name"><code>objectRenderMethod</code></td>
<td class="type">
<span class="param-type">function</span>
</td>
<td class="description last">should be promise based returns vertices number and draw program</td>
</tr>
<tr>
<td class="name"><code>objectWebGlDrawProgram</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">a webgl program name previously registered with iExtension.registerAndCompileWebGlProgram()</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="base_IExtension.js.html">base/IExtension.js</a>, <a href="base_IExtension.js.html#line56">line 56</a>
</li></ul></dd>
</dl>
<h4 class="name" id="registerRenderInit"><span class="type-signature"></span>registerRenderInit<span class="signature">(method)</span><span class="type-signature"> → {void}</span></h4>
<div class="description">
Inject method to render.init stage. Should be Promise based.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>method</code></td>
<td class="type">
<span class="param-type">function</span>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="base_IExtension.js.html">base/IExtension.js</a>, <a href="base_IExtension.js.html#line46">line 46</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">void</span>
</dd>
</dl>
</article>
</section>
</div>
<nav>
<div class="switcher"><ul><li class="active"><a href="/">1.5.9</a></li></div>
<h2><a href="/">Home</a></h2><h3>Classes</h3><ul><li><a href="DrawCircleObject.html">DrawCircleObject</a></li><li><a href="DrawConusObject.html">DrawConusObject</a></li><li><a href="DrawImageObject.html">DrawImageObject</a></li><li><a href="DrawLineObject.html">DrawLineObject</a></li><li><a href="DrawObjectFactory.html">DrawObjectFactory</a></li><li><a href="DrawPolygonObject.html">DrawPolygonObject</a></li><li><a href="DrawRectObject.html">DrawRectObject</a></li><li><a href="DrawShapeObject.html">DrawShapeObject</a></li><li><a href="DrawTextObject.html">DrawTextObject</a></li><li><a href="DrawTiledLayer.html">DrawTiledLayer</a></li><li><a href="GameStage.html">GameStage</a></li><li><a href="GameStageData.html">GameStageData</a></li><li><a href="IExtension.html">IExtension</a></li><li><a href="INetwork.html">INetwork</a></li><li><a href="IRender.html">IRender</a></li><li><a href="ISystem.html">ISystem</a></li><li><a href="ISystemAudio.html">ISystemAudio</a></li><li><a href="RenderLoop.html">RenderLoop</a></li><li><a href="RenderLoopDebug.html">RenderLoopDebug</a></li><li><a href="System.html">System</a></li><li><a href="SystemSettings.html">SystemSettings</a></li></ul><h3>Tutorials</h3><ul><li><a href="tutorial-application_scheme.html">Application Scheme</a></li><li><a href="tutorial-assets_manager.html">Assets Manager</a></li><li><a href="tutorial-common_issues.html">Common Issues</a></li><li><a href="tutorial-how_to_add_and_use_audio.html">How to add and use audio</a></li><li><a href="tutorial-how_to_do_animations.html">How to Create Animations</a></li><li><a href="tutorial-how_to_load_and_use_tilemaps.html">How to Load and Use Tilemaps</a></li><li><a href="tutorial-quick_start.html">Quick Start</a></li><li><a href="tutorial-spine_animations.html">How to Add Spine Animations</a></li><li><a href="tutorial-stages_lifecycle.html">Stages Lifecycle</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Wed Jun 18 2025 06:53:54 GMT+0000 (Coordinated Universal Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>