summaryrefslogtreecommitdiffhomepage
path: root/docs/FelFlame/Entities.html
diff options
context:
space:
mode:
authorrealtradam <[email protected]>2021-12-30 07:28:14 -0500
committerrealtradam <[email protected]>2021-12-30 07:28:14 -0500
commitd03ce21592062aed27a571fda60483fcb3fba764 (patch)
treeb82c99051b378c18ad4a8af98292681869dfa5a7 /docs/FelFlame/Entities.html
parent38e1a046dcc0ecf5e3ec672ca466f02038b86a02 (diff)
downloadFelECS-arry.tar.gz
FelECS-arry.zip
Diffstat (limited to 'docs/FelFlame/Entities.html')
-rw-r--r--docs/FelFlame/Entities.html229
1 files changed, 188 insertions, 41 deletions
diff --git a/docs/FelFlame/Entities.html b/docs/FelFlame/Entities.html
index 2dd13c9..aca4cac 100644
--- a/docs/FelFlame/Entities.html
+++ b/docs/FelFlame/Entities.html
@@ -154,6 +154,30 @@
<li class="public ">
<span class="summary_signature">
+ <a href="#component-instance_method" title="#component (instance method)">#<strong>component</strong>(manager = nil) &#x21d2; Component </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'>
+<p>A single component from a component manager.</p>
+</div></span>
+
+</li>
+
+
+ <li class="public ">
+ <span class="summary_signature">
+
<a href="#components-instance_method" title="#components (instance method)">#<strong>components</strong> &#x21d2; Hash&lt;Component_Manager, Array&lt;Integer&gt;&gt; </a>
@@ -306,7 +330,14 @@
9
10
11
-12</pre>
+12
+13
+14
+15
+16
+17
+18
+19</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/felflame/entity_manager.rb', line 7</span>
@@ -315,6 +346,13 @@
<span class='comment'># Add each component
</span> <span class='id identifier rubyid_add'>add</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_components'>components</span><span class='rparen'>)</span>
+ <span class='comment'># Fancy method redirection for when the `component` method is called
+</span> <span class='ivar'>@component_redirect</span> <span class='op'>=</span> <span class='const'>Object</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
+ <span class='ivar'>@component_redirect</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='symbol'>:@entity</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
+ <span class='ivar'>@component_redirect</span><span class='period'>.</span><span class='id identifier rubyid_define_singleton_method'>define_singleton_method</span><span class='lparen'>(</span><span class='symbol'>:[]</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_component_manager'>component_manager</span><span class='op'>|</span>
+ <span class='id identifier rubyid_instance_variable_get'>instance_variable_get</span><span class='lparen'>(</span><span class='symbol'>:@entity</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_component'>component</span><span class='lparen'>(</span><span class='id identifier rubyid_component_manager'>component_manager</span><span class='rparen'>)</span>
+ <span class='kw'>end</span>
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid__data'>_data</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span> <span class='kw'>self</span>
<span class='kw'>end</span></pre>
</td>
@@ -393,23 +431,23 @@
<pre class="lines">
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49</pre>
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'lib/felflame/entity_manager.rb', line 36</span>
+ <pre class="code"><span class="info file"># File 'lib/felflame/entity_manager.rb', line 63</span>
<span class='kw'>def</span> <span class='id identifier rubyid_add'>add</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_components_to_add'>components_to_add</span><span class='rparen'>)</span>
<span class='id identifier rubyid_components_to_add'>components_to_add</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_component'>component</span><span class='op'>|</span>
@@ -431,6 +469,109 @@
</div>
<div class="method_details ">
+ <h3 class="signature " id="component-instance_method">
+
+ #<strong>component</strong>(manager = nil) &#x21d2; <tt>Component</tt>
+
+
+
+
+
+</h3><div class="docstring">
+ <div class="discussion">
+
+<p>A single component from a component manager. Use this if you expect the component to only belong to one entity and you want to access it. Access the component using either parameter notation or array notation.</p>
+
+
+ </div>
+</div>
+<div class="tags">
+
+ <div class="examples">
+ <p class="tag_title">Examples:</p>
+
+
+ <pre class="example code"><code><span class='ivar'>@entity</span><span class='period'>.</span><span class='id identifier rubyid_component'>component</span><span class='lbracket'>[</span><span class='ivar'>@component_manager</span><span class='rbracket'>]</span> <span class='comment'># array notation
+</span><span class='ivar'>@entity</span><span class='period'>.</span><span class='id identifier rubyid_component'>component</span><span class='lparen'>(</span><span class='ivar'>@component_manager</span><span class='rparen'>)</span> <span class='comment'># method notation</span></code></pre>
+
+ </div>
+<p class="tag_title">Parameters:</p>
+<ul class="param">
+
+ <li>
+
+ <span class='name'>manager</span>
+
+
+ <span class='type'>(<tt><span class='object_link'><a href="ComponentManager.html" title="FelFlame::ComponentManager (class)">ComponentManager</a></span></tt>)</span>
+
+
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
+
+
+ &mdash;
+ <div class='inline'>
+<p>If you pass nil you can then use array notation to access the same value.</p>
+</div>
+
+ </li>
+
+</ul>
+
+<p class="tag_title">Returns:</p>
+<ul class="return">
+
+ <li>
+
+
+ <span class='type'>(<tt>Component</tt>)</span>
+
+
+
+ </li>
+
+</ul>
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'lib/felflame/entity_manager.rb', line 33</span>
+
+<span class='kw'>def</span> <span class='id identifier rubyid_component'>component</span><span class='lparen'>(</span><span class='id identifier rubyid_manager'>manager</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
+ <span class='kw'>if</span> <span class='id identifier rubyid_manager'>manager</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
+ <span class='ivar'>@component_redirect</span>
+ <span class='kw'>else</span>
+ <span class='kw'>if</span> <span class='id identifier rubyid_components'>components</span><span class='lbracket'>[</span><span class='id identifier rubyid_manager'>manager</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
+ <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>This entity(</span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='embexpr_end'>}</span><span class='tstring_content'>) doesnt have any components of this type: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_manager'>manager</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_components'>components</span><span class='lbracket'>[</span><span class='id identifier rubyid_manager'>manager</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>&gt;</span> <span class='int'>1</span>
+ <span class='const'>Warning</span><span class='period'>.</span><span class='id identifier rubyid_warn'>warn</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>This entity has MANY of this component but you called the method that is intended for having a single of this component type.\nYou may have a bug in your logic.</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
+ <span class='kw'>end</span>
+ <span class='id identifier rubyid_components'>components</span><span class='lbracket'>[</span><span class='id identifier rubyid_manager'>manager</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
+ <span class='kw'>end</span>
+<span class='kw'>end</span></pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+ <div class="method_details ">
<h3 class="signature " id="components-instance_method">
#<strong>components</strong> &#x21d2; <tt>Hash&lt;Component_Manager, Array&lt;Integer&gt;&gt;</tt>
@@ -469,12 +610,12 @@
<pre class="lines">
-16
-17
-18</pre>
+23
+24
+25</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'lib/felflame/entity_manager.rb', line 16</span>
+ <pre class="code"><span class="info file"># File 'lib/felflame/entity_manager.rb', line 23</span>
<span class='kw'>def</span> <span class='id identifier rubyid_components'>components</span>
<span class='ivar'>@components</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
@@ -528,19 +669,19 @@
<pre class="lines">
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31</pre>
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'lib/felflame/entity_manager.rb', line 22</span>
+ <pre class="code"><span class="info file"># File 'lib/felflame/entity_manager.rb', line 49</span>
<span class='kw'>def</span> <span class='id identifier rubyid_delete'>delete</span>
<span class='id identifier rubyid_components'>components</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_component_manager'>component_manager</span><span class='comma'>,</span> <span class='id identifier rubyid_component_array'>component_array</span><span class='op'>|</span>
@@ -621,23 +762,29 @@
<pre class="lines">
-66
-67
-68
-69
-70
-71
-72
-73</pre>
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'lib/felflame/entity_manager.rb', line 66</span>
+ <pre class="code"><span class="info file"># File 'lib/felflame/entity_manager.rb', line 93</span>
<span class='kw'>def</span> <span class='id identifier rubyid_remove'>remove</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_components_to_remove'>components_to_remove</span><span class='rparen'>)</span>
<span class='id identifier rubyid_components_to_remove'>components_to_remove</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_component'>component</span><span class='op'>|</span>
<span class='id identifier rubyid_check_systems'>check_systems</span> <span class='id identifier rubyid_component'>component</span><span class='comma'>,</span> <span class='symbol'>:removal_triggers</span> <span class='kw'>if</span> <span class='id identifier rubyid_component'>component</span><span class='period'>.</span><span class='id identifier rubyid_entities'>entities</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span> <span class='kw'>self</span>
<span class='id identifier rubyid_component'>component</span><span class='period'>.</span><span class='id identifier rubyid_entities'>entities</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span> <span class='kw'>self</span>
<span class='id identifier rubyid_components'>components</span><span class='lbracket'>[</span><span class='id identifier rubyid_component'>component</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span> <span class='id identifier rubyid_component'>component</span>
+ <span class='kw'>if</span> <span class='id identifier rubyid_components'>components</span><span class='lbracket'>[</span><span class='id identifier rubyid_component'>component</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
+ <span class='id identifier rubyid_components'>components</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span> <span class='id identifier rubyid_component'>component</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span>
+ <span class='kw'>end</span>
<span class='kw'>end</span>
<span class='kw'>true</span>
<span class='kw'>end</span></pre>
@@ -651,7 +798,7 @@
</div>
<div id="footer">
- Generated on Thu Dec 30 04:25:43 2021 by
+ Generated on Thu Dec 30 07:28:05 2021 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.26 (ruby-2.7.3).
</div>