mirror of
https://github.com/Insality/druid.git
synced 2025-06-27 10:27:47 +02:00
Update ldoc
This commit is contained in:
parent
7b2578c0ef
commit
d650c2393b
@ -185,7 +185,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -406,7 +406,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -215,7 +215,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -234,7 +234,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -405,7 +405,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -277,7 +277,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -239,7 +239,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -370,7 +370,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -236,7 +236,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -211,7 +211,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -181,7 +181,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -86,7 +86,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -240,7 +240,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -378,7 +378,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -239,7 +239,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -507,7 +507,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -278,7 +278,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -352,7 +352,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -307,7 +307,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -239,7 +239,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -750,7 +750,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -92,23 +92,66 @@
|
||||
|
||||
<p><a name="Button"></a></p>
|
||||
<h2>Button</h2>
|
||||
<p>Basic game button</p>
|
||||
<p>Basic Druid input component</p>
|
||||
|
||||
<ul>
|
||||
<li>Button callback have next params: (self, params, button_instance)
|
||||
|
||||
<pre>
|
||||
- **self** - Druid self context
|
||||
- **params** - Additional params, specified on button creating
|
||||
- **button_instance** - button itself
|
||||
</pre>
|
||||
</li>
|
||||
<li>Button have next events:
|
||||
|
||||
<pre>
|
||||
- **on_click** - basic button callback
|
||||
- **on_repeated_click** - repeated click callback, <span class="keyword">while</span> holding the button, don<span class="string">'t trigger if callback is empty
|
||||
- **on_long_click** - callback on long button tap, don'</span>t trigger <span class="keyword">if</span> callback is empty
|
||||
- **on_hold_click** - hold callback, before long_click trigger, don<span class="string">'t trigger if callback is empty
|
||||
- **on_double_click** - different callback, if tap button 2+ in row, don'</span>t trigger <span class="keyword">if</span> callback is empty
|
||||
</pre>
|
||||
</li>
|
||||
<li>If you have stencil on buttons and you don't want trigger them outside of stencil node, you can use <a href="../modules/druid.button.html#set_click_zone">button:set_click_zone</a> to restrict button click zone</li>
|
||||
<li>Button can have key trigger to use then by key: <a href="../modules/druid.button.html#set_key_trigger">button:set_key_trigger</a></li>
|
||||
</ul>
|
||||
|
||||
<p><a name="Text"></a></p>
|
||||
<h2>Text</h2>
|
||||
<p>Wrap on text node with text size adjusting</p>
|
||||
<p>Basic Druid text component</p>
|
||||
|
||||
<ul>
|
||||
<li>Text component by default have auto adjust text sizing. Text never will be more, than text size, which you can setup in gui scene. It can be disabled on component creating
|
||||
<img src="media/text_autosize.png" alt=""/></li>
|
||||
<li>Text pivot can be changed with <a href="../modules/druid.text.html#set_pivot">text:set_pivot</a>, and text will save their position inside their text size box:
|
||||
<img src="media/text_anchor.gif" alt=""/></li>
|
||||
</ul>
|
||||
|
||||
<p><a name="Blocker"></a></p>
|
||||
<h2>Blocker</h2>
|
||||
<p>Block input in node zone</p>
|
||||
<p>Druid component for block input</p>
|
||||
|
||||
<p>It can be used for block input in special zone.</p>
|
||||
|
||||
<p>Example:
|
||||
<img src="media/blocker_scheme.png" alt=""/></p>
|
||||
|
||||
<p>Blue zone is <strong>button</strong> with close_window callback </p>
|
||||
|
||||
<p>Yellow zone is blocker with window content</p>
|
||||
|
||||
<p>So you can do the safe zones, when you have the big buttons</p>
|
||||
|
||||
<p><a name="Back_Handler"></a></p>
|
||||
<h2>Back Handler</h2>
|
||||
<p>Handle back button (Android, backspace)</p>
|
||||
<p>Component to handle back button</p>
|
||||
|
||||
<p>It works on Android back button and Backspace. Key triggers in <code>input.binding</code> should be setup</p>
|
||||
|
||||
<p><a name="Locale"></a></p>
|
||||
<h2>Locale</h2>
|
||||
<p>Text component with handle localization system</p>
|
||||
<p>Wrap on Druid text component to handle localization</p>
|
||||
|
||||
<p><a name="Timer"></a></p>
|
||||
<h2>Timer</h2>
|
||||
@ -155,7 +198,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -35,6 +35,7 @@
|
||||
<li><a href="#Overview">Overview </a></li>
|
||||
<li><a href="#Custom_components">Custom components </a></li>
|
||||
<li><a href="#Best_practice_on_custom_components">Best practice on custom components </a></li>
|
||||
<li><a href="#Power_of_using_templates">Power of using templates </a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
@ -80,18 +81,20 @@
|
||||
|
||||
<p><a name="Overview"></a></p>
|
||||
<h2>Overview</h2>
|
||||
|
||||
<p>Druid allows you to create your custom components from druid basic components or other custom components</p>
|
||||
|
||||
|
||||
<p><a name="Custom_components"></a></p>
|
||||
<h2>Custom components</h2>
|
||||
|
||||
<p>Basic custom component template looks like this:</p>
|
||||
|
||||
<pre>
|
||||
<span class="keyword">local</span> const = <span class="global">require</span>(<span class="string">"druid.const"</span>)
|
||||
<span class="keyword">local</span> component = <span class="global">require</span>(<span class="string">"druid.component"</span>)
|
||||
|
||||
<span class="keyword">local</span> M = component.create(<span class="string">"your_component"</span>)
|
||||
<span class="keyword">local</span> M = component.create(<span class="string">"name_your_component"</span>)
|
||||
|
||||
<span class="comment">-- Component constructor
|
||||
</span><span class="keyword">function</span> M.init(self, ...)
|
||||
@ -150,7 +153,7 @@ There is next interests in druid:
|
||||
|
||||
<p><a name="Best_practice_on_custom_components"></a></p>
|
||||
<h2>Best practice on custom components</h2>
|
||||
<p>On each component recomended describe component scheme in next way:</p>
|
||||
<p>On each component recommended describe component scheme in next way:</p>
|
||||
|
||||
|
||||
<pre>
|
||||
@ -160,9 +163,9 @@ There is next interests in druid:
|
||||
<span class="keyword">local</span> M = component.create(<span class="string">"your_component"</span>)
|
||||
|
||||
<span class="keyword">local</span> SCHEME = {
|
||||
ROOT = <span class="string">"/root"</span>,
|
||||
ITEM = <span class="string">"/item"</span>,
|
||||
TITLE = <span class="string">"/title"</span>
|
||||
ROOT = <span class="string">"root"</span>,
|
||||
ITEM = <span class="string">"item"</span>,
|
||||
TITLE = <span class="string">"title"</span>
|
||||
}
|
||||
|
||||
<span class="keyword">function</span> M.init(self, template_name, node_table)
|
||||
@ -189,11 +192,17 @@ There is next interests in druid:
|
||||
|
||||
|
||||
|
||||
<p><a name="Power_of_using_templates"></a></p>
|
||||
<h2>Power of using templates</h2>
|
||||
|
||||
<p>You can use one component, but creating and customizing templates for them. Templates only requires to match the component scheme.</p>
|
||||
|
||||
|
||||
</div> <!-- id="content" -->
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -138,7 +138,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -89,7 +89,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -87,7 +87,7 @@
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
@ -34,7 +34,9 @@
|
||||
<ul>
|
||||
<li><a href="#Setup">Setup </a></li>
|
||||
<li><a href="#Components">Components </a></li>
|
||||
<li><a href="#Creating_components">Creating components </a></li>
|
||||
<li><a href="#Basic_usage">Basic usage </a></li>
|
||||
<li><a href="#Druid_Events">Druid Events </a></li>
|
||||
<li><a href="#Features">Features </a></li>
|
||||
<li><a href="#Examples">Examples </a></li>
|
||||
<li><a href="#Documentation">Documentation </a></li>
|
||||
<li><a href="#Games_powered_by_Druid">Games powered by Druid </a></li>
|
||||
@ -83,9 +85,7 @@
|
||||
|
||||
<a href="https://insality.github.io/druid/"><img src="media/druid_logo.png" alt=""/></a></p>
|
||||
|
||||
<p><a href="https://github.com/Insality/druid/releases"><img src="https://img.shields.io/github/v/release/insality/druid" alt="GitHub release (latest by date)"/></a></p>
|
||||
|
||||
<p><strong>Druid</strong> - powerful defold component UI library. Use basic druid components or make your own game-specific components to make amazing GUI in your games.</p>
|
||||
<p><strong>Druid</strong> - powerful defold component UI library. Use basic <strong>Druid</strong> components or make your own game-specific components to make amazing GUI in your games.</p>
|
||||
|
||||
|
||||
<p><a name="Setup"></a></p>
|
||||
@ -93,7 +93,7 @@
|
||||
|
||||
<h3>Dependency</h3>
|
||||
|
||||
<p>You can use the druid extension in your own project by adding this project as a <a href="https://www.defold.com/manuals/libraries/">Defold library dependency</a>. Open your game.project file and in the dependencies field under project add:</p>
|
||||
<p>You can use the <strong>Druid</strong> extension in your own project by adding this project as a <a href="https://www.defold.com/manuals/libraries/">Defold library dependency</a>. Open your game.project file and in the dependencies field under project add:</p>
|
||||
|
||||
<blockquote>
|
||||
<p><a href="https://github.com/Insality/druid/archive/master.zip">https://github.com/Insality/druid/archive/master.zip</a></p>
|
||||
@ -101,18 +101,42 @@
|
||||
|
||||
<p>Or point to the ZIP file of a <a href="https://github.com/Insality/druid/releases">specific release</a>.</p>
|
||||
|
||||
<h3>Input bindings</h3>
|
||||
|
||||
<h3>Code</h3>
|
||||
<p>For <strong>Druid</strong> to work requires next input bindings:</p>
|
||||
|
||||
<p>Adjust druid settings, if needed:</p>
|
||||
<ul>
|
||||
<li>Mouse trigger - <code>Button 1</code> -> <code>touch</code> <em>For basic input components</em></li>
|
||||
<li>Key trigger - <code>Backspace</code> -> <code>backspace</code> <em>For back</em>handler component_</li>
|
||||
<li>Key trigger - <code>Back</code> -> <a href="../modules/druid.text.html#">text</a> <em>For back</em>handler component, Android back button_</li>
|
||||
</ul>
|
||||
|
||||
<p><img src="media/input_binding.png" alt=""/></p>
|
||||
|
||||
|
||||
<h3>Input capturing [optional]</h3>
|
||||
|
||||
<p>By default, <strong>Druid</strong> will auto-capture input focus, if any input component will be created. So you don't need to call <code>msg.post(".", "acquire_input_focus)"</code></p>
|
||||
|
||||
<p>If you not need this behaviour, you can disable it by settings <code>druid.no_auto_input</code> field in <em>game.project</em>:</p>
|
||||
<pre><code> [druid]
|
||||
no_auto_input = 1
|
||||
</code></pre>
|
||||
|
||||
|
||||
<h3>Code [optional]</h3>
|
||||
|
||||
<p>Adjust <strong>Druid</strong> settings, if needed:</p>
|
||||
|
||||
<pre>
|
||||
<span class="keyword">local</span> druid = <span class="global">require</span>(<span class="string">"druid.druid"</span>)
|
||||
|
||||
<span class="comment">-- Used for button component and custom components
|
||||
</span><span class="comment">-- Callback should play sound by name
|
||||
</span>druid.set_sound_function(callback)
|
||||
|
||||
<span class="comment">-- Used for lang_text component
|
||||
</span><span class="comment">-- Callback should return localized string by locale id
|
||||
</span>druid.set_text_function(callback)
|
||||
|
||||
<span class="comment">-- Used for change default druid style
|
||||
@ -124,7 +148,7 @@
|
||||
<p><a name="Components"></a></p>
|
||||
<h2>Components</h2>
|
||||
|
||||
<p>Druid provides next basic components:
|
||||
<p><strong>Druid</strong> provides next basic components:
|
||||
- <strong>Button</strong> - Basic game button</p>
|
||||
|
||||
<ul>
|
||||
@ -147,18 +171,26 @@
|
||||
<p>Full info see on <em>components.md</em></p>
|
||||
|
||||
|
||||
<p><a name="Creating_components"></a></p>
|
||||
<h2>Creating components</h2>
|
||||
<p><a name="Basic_usage"></a></p>
|
||||
<h2>Basic usage</h2>
|
||||
|
||||
<p>For using <strong>Druid</strong>, first you should create Druid instance to spawn components. Pass to new Druid instance main engine functions: <em>update</em>, *on<em>message* and *on</em>input*</p>
|
||||
|
||||
<p>All <strong>Druid</strong> components as arguments can apply node name string, you can don't do <code>gui.get_node()</code> before</p>
|
||||
|
||||
<p>All <strong>Druid</strong> and component methods calling with <code>:</code> like <code>self.druid:new_button()</code></p>
|
||||
|
||||
<p>Any components creating via druid:</p>
|
||||
|
||||
<pre>
|
||||
<span class="keyword">local</span> druid = <span class="global">require</span>(<span class="string">"druid.druid"</span>)
|
||||
|
||||
<span class="keyword">local</span> <span class="keyword">function</span> button_callback(self)
|
||||
<span class="global">print</span>(<span class="string">"Button was clicked!"</span>)
|
||||
<span class="keyword">end</span>
|
||||
|
||||
<span class="keyword">local</span> <span class="keyword">function</span> init(self)
|
||||
self.druid = druid.new(self)
|
||||
<span class="keyword">local</span> button = self.druid:new_button(node_name, callback)
|
||||
<span class="keyword">local</span> text = self.druid:new_text(node_text_name)
|
||||
self.druid:new_button(<span class="string">"button_node_name"</span>, button_callback)
|
||||
<span class="keyword">end</span>
|
||||
|
||||
<span class="keyword">function</span> update(self, dt)
|
||||
@ -170,16 +202,36 @@
|
||||
<span class="keyword">end</span>
|
||||
|
||||
<span class="keyword">function</span> on_input(self, action_id, action)
|
||||
self.druid:on_input(action_id, action)
|
||||
<span class="keyword">return</span> self.druid:on_input(action_id, action)
|
||||
<span class="keyword">end</span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p><a name="Druid_Events"></a></p>
|
||||
<h2>Druid Events</h2>
|
||||
|
||||
<p>Any <strong>Druid</strong> components as callbacks uses Druid Events. In component API (<a href="https://insality.github.io/druid/modules/druid.button.html#Events">button example</a>) pointed list of component events. You can manually subscribe on this events by next API:</p>
|
||||
|
||||
<ul>
|
||||
<li><p><strong>event:subscribe</strong>(callback)</p></li>
|
||||
<li><p><strong>event:unsubscribe</strong>(callback)</p></li>
|
||||
<li><p><strong>event:clear</strong>()</p></li>
|
||||
</ul>
|
||||
|
||||
<p>Any events can handle several callbacks, if needed.</p>
|
||||
|
||||
<p><a name="Features"></a></p>
|
||||
<h2>Features</h2>
|
||||
|
||||
<ul>
|
||||
<li>Druid input goes as stack. Last created button will checked first. So create your GUI from back</li>
|
||||
<li>Don't forget about <code>return</code> in <code>on_input</code>: <code>return self.druid:on_input()</code>. It need, if you have more than 1 acquire inputs (several druid, other input system, etc)</li>
|
||||
</ul>
|
||||
|
||||
<p><a name="Examples"></a></p>
|
||||
<h2>Examples</h2>
|
||||
|
||||
<p>See the <a href="https://github.com/insality/druid/tree/develop/example/kenney">example folder</a> for examples of how to use Druid</p>
|
||||
<p>See the <a href="https://github.com/insality/druid/tree/develop/example/kenney">example folder</a> for examples of how to use <strong>Druid</strong></p>
|
||||
|
||||
<p>See the <a href="https://github.com/insality/druid-assets">druid-assets repository</a> for examples of how to create custom components and styles</p>
|
||||
|
||||
@ -189,13 +241,13 @@
|
||||
<p><a name="Documentation"></a></p>
|
||||
<h2>Documentation</h2>
|
||||
|
||||
<p>To learn druid better, read next documentation:
|
||||
- Druid components
|
||||
- Create custom components
|
||||
- Druid asset store
|
||||
- Druid Styles</p>
|
||||
<p>To learn <strong>Druid</strong> better, read next documentation:
|
||||
- <a href="https://insality.github.io/druid/topics/01-components.md.html">Druid components</a>
|
||||
- <a href="https://insality.github.io/druid/topics/02-creating_custom_components.md.html">Create custom components</a>
|
||||
- <a href="https://insality.github.io/druid/topics/03-styles.md.html">Druid styles</a>
|
||||
- <a href="https://insality.github.io/druid/topics/04-druid_assets.md.html">Druid asset store</a></p>
|
||||
|
||||
<p>Full druid documentation you can find here:
|
||||
<p>Full <strong>Druid</strong> documentation you can find here:
|
||||
https://insality.github.io/druid/</p>
|
||||
|
||||
|
||||
@ -211,7 +263,8 @@ https://insality.github.io/druid/</p>
|
||||
<ul>
|
||||
<li><p>Basic input component</p></li>
|
||||
<li><p>Add on<em>layout</em>change support (to keep gui data between layout change)</p></li>
|
||||
<li><p>Add on<em>change</em>language support (call single function to update all druid instance)</p></li>
|
||||
<li><p>Add on<em>change</em>language support (call single function to update all Druid instance)</p></li>
|
||||
<li><p>Unit tests</p></li>
|
||||
<li><p>Better documentation and examples</p></li>
|
||||
<li><p>Add more comfortable gamepad support for GUI (ability to select button with DPAD and other stuff)</p></li>
|
||||
</ul>
|
||||
@ -224,19 +277,21 @@ https://insality.github.io/druid/</p>
|
||||
|
||||
<p>Developed and supporting by <a href="https://github.com/Insality">Insality</a></p>
|
||||
|
||||
<p>Assets from <a href="http://www.kenney.nl/">Kenney</a></p>
|
||||
|
||||
<p>MIT License</p>
|
||||
|
||||
|
||||
<p><a name="Issues_and_suggestions"></a></p>
|
||||
<h2>Issues and suggestions</h2>
|
||||
|
||||
<p>If you have any issues, questions or suggestions please <a href="https://github.com/Insality/druid/issues">create an issue</a> or contact me: <a href="mailto:insality@gmail.com">insality@gmail.com</a>
|
||||
<p>If you have any issues, questions or suggestions please <a href="https://github.com/Insality/druid/issues">create an issue</a> or contact me: <a href="mailto:insality@gmail.com">insality@gmail.com</a>
|
||||
|
||||
</div> <!-- id="content" -->
|
||||
</div> <!-- id="main" -->
|
||||
<div id="about">
|
||||
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
|
||||
<i style="float:right;">Last updated 2020-03-22 02:23:51 </i>
|
||||
<i style="float:right;">Last updated 2020-03-22 12:55:11 </i>
|
||||
</div> <!-- id="about" -->
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
|
Loading…
x
Reference in New Issue
Block a user