summaryrefslogtreecommitdiffhomepage
path: root/docs/FelFlame
diff options
context:
space:
mode:
authorrealtradam <[email protected]>2021-06-11 02:14:57 -0400
committerrealtradam <[email protected]>2021-06-11 02:14:57 -0400
commit3ad8d2531329c1696a2bf86db8db9237309281ab (patch)
tree425ec6ded13c8c20cfb087a7a68cfe4c8e8deeea /docs/FelFlame
parent1145a2bf43d87256676f49ae9612ff0c49cd5901 (diff)
downloadFelECS-3ad8d2531329c1696a2bf86db8db9237309281ab.tar.gz
FelECS-3ad8d2531329c1696a2bf86db8db9237309281ab.zip
general cleanup
Diffstat (limited to 'docs/FelFlame')
-rw-r--r--docs/FelFlame/Components.html77
-rw-r--r--docs/FelFlame/Entities.html220
-rw-r--r--docs/FelFlame/Helper.html8
-rw-r--r--docs/FelFlame/Helper/ComponentManager.html1077
-rw-r--r--docs/FelFlame/Helper/ComponentManagerTemplate.html67
-rw-r--r--docs/FelFlame/Systems.html4
6 files changed, 1340 insertions, 113 deletions
diff --git a/docs/FelFlame/Components.html b/docs/FelFlame/Components.html
index fdb54c0..633c5fb 100644
--- a/docs/FelFlame/Components.html
+++ b/docs/FelFlame/Components.html
@@ -111,7 +111,7 @@
<p>Creates component managers and allows accessing them them under the <span class='object_link'><a href="" title="FelFlame::Components (class)">Components</a></span> namespace as Constants</p>
-<p>To see how component managers are used please look at the <span class='object_link'><a href="Helper/ComponentManagerTemplate.html" title="FelFlame::Helper::ComponentManagerTemplate (class)">Helper::ComponentManagerTemplate</a></span> documentation.</p>
+<p>To see how component managers are used please look at the Helper::ComponentManagerTemplate documentation.</p>
<p>TODO: Improve Component overview</p>
@@ -163,7 +163,7 @@
<li class="public ">
<span class="summary_signature">
- <a href="#new-class_method" title="new (class method)">.<strong>new</strong>(component_name, *attrs, **attrs_with_defaults) &#x21d2; Object </a>
+ <a href="#new-class_method" title="new (class method)">.<strong>new</strong>(component_name, *attrs, **attrs_with_defaults) &#x21d2; ComponentManager </a>
@@ -178,7 +178,7 @@
<span class="summary_desc"><div class='inline'>
-<p>Creates a new component manager.</p>
+<p>Creates a new <span class='object_link'><a href="Helper/ComponentManager.html" title="FelFlame::Helper::ComponentManager (class)">component manager</a></span>.</p>
</div></span>
</li>
@@ -206,7 +206,7 @@
</h3><div class="docstring">
<div class="discussion">
-<p>Iterate over all existing component managers. You also call other enumerable methods instead of each, such as `each_with_index` or `select`</p>
+<p>Iterate over all existing component managers. You also call other enumerable methods instead of each, such as <code>each_with_index</code> or <code>select</code></p>
</div>
@@ -233,12 +233,12 @@
<pre class="lines">
-32
-33
-34</pre>
+41
+42
+43</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'component_manager.rb', line 32</span>
+ <pre class="code"><span class="info file"># File 'component_manager.rb', line 41</span>
<span class='kw'>def</span> <span class='id identifier rubyid_each'>each</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
<span class='id identifier rubyid_constants'>constants</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
@@ -251,7 +251,7 @@
<div class="method_details ">
<h3 class="signature " id="new-class_method">
- .<strong>new</strong>(component_name, *attrs, **attrs_with_defaults) &#x21d2; <tt>Object</tt>
+ .<strong>new</strong>(component_name, *attrs, **attrs_with_defaults) &#x21d2; <tt>ComponentManager</tt>
@@ -260,13 +260,25 @@
</h3><div class="docstring">
<div class="discussion">
-<p>Creates a new component manager.</p>
+<p>Creates a new <span class='object_link'><a href="Helper/ComponentManager.html" title="FelFlame::Helper::ComponentManager (class)">component manager</a></span>.</p>
</div>
</div>
<div class="tags">
- <p class="tag_title">Parameters:</p>
+
+ <div class="examples">
+ <p class="tag_title">Examples:</p>
+
+
+ <pre class="example code"><code><span class='comment'># Here color is set to default to red
+</span><span class='comment'># while max and current are nil until set.
+</span><span class='comment'># When you make a new component using this component manager
+</span><span class='comment'># these are the values and accessors it will have.
+</span><span class='const'><span class='object_link'><a href="../FelFlame.html" title="FelFlame (class)">FelFlame</a></span></span><span class='op'>::</span><span class='const'>Component</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Health</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='symbol'>:max</span><span class='comma'>,</span> <span class='symbol'>:current</span><span class='comma'>,</span> <span class='label'>color:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>red</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span></code></pre>
+
+ </div>
+<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
@@ -306,7 +318,7 @@
<span class='name'>attrs_with_defaults</span>
- <span class='type'>(<tt>Keywords</tt>)</span>
+ <span class='type'>(<tt>Keyword: DefaultValue</tt>)</span>
@@ -319,6 +331,19 @@
</ul>
+<p class="tag_title">Returns:</p>
+<ul class="return">
+
+ <li>
+
+
+ <span class='type'>(<tt>ComponentManager</tt>)</span>
+
+
+
+ </li>
+
+</ul>
</div><table class="source_code">
<tr>
@@ -326,26 +351,27 @@
<pre class="lines">
-15
-16
-17
-18
-19
-20
-21
-22
23
24
25
26
27
-28</pre>
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'component_manager.rb', line 15</span>
+ <pre class="code"><span class="info file"># File 'component_manager.rb', line 23</span>
<span class='kw'>def</span> <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_component_name'>component_name</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_attrs'>attrs</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_attrs_with_defaults'>attrs_with_defaults</span><span class='rparen'>)</span>
- <span class='id identifier rubyid_const_set'>const_set</span><span class='lparen'>(</span><span class='id identifier rubyid_component_name'>component_name</span><span class='comma'>,</span> <span class='const'>Class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="../FelFlame.html" title="FelFlame (class)">FelFlame</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Helper.html" title="FelFlame::Helper (class)">Helper</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Helper/ComponentManagerTemplate.html" title="FelFlame::Helper::ComponentManagerTemplate (class)">ComponentManagerTemplate</a></span></span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
+ <span class='id identifier rubyid_const_set'>const_set</span><span class='lparen'>(</span><span class='id identifier rubyid_component_name'>component_name</span><span class='comma'>,</span> <span class='const'>Class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="../FelFlame.html" title="FelFlame (class)">FelFlame</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Helper.html" title="FelFlame::Helper (class)">Helper</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Helper/ComponentManager.html" title="FelFlame::Helper::ComponentManager (class)">ComponentManager</a></span></span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
<span class='id identifier rubyid_attrs'>attrs</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_attr'>attr</span><span class='op'>|</span>
<span class='const'><span class='object_link'><a href="../FelFlame.html" title="FelFlame (class)">FelFlame</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="FelFlame::Components (class)">Components</a></span></span><span class='period'>.</span><span class='id identifier rubyid_const_get'>const_get</span><span class='lparen'>(</span><span class='id identifier rubyid_component_name'>component_name</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='id identifier rubyid_attr'>attr</span>
<span class='kw'>end</span>
@@ -357,6 +383,7 @@
<span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>@</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_attr'>attr</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_default'>default</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
+ <span class='const'><span class='object_link'><a href="../FelFlame.html" title="FelFlame (class)">FelFlame</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="FelFlame::Components (class)">Components</a></span></span><span class='period'>.</span><span class='id identifier rubyid_const_get'>const_get</span><span class='lparen'>(</span><span class='id identifier rubyid_component_name'>component_name</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
@@ -368,9 +395,9 @@
</div>
<div id="footer">
- Generated on Thu Jun 10 12:12:44 2021 by
+ Generated on Fri Jun 11 01:49:32 2021 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
- 0.9.26 (ruby-2.7.2).
+ 0.9.26 (ruby-2.7.3).
</div>
</div>
diff --git a/docs/FelFlame/Entities.html b/docs/FelFlame/Entities.html
index b6f4bb7..4ba4d6f 100644
--- a/docs/FelFlame/Entities.html
+++ b/docs/FelFlame/Entities.html
@@ -184,7 +184,7 @@
<span class="summary_desc"><div class='inline'>
-<p>Gets an Entity from the given unique ID.</p>
+<p>Gets an Entity from the given <span class='object_link'><a href="#id-instance_method" title="FelFlame::Entities#id (method)">unique ID</a></span>.</p>
</div></span>
</li>
@@ -214,6 +214,30 @@
</li>
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#from_json-class_method" title="from_json (class method)">.<strong>from_json</strong>(json_string, **opts) &#x21d2; Object </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'>
+<p>Creates a new entity using the data from a JSON string TODO: This function is not yet complete.</p>
+</div></span>
+
+</li>
+
+
</ul>
<h2>
@@ -265,7 +289,7 @@
<span class="summary_desc"><div class='inline'>
-<p>A hash that uses component manager constant names as keys, and where the values of those keys are arrays that contain the IDs of components attached to this entity.</p>
+<p>A hash that uses component manager constant names as keys, and where the values of those keys are arrays that contain the <span class='object_link'><a href="Helper/ComponentManager.html#id-instance_method" title="FelFlame::Helper::ComponentManager#id (method)">IDs</a></span> of the components attached to this entity.</p>
</div></span>
</li>
@@ -298,7 +322,7 @@
<li class="public ">
<span class="summary_signature">
- <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(*components) &#x21d2; Entities </a>
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(*components) &#x21d2; Entity </a>
@@ -315,7 +339,7 @@
<span class="summary_desc"><div class='inline'>
-<p>Creating a new component.</p>
+<p>Creating a new Entity.</p>
</div></span>
</li>
@@ -403,7 +427,7 @@
<div class="method_details first">
<h3 class="signature first" id="initialize-instance_method">
- #<strong>initialize</strong>(*components) &#x21d2; <tt><span class='object_link'><a href="" title="FelFlame::Entities (class)">Entities</a></span></tt>
+ #<strong>initialize</strong>(*components) &#x21d2; <tt>Entity</tt>
@@ -412,7 +436,7 @@
</h3><div class="docstring">
<div class="discussion">
-<p>Creating a new component</p>
+<p>Creating a new Entity</p>
</div>
@@ -426,13 +450,13 @@
<span class='name'>components</span>
- <span class='type'>(<tt>Component</tt>)</span>
+ <span class='type'>(<tt><span class='object_link'><a href="Components.html" title="FelFlame::Components (class)">Components</a></span></tt>)</span>
&mdash;
<div class='inline'>
-<p>Can be any number of components, identical duplicated will be automatically purged however different components from the same component manager are allowed.</p>
+<p>Can be any number of components, identical duplicates will be automatically purged however different components from the same component manager are allowed.</p>
</div>
</li>
@@ -446,7 +470,6 @@
<pre class="lines">
-9
10
11
12
@@ -457,10 +480,11 @@
17
18
19
-20</pre>
+20
+21</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'entity_manager.rb', line 9</span>
+ <pre class="code"><span class="info file"># File 'entity_manager.rb', line 10</span>
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_components'>components</span><span class='rparen'>)</span>
<span class='comment'># Assign new unique ID
@@ -559,13 +583,22 @@
</h3><div class="docstring">
<div class="discussion">
-<p>Gets an Entity from the given unique ID. Usage is simular to how an Array lookup works</p>
+<p>Gets an Entity from the given <span class='object_link'><a href="#id-instance_method" title="FelFlame::Entities#id (method)">unique ID</a></span>. Usage is simular to how an Array lookup works</p>
</div>
</div>
<div class="tags">
- <p class="tag_title">Parameters:</p>
+
+ <div class="examples">
+ <p class="tag_title">Examples:</p>
+
+
+ <pre class="example code"><code><span class='comment'># This gets the Entity with ID 7
+</span><span class='const'><span class='object_link'><a href="../FelFlame.html" title="FelFlame (class)">FelFlame</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="FelFlame::Entities (class)">Entities</a></span></span><span class='lbracket'>[</span><span class='int'>7</span><span class='rbracket'>]</span></code></pre>
+
+ </div>
+<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
@@ -606,12 +639,12 @@
<pre class="lines">
-97
-98
-99</pre>
+103
+104
+105</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'entity_manager.rb', line 97</span>
+ <pre class="code"><span class="info file"># File 'entity_manager.rb', line 103</span>
<span class='kw'>def</span> <span class='op'>[]</span><span class='lparen'>(</span><span class='id identifier rubyid_entity_id'>entity_id</span><span class='rparen'>)</span>
<span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='id identifier rubyid_entity_id'>entity_id</span><span class='rbracket'>]</span>
@@ -633,7 +666,7 @@
</h3><div class="docstring">
<div class="discussion">
-<p>Iterates over all entities. In general when using ECS the use of this method should never be neccassary unless you are doing something very wrong, however I will not stop you. You also call other enumerable methods instead of each, such as `each_with_index` or `select`</p>
+<p>Iterates over all entities. In general when using ECS the use of this method should never be neccassary unless you are doing something very wrong, however I will not stop you. You also call other enumerable methods instead of each, such as <code>each_with_index</code> or <code>select</code></p>
</div>
@@ -660,12 +693,12 @@
<pre class="lines">
-104
-105
-106</pre>
+110
+111
+112</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'entity_manager.rb', line 104</span>
+ <pre class="code"><span class="info file"># File 'entity_manager.rb', line 110</span>
<span class='kw'>def</span> <span class='id identifier rubyid_each'>each</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
<span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
@@ -675,6 +708,79 @@
</table>
</div>
+ <div class="method_details ">
+ <h3 class="signature " id="from_json-class_method">
+
+ .<strong>from_json</strong>(json_string, **opts) &#x21d2; <tt>Object</tt>
+
+
+
+
+
+</h3><div class="docstring">
+ <div class="discussion">
+
+<p>Creates a new entity using the data from a JSON string TODO: This function is not yet complete</p>
+
+
+ </div>
+</div>
+<div class="tags">
+ <p class="tag_title">Parameters:</p>
+<ul class="param">
+
+ <li>
+
+ <span class='name'>json_string</span>
+
+
+ <span class='type'>(<tt>String</tt>)</span>
+
+
+
+ &mdash;
+ <div class='inline'>
+<p>A string that was exported originally using the <span class='object_link'><a href="#to_json-instance_method" title="FelFlame::Entities#to_json (method)">to_json</a></span> function</p>
+</div>
+
+ </li>
+
+ <li>
+
+ <span class='name'>opts</span>
+
+
+ <span class='type'>(<tt>Keywords</tt>)</span>
+
+
+
+ &mdash;
+ <div class='inline'>
+<p>What values(its <span class='object_link'><a href="#id-instance_method" title="FelFlame::Entities#id (method)">ID</a></span> or the <span class='object_link'><a href="Helper/ComponentManager.html#id-instance_method" title="FelFlame::Helper::ComponentManager#id (method)">component IDs</a></span>) should be overwritten TODO: this might change</p>
+</div>
+
+ </li>
+
+</ul>
+
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+118</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'entity_manager.rb', line 118</span>
+
+<span class='kw'>def</span> <span class='id identifier rubyid_from_json'>from_json</span><span class='lparen'>(</span><span class='id identifier rubyid_json_string'>json_string</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span> <span class='kw'>end</span></pre>
+ </td>
+ </tr>
+</table>
+</div>
+
</div>
<div id="instance_method_details" class="method_details_list">
@@ -745,9 +851,6 @@
<pre class="lines">
-54
-55
-56
57
58
59
@@ -757,19 +860,22 @@
63
64
65
-66</pre>
+66
+67
+68
+69</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'entity_manager.rb', line 54</span>
+ <pre class="code"><span class="info file"># File 'entity_manager.rb', line 57</span>
-<span class='kw'>def</span> <span class='id identifier rubyid_add'>add</span> <span class='id identifier rubyid_component'>component</span>
+<span class='kw'>def</span> <span class='id identifier rubyid_add'>add</span><span class='lparen'>(</span><span class='id identifier rubyid_component'>component</span><span class='rparen'>)</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='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</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='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='id identifier rubyid_component'>component</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='rbracket'>]</span>
- <span class='id identifier rubyid_component'>component</span><span class='period'>.</span><span class='id identifier rubyid_linked_entities'>linked_entities</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span> <span class='id identifier rubyid_id'>id</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_push'>push</span> <span class='id identifier rubyid_id'>id</span>
<span class='kw'>true</span>
<span class='kw'>elsif</span> <span class='op'>!</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='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span> <span class='id identifier rubyid_component'>component</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</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='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span> <span class='id identifier rubyid_component'>component</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span>
- <span class='id identifier rubyid_component'>component</span><span class='period'>.</span><span class='id identifier rubyid_linked_entities'>linked_entities</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span> <span class='id identifier rubyid_id'>id</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_push'>push</span> <span class='id identifier rubyid_id'>id</span>
<span class='kw'>true</span>
<span class='kw'>else</span>
<span class='kw'>false</span>
@@ -792,7 +898,7 @@
</h3><div class="docstring">
<div class="discussion">
-<p>A hash that uses component manager constant names as keys, and where the values of those keys are arrays that contain the IDs of components attached to this entity.</p>
+<p>A hash that uses component manager constant names as keys, and where the values of those keys are arrays that contain the <span class='object_link'><a href="Helper/ComponentManager.html#id-instance_method" title="FelFlame::Helper::ComponentManager#id (method)">IDs</a></span> of the components attached to this entity.</p>
</div>
@@ -819,12 +925,12 @@
<pre class="lines">
-24
25
-26</pre>
+26
+27</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'entity_manager.rb', line 24</span>
+ <pre class="code"><span class="info file"># File 'entity_manager.rb', line 25</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>
@@ -878,7 +984,6 @@
<pre class="lines">
-36
37
38
39
@@ -890,18 +995,23 @@
45
46
47
-48</pre>
+48
+49
+50
+51</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'entity_manager.rb', line 36</span>
+ <pre class="code"><span class="info file"># File 'entity_manager.rb', line 37</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>
<span class='id identifier rubyid_component_array'>component_array</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_id'>component_id</span><span class='op'>|</span>
<span class='const'><span class='object_link'><a href="../FelFlame.html" title="FelFlame (class)">FelFlame</a></span></span><span class='period'>.</span><span class='id identifier rubyid_const_get'>const_get</span><span class='lparen'>(</span>
<span class='id identifier rubyid_component_manager'>component_manager</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_delete_prefix'>delete_prefix</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>FelFlame::</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
- <span class='rparen'>)</span><span class='lbracket'>[</span><span class='id identifier rubyid_component_id'>component_id</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_linked_entities'>linked_entities</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
- <span class='kw'>end</span>
+ <span class='rparen'>)</span><span class='lbracket'>[</span><span class='id identifier rubyid_component_id'>component_id</span><span class='rbracket'>]</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='lparen'>(</span><span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
+ <span class='comment'># The following is neater, but doesnt work for some reason :/
+</span> <span class='comment'>#Object.const_get(component_manager)[component_id].entities.delete(id)
+</span> <span class='kw'>end</span>
<span class='kw'>end</span>
<span class='const'><span class='object_link'><a href="../FelFlame.html" title="FelFlame (class)">FelFlame</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="FelFlame::Entities (class)">Entities</a></span></span><span class='period'>.</span><span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='id identifier rubyid_id'>id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>nil</span>
<span class='ivar'>@id</span> <span class='op'>=</span> <span class='kw'>nil</span>
@@ -977,21 +1087,21 @@
<pre class="lines">
-71
-72
-73
74
75
76
77
-78</pre>
+78
+79
+80
+81</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'entity_manager.rb', line 71</span>
+ <pre class="code"><span class="info file"># File 'entity_manager.rb', line 74</span>
-<span class='kw'>def</span> <span class='id identifier rubyid_remove'>remove</span> <span class='id identifier rubyid_component'>component</span>
+<span class='kw'>def</span> <span class='id identifier rubyid_remove'>remove</span><span class='lparen'>(</span><span class='id identifier rubyid_component'>component</span><span class='rparen'>)</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='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</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='period'>.</span><span class='id identifier rubyid_id'>id</span>
- <span class='kw'>if</span> <span class='id identifier rubyid_component'>component</span><span class='period'>.</span><span class='id identifier rubyid_linked_entities'>linked_entities</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span> <span class='id identifier rubyid_id'>id</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_delete'>delete</span> <span class='id identifier rubyid_id'>id</span>
<span class='kw'>true</span>
<span class='kw'>else</span>
<span class='kw'>false</span>
@@ -1041,12 +1151,12 @@
<pre class="lines">
-30
31
-32</pre>
+32
+33</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'entity_manager.rb', line 30</span>
+ <pre class="code"><span class="info file"># File 'entity_manager.rb', line 31</span>
<span class='kw'>def</span> <span class='id identifier rubyid_to_i'>to_i</span>
<span class='id identifier rubyid_id'>id</span>
@@ -1100,14 +1210,12 @@
<pre class="lines">
-83
-84</pre>
+86</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'entity_manager.rb', line 83</span>
+ <pre class="code"><span class="info file"># File 'entity_manager.rb', line 86</span>
-<span class='kw'>def</span> <span class='id identifier rubyid_to_json'>to_json</span>
-<span class='kw'>end</span></pre>
+<span class='kw'>def</span> <span class='id identifier rubyid_to_json'>to_json</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='kw'>end</span></pre>
</td>
</tr>
</table>
@@ -1118,9 +1226,9 @@
</div>
<div id="footer">
- Generated on Thu Jun 10 12:12:44 2021 by
+ Generated on Fri Jun 11 01:49:32 2021 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
- 0.9.26 (ruby-2.7.2).
+ 0.9.26 (ruby-2.7.3).
</div>
</div>
diff --git a/docs/FelFlame/Helper.html b/docs/FelFlame/Helper.html
index 7633b49..ce27679 100644
--- a/docs/FelFlame/Helper.html
+++ b/docs/FelFlame/Helper.html
@@ -102,7 +102,7 @@
<h2>Overview</h2><div class="docstring">
<div class="discussion">
-<p>Namespace for helper functions and inheritance classes</p>
+<p>Namespace for helper functions and template classes</p>
</div>
@@ -116,7 +116,7 @@
- <strong class="classes">Classes:</strong> <span class='object_link'><a href="Helper/ComponentManagerTemplate.html" title="FelFlame::Helper::ComponentManagerTemplate (class)">ComponentManagerTemplate</a></span>
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="Helper/ComponentManager.html" title="FelFlame::Helper::ComponentManager (class)">ComponentManager</a></span>
</p>
@@ -132,9 +132,9 @@
</div>
<div id="footer">
- Generated on Thu Jun 10 12:12:44 2021 by
+ Generated on Fri Jun 11 01:49:32 2021 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
- 0.9.26 (ruby-2.7.2).
+ 0.9.26 (ruby-2.7.3).
</div>
</div>
diff --git a/docs/FelFlame/Helper/ComponentManager.html b/docs/FelFlame/Helper/ComponentManager.html
new file mode 100644
index 0000000..c1d0452
--- /dev/null
+++ b/docs/FelFlame/Helper/ComponentManager.html
@@ -0,0 +1,1077 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<title>
+ Class: FelFlame::Helper::ComponentManager
+
+ &mdash; Documentation by YARD 0.9.26
+
+</title>
+
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" />
+
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" />
+
+<script type="text/javascript">
+ pathId = "FelFlame::Helper::ComponentManager";
+ relpath = '../../';
+</script>
+
+
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
+
+ <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
+
+
+ </head>
+ <body>
+ <div class="nav_wrap">
+ <iframe id="nav" src="../../class_list.html?1"></iframe>
+ <div id="resizer"></div>
+ </div>
+
+ <div id="main" tabindex="-1">
+ <div id="header">
+ <div id="menu">
+
+ <a href="../../_index.html">Index (C)</a> &raquo;
+ <span class='title'><span class='object_link'><a href="../../FelFlame.html" title="FelFlame (class)">FelFlame</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Helper.html" title="FelFlame::Helper (class)">Helper</a></span></span>
+ &raquo;
+ <span class="title">ComponentManager</span>
+
+</div>
+
+ <div id="search">
+
+ <a class="full_list_link" id="class_list_link"
+ href="../../class_list.html">
+
+ <svg width="24" height="24">
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
+ </svg>
+ </a>
+
+</div>
+ <div class="clear"></div>
+ </div>
+
+ <div id="content"><h1>Class: FelFlame::Helper::ComponentManager
+
+
+
+</h1>
+<div class="box_info">
+
+ <dl>
+ <dt>Inherits:</dt>
+ <dd>
+ <span class="inheritName">Object</span>
+
+ <ul class="fullTree">
+ <li>Object</li>
+
+ <li class="next">FelFlame::Helper::ComponentManager</li>
+
+ </ul>
+ <a href="#" class="inheritanceTree">show all</a>
+
+ </dd>
+ </dl>
+
+
+
+
+
+
+
+
+
+
+
+ <dl>
+ <dt>Defined in:</dt>
+ <dd>component_manager.rb</dd>
+ </dl>
+
+</div>
+
+<h2>Overview</h2><div class="docstring">
+ <div class="discussion">
+
+<p>Component Managers are what is used to create individual components which can be attached to entities. When a Component is created from a Component Manager that has accessors given to it, you can set or get the values of those accessors using standard ruby message sending (e.g <tt>@component.var = 5</tt>), or by using the <span class='object_link'><a href="#attrs-instance_method" title="FelFlame::Helper::ComponentManager#attrs (method)">#attrs</a></span> and <span class='object_link'><a href="#update_attrs-instance_method" title="FelFlame::Helper::ComponentManager#update_attrs (method)">#update_attrs</a></span> methods instead.</p>
+
+
+ </div>
+</div>
+<div class="tags">
+
+
+</div>
+
+
+
+ <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
+ <ul class="summary">
+
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#id-instance_method" title="#id (instance method)">#<strong>id</strong> &#x21d2; Integer </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'>
+<p>Holds the <span class='object_link'><a href="#id-instance_method" title="FelFlame::Helper::ComponentManager#id (method)">unique ID</a></span> of a component.</p>
+</div></span>
+
+</li>
+
+
+ </ul>
+
+
+
+
+
+ <h2>
+ Class Method Summary
+ <small><a href="#" class="summary_toggle">collapse</a></small>
+ </h2>
+
+ <ul class="summary">
+
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#[]-class_method" title="[] (class method)">.<strong>[]</strong>(component_id) &#x21d2; Component </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'>
+<p>Gets a Component from the given <span class='object_link'><a href="#id-instance_method" title="FelFlame::Helper::ComponentManager#id (method)">unique ID</a></span>.</p>
+</div></span>
+
+</li>
+
+
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#each-class_method" title="each (class method)">.<strong>each</strong> &#x21d2; Enumerator </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'>
+<p>Iterates over all components within the component manager.</p>
+</div></span>
+
+</li>
+
+
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#new-class_method" title="new (class method)">.<strong>new</strong>(**attrs) &#x21d2; Component </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'>
+<p>Creates a new component and sets the values of the attributes given to it.</p>
+</div></span>
+
+</li>
+
+
+ </ul>
+
+ <h2>
+ Instance Method Summary
+ <small><a href="#" class="summary_toggle">collapse</a></small>
+ </h2>
+
+ <ul class="summary">
+
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#attrs-instance_method" title="#attrs (instance method)">#<strong>attrs</strong> &#x21d2; Hash </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'>
+<p>A hash, where all the keys are attributes linked to their respective values.</p>
+</div></span>
+
+</li>
+
+
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#delete-instance_method" title="#delete (instance method)">#<strong>delete</strong> &#x21d2; Boolean </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'>
+<p>Removes this component from the list and purges all references to this Component from other Entities, as well as its <span class='object_link'><a href="#id-instance_method" title="FelFlame::Helper::ComponentManager#id (method)">ID</a></span> and data.</p>
+</div></span>
+
+</li>
+
+
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#entities-instance_method" title="#entities (instance method)">#<strong>entities</strong> &#x21d2; Array </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'>
+<p>A list of components that are linked to the component.</p>
+</div></span>
+
+</li>
+
+
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#to_i-instance_method" title="#to_i (instance method)">#<strong>to_i</strong> &#x21d2; Integer </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'>
+<p>An alias for the <span class='object_link'><a href="#id-instance_method" title="FelFlame::Helper::ComponentManager#id (method)">ID Reader</a></span>.</p>
+</div></span>
+
+</li>
+
+
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#to_json-instance_method" title="#to_json (instance method)">#<strong>to_json</strong> &#x21d2; String </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'>
+<p>Export all data into a JSON String, which could then later be loaded or saved to a file TODO: This function is not yet complete.</p>
+</div></span>
+
+</li>
+
+
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#update_attrs-instance_method" title="#update_attrs (instance method)">#<strong>update_attrs</strong>(**opts) &#x21d2; Object </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'>
+<p>Update attribute values using a hash or keywords.</p>
+</div></span>
+
+</li>
+
+
+ </ul>
+
+
+
+ <div id="instance_attr_details" class="attr_details">
+ <h2>Instance Attribute Details</h2>
+
+
+ <span id="id=-instance_method"></span>
+ <div class="method_details first">
+ <h3 class="signature first" id="id-instance_method">
+
+ #<strong>id</strong> &#x21d2; <tt>Integer</tt>
+
+
+
+
+
+</h3><div class="docstring">
+ <div class="discussion">
+
+<p>Holds the <span class='object_link'><a href="#id-instance_method" title="FelFlame::Helper::ComponentManager#id (method)">unique ID</a></span> of a component. The <span class='object_link'><a href="#id-instance_method" title="FelFlame::Helper::ComponentManager#id (method)">ID</a></span> is only unique within the scope of the component manager it was created from.</p>
+
+
+ </div>
+</div>
+<div class="tags">
+
+<p class="tag_title">Returns:</p>
+<ul class="return">
+
+ <li>
+
+
+ <span class='type'>(<tt>Integer</tt>)</span>
+
+
+
+ </li>
+
+</ul>
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+53
+54
+55</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'component_manager.rb', line 53</span>
+
+<span class='kw'>def</span> <span class='id identifier rubyid_id'>id</span>
+ <span class='ivar'>@id</span>
+<span class='kw'>end</span></pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+ </div>
+
+
+ <div id="class_method_details" class="method_details_list">
+ <h2>Class Method Details</h2>
+
+
+ <div class="method_details first">
+ <h3 class="signature first" id="[]-class_method">
+
+ .<strong>[]</strong>(component_id) &#x21d2; <tt>Component</tt>
+
+
+
+
+
+</h3><div class="docstring">
+ <div class="discussion">
+
+<p>Gets a Component from the given <span class='object_link'><a href="#id-instance_method" title="FelFlame::Helper::ComponentManager#id (method)">unique ID</a></span>. Usage is simular to how an Array lookup works.</p>
+
+
+ </div>
+</div>
+<div class="tags">
+
+ <div class="examples">
+ <p class="tag_title">Examples:</p>
+
+
+ <pre class="example code"><code><span class='comment'># this gets the &#39;Health&#39; Component with ID 7
+</span><span class='const'><span class='object_link'><a href="../../FelFlame.html" title="FelFlame (class)">FelFlame</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Components.html" title="FelFlame::Components (class)">Components</a></span></span><span class='op'>::</span><span class='const'>Health</span><span class='lbracket'>[</span><span class='int'>7</span><span class='rbracket'>]</span></code></pre>
+
+ </div>
+<p class="tag_title">Parameters:</p>
+<ul class="param">
+
+ <li>
+
+ <span class='name'>component_id</span>
+
+
+ <span class='type'>(<tt>Integer</tt>)</span>
+
+
+
+ </li>
+
+</ul>
+
+<p class="tag_title">Returns:</p>
+<ul class="return">
+
+ <li>
+
+
+ <span class='type'>(<tt>Component</tt>)</span>
+
+
+
+ &mdash;
+ <div class='inline'>
+<p>Returns the Component that uses the given unique <span class='object_link'><a href="#id-instance_method" title="FelFlame::Helper::ComponentManager#id (method)">ID</a></span>, nil if there is no Component associated with the given <span class='object_link'><a href="#id-instance_method" title="FelFlame::Helper::ComponentManager#id (method)">ID</a></span></p>
+</div>
+
+ </li>
+
+</ul>
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+69
+70
+71</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'component_manager.rb', line 69</span>
+
+<span class='kw'>def</span> <span class='op'>[]</span><span class='lparen'>(</span><span class='id identifier rubyid_component_id'>component_id</span><span class='rparen'>)</span>
+ <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='id identifier rubyid_component_id'>component_id</span><span class='rbracket'>]</span>
+<span class='kw'>end</span></pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+ <div class="method_details ">
+ <h3 class="signature " id="each-class_method">
+
+ .<strong>each</strong> &#x21d2; <tt>Enumerator</tt>
+
+
+
+
+
+</h3><div class="docstring">
+ <div class="discussion">
+
+<p>Iterates over all components within the component manager</p>
+
+
+ </div>
+</div>
+<div class="tags">
+
+<p class="tag_title">Returns:</p>
+<ul class="return">
+
+ <li>
+
+
+ <span class='type'>(<tt>Enumerator</tt>)</span>
+
+
+
+ </li>
+
+</ul>
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+95
+96
+97
+98
+99</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'component_manager.rb', line 95</span>
+
+<span class='kw'>def</span> <span class='id identifier rubyid_each'>each</span>
+ <span class='id identifier rubyid_data'>data</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='kw'>yield</span> <span class='id identifier rubyid_component'>component</span>
+ <span class='kw'>end</span>
+<span class='kw'>end</span></pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+ <div class="method_details ">
+ <h3 class="signature " id="new-class_method">
+
+ .<strong>new</strong>(**attrs) &#x21d2; <tt>Component</tt>
+
+
+
+
+
+</h3><div class="docstring">
+ <div class="discussion">
+
+<p>Creates a new component and sets the values of the attributes given to it. If an attritbute is not passed then it will remain as the default.</p>
+
+
+ </div>
+</div>
+<div class="tags">
+ <p class="tag_title">Parameters:</p>
+<ul class="param">
+
+ <li>
+
+ <span class='name'>attrs</span>
+
+
+ <span class='type'>(<tt>Keyword: Value</tt>)</span>
+
+
+
+ </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">
+
+
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'component_manager.rb', line 76</span>
+
+<span class='kw'>def</span> <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='op'>**</span><span class='id identifier rubyid_attrs'>attrs</span><span class='rparen'>)</span>
+ <span class='id identifier rubyid_new_component'>new_component</span> <span class='op'>=</span> <span class='kw'>super</span>
+
+ <span class='comment'># Generate ID
+</span> <span class='id identifier rubyid_new_id'>new_id</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_find_index'>find_index</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='id identifier rubyid_i'>i</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='rbrace'>}</span>
+ <span class='id identifier rubyid_new_id'>new_id</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span> <span class='kw'>if</span> <span class='id identifier rubyid_new_id'>new_id</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
+ <span class='id identifier rubyid_new_component'>new_component</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span> <span class='op'>=</span> <span class='id identifier rubyid_new_id'>new_id</span>
+
+ <span class='comment'># Fill params
+</span> <span class='id identifier rubyid_attrs'>attrs</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_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
+ <span class='id identifier rubyid_new_component'>new_component</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span>
+ <span class='kw'>end</span>
+
+ <span class='comment'># Save Component
+</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='id identifier rubyid_new_id'>new_id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_new_component'>new_component</span>
+<span class='kw'>end</span></pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+ </div>
+
+ <div id="instance_method_details" class="method_details_list">
+ <h2>Instance Method Details</h2>
+
+
+ <div class="method_details first">
+ <h3 class="signature first" id="attrs-instance_method">
+
+ #<strong>attrs</strong> &#x21d2; <tt>Hash</tt>
+
+
+
+
+
+</h3><div class="docstring">
+ <div class="discussion">
+
+<p>Returns A hash, where all the keys are attributes linked to their respective values.</p>
+
+
+ </div>
+</div>
+<div class="tags">
+
+<p class="tag_title">Returns:</p>
+<ul class="return">
+
+ <li>
+
+
+ <span class='type'>(<tt>Hash</tt>)</span>
+
+
+
+ &mdash;
+ <div class='inline'>
+<p>A hash, where all the keys are attributes linked to their respective values.</p>
+</div>
+
+ </li>
+
+</ul>
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+137
+138
+139
+140
+141</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'component_manager.rb', line 137</span>
+
+<span class='kw'>def</span> <span class='id identifier rubyid_attrs'>attrs</span>
+ <span class='id identifier rubyid_instance_variables'>instance_variables</span><span class='period'>.</span><span class='id identifier rubyid_each_with_object'>each_with_object</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_final'>final</span><span class='op'>|</span>
+ <span class='id identifier rubyid_final'>final</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_delete_prefix'>delete_prefix</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>@</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_instance_variable_get'>instance_variable_get</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
+ <span class='kw'>end</span>
+<span class='kw'>end</span></pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+ <div class="method_details ">
+ <h3 class="signature " id="delete-instance_method">
+
+ #<strong>delete</strong> &#x21d2; <tt>Boolean</tt>
+
+
+
+
+
+</h3><div class="docstring">
+ <div class="discussion">
+
+<p>Removes this component from the list and purges all references to this Component from other Entities, as well as its <span class='object_link'><a href="#id-instance_method" title="FelFlame::Helper::ComponentManager#id (method)">ID</a></span> and data.</p>
+
+
+ </div>
+</div>
+<div class="tags">
+
+<p class="tag_title">Returns:</p>
+<ul class="return">
+
+ <li>
+
+
+ <span class='type'>(<tt>Boolean</tt>)</span>
+
+
+
+ &mdash;
+ <div class='inline'>
+<p>true.</p>
+</div>
+
+ </li>
+
+</ul>
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'component_manager.rb', line 124</span>
+
+<span class='kw'>def</span> <span class='id identifier rubyid_delete'>delete</span>
+ <span class='id identifier rubyid_entities'>entities</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_entity_id'>entity_id</span><span class='op'>|</span>
+ <span class='const'><span class='object_link'><a href="../../FelFlame.html" title="FelFlame (class)">FelFlame</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Entities.html" title="FelFlame::Entities (class)">Entities</a></span></span><span class='lbracket'>[</span><span class='id identifier rubyid_entity_id'>entity_id</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_remove'>remove</span> <span class='kw'>self</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='lbracket'>[</span><span class='id identifier rubyid_id'>id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>nil</span>
+ <span class='ivar'>@entities</span> <span class='op'>=</span> <span class='kw'>nil</span>
+ <span class='id identifier rubyid_instance_variables'>instance_variables</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_var'>var</span><span class='op'>|</span>
+ <span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='id identifier rubyid_var'>var</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='rparen'>)</span>
+ <span class='kw'>end</span>
+ <span class='kw'>true</span>
+<span class='kw'>end</span></pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+ <div class="method_details ">
+ <h3 class="signature " id="entities-instance_method">
+
+ #<strong>entities</strong> &#x21d2; <tt>Array</tt>
+
+
+
+
+
+</h3><div class="docstring">
+ <div class="discussion">
+
+<p>A list of components that are linked to the component</p>
+
+
+ </div>
+</div>
+<div class="tags">
+
+<p class="tag_title">Returns:</p>
+<ul class="return">
+
+ <li>
+
+
+ <span class='type'>(<tt>Array</tt>)</span>
+
+
+
+ </li>
+
+</ul>
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+110
+111
+112</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'component_manager.rb', line 110</span>
+
+<span class='kw'>def</span> <span class='id identifier rubyid_entities'>entities</span>
+ <span class='ivar'>@entities</span> <span class='op'>||=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
+<span class='kw'>end</span></pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+ <div class="method_details ">
+ <h3 class="signature " id="to_i-instance_method">
+
+ #<strong>to_i</strong> &#x21d2; <tt>Integer</tt>
+
+
+
+
+
+</h3><div class="docstring">
+ <div class="discussion">
+
+<p>An alias for the <span class='object_link'><a href="#id-instance_method" title="FelFlame::Helper::ComponentManager#id (method)">ID Reader</a></span></p>
+
+
+ </div>
+</div>
+<div class="tags">
+
+<p class="tag_title">Returns:</p>
+<ul class="return">
+
+ <li>
+
+
+ <span class='type'>(<tt>Integer</tt>)</span>
+
+
+
+ </li>
+
+</ul>
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+104
+105
+106</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'component_manager.rb', line 104</span>
+
+<span class='kw'>def</span> <span class='id identifier rubyid_to_i'>to_i</span>
+ <span class='id identifier rubyid_id'>id</span>
+<span class='kw'>end</span></pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+ <div class="method_details ">
+ <h3 class="signature " id="to_json-instance_method">
+
+ #<strong>to_json</strong> &#x21d2; <tt>String</tt>
+
+
+
+
+
+</h3><div class="docstring">
+ <div class="discussion">
+
+<p>Export all data into a JSON String, which could then later be loaded or saved to a file TODO: This function is not yet complete</p>
+
+
+ </div>
+</div>
+<div class="tags">
+
+<p class="tag_title">Returns:</p>
+<ul class="return">
+
+ <li>
+
+
+ <span class='type'>(<tt>String</tt>)</span>
+
+
+
+ &mdash;
+ <div class='inline'>
+<p>a JSON formatted String</p>
+</div>
+
+ </li>
+
+</ul>
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+146
+147
+148</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'component_manager.rb', line 146</span>
+
+<span class='kw'>def</span> <span class='id identifier rubyid_to_json'>to_json</span>
+ <span class='comment'># should return a json or hash of all data in this component
+</span><span class='kw'>end</span></pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+ <div class="method_details ">
+ <h3 class="signature " id="update_attrs-instance_method">
+
+ #<strong>update_attrs</strong>(**opts) &#x21d2; <tt>Object</tt>
+
+
+
+
+
+</h3><div class="docstring">
+ <div class="discussion">
+
+<p>Update attribute values using a hash or keywords.</p>
+
+
+ </div>
+</div>
+<div class="tags">
+
+<p class="tag_title">Returns:</p>
+<ul class="return">
+
+ <li>
+
+
+ <span class='type'></span>
+
+
+
+
+ <div class='inline'>
+<p>Hash of updated attributes</p>
+</div>
+
+ </li>
+
+</ul>
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+116
+117
+118
+119
+120</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'component_manager.rb', line 116</span>
+
+<span class='kw'>def</span> <span class='id identifier rubyid_update_attrs'>update_attrs</span><span class='lparen'>(</span><span class='op'>**</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
+ <span class='id identifier rubyid_opts'>opts</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_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
+ <span class='id identifier rubyid_send'>send</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span>
+ <span class='kw'>end</span>
+<span class='kw'>end</span></pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+ </div>
+
+</div>
+
+ <div id="footer">
+ Generated on Fri Jun 11 01:49:32 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>
+
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/FelFlame/Helper/ComponentManagerTemplate.html b/docs/FelFlame/Helper/ComponentManagerTemplate.html
index 801fab1..b97dff0 100644
--- a/docs/FelFlame/Helper/ComponentManagerTemplate.html
+++ b/docs/FelFlame/Helper/ComponentManagerTemplate.html
@@ -552,14 +552,14 @@
<pre class="lines">
-79
80
81
82
-83</pre>
+83
+84</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'component_manager.rb', line 79</span>
+ <pre class="code"><span class="info file"># File 'component_manager.rb', line 80</span>
<span class='kw'>def</span> <span class='id identifier rubyid_each'>each</span>
<span class='id identifier rubyid_data'>data</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>
@@ -589,7 +589,22 @@
</div>
</div>
<div class="tags">
+ <p class="tag_title">Parameters:</p>
+<ul class="param">
+ <li>
+
+ <span class='name'>attrs</span>
+
+
+ <span class='type'>(<tt>Keywords</tt>)</span>
+
+
+
+ </li>
+
+</ul>
+
</div><table class="source_code">
<tr>
@@ -597,7 +612,6 @@
<pre class="lines">
-60
61
62
63
@@ -612,10 +626,11 @@
72
73
74
-75</pre>
+75
+76</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'component_manager.rb', line 60</span>
+ <pre class="code"><span class="info file"># File 'component_manager.rb', line 61</span>
<span class='kw'>def</span> <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='op'>**</span><span class='id identifier rubyid_attrs'>attrs</span><span class='rparen'>)</span>
<span class='id identifier rubyid_new_component'>new_component</span> <span class='op'>=</span> <span class='kw'>super</span>
@@ -688,14 +703,14 @@
<pre class="lines">
-121
122
123
124
-125</pre>
+125
+126</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'component_manager.rb', line 121</span>
+ <pre class="code"><span class="info file"># File 'component_manager.rb', line 122</span>
<span class='kw'>def</span> <span class='id identifier rubyid_attrs'>attrs</span>
<span class='id identifier rubyid_instance_variables'>instance_variables</span><span class='period'>.</span><span class='id identifier rubyid_each_with_object'>each_with_object</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_final'>final</span><span class='op'>|</span>
@@ -751,7 +766,6 @@
<pre class="lines">
-108
109
110
111
@@ -761,10 +775,11 @@
115
116
117
-118</pre>
+118
+119</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'component_manager.rb', line 108</span>
+ <pre class="code"><span class="info file"># File 'component_manager.rb', line 109</span>
<span class='kw'>def</span> <span class='id identifier rubyid_delete'>delete</span>
<span class='id identifier rubyid_linked_entities'>linked_entities</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_entity_id'>entity_id</span><span class='op'>|</span>
@@ -821,12 +836,12 @@
<pre class="lines">
-94
95
-96</pre>
+96
+97</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'component_manager.rb', line 94</span>
+ <pre class="code"><span class="info file"># File 'component_manager.rb', line 95</span>
<span class='kw'>def</span> <span class='id identifier rubyid_linked_entities'>linked_entities</span>
<span class='ivar'>@linked_entities</span> <span class='op'>||=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
@@ -875,12 +890,12 @@
<pre class="lines">
-88
89
-90</pre>
+90
+91</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'component_manager.rb', line 88</span>
+ <pre class="code"><span class="info file"># File 'component_manager.rb', line 89</span>
<span class='kw'>def</span> <span class='id identifier rubyid_to_i'>to_i</span>
<span class='id identifier rubyid_id'>id</span>
@@ -934,12 +949,12 @@
<pre class="lines">
-130
131
-132</pre>
+132
+133</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'component_manager.rb', line 130</span>
+ <pre class="code"><span class="info file"># File 'component_manager.rb', line 131</span>
<span class='kw'>def</span> <span class='id identifier rubyid_to_json'>to_json</span>
<span class='comment'># should return a json or hash of all data in this component
@@ -993,14 +1008,14 @@
<pre class="lines">
-100
101
102
103
-104</pre>
+104
+105</pre>
</td>
<td>
- <pre class="code"><span class="info file"># File 'component_manager.rb', line 100</span>
+ <pre class="code"><span class="info file"># File 'component_manager.rb', line 101</span>
<span class='kw'>def</span> <span class='id identifier rubyid_update_attrs'>update_attrs</span><span class='lparen'>(</span><span class='op'>**</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_opts'>opts</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_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
@@ -1017,9 +1032,9 @@
</div>
<div id="footer">
- Generated on Thu Jun 10 12:12:44 2021 by
+ Generated on Thu Jun 10 22:55:26 2021 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
- 0.9.26 (ruby-2.7.2).
+ 0.9.26 (ruby-2.7.3).
</div>
</div>
diff --git a/docs/FelFlame/Systems.html b/docs/FelFlame/Systems.html
index a2bdfc7..a418bfb 100644
--- a/docs/FelFlame/Systems.html
+++ b/docs/FelFlame/Systems.html
@@ -124,9 +124,9 @@
</div>
<div id="footer">
- Generated on Thu Jun 10 12:12:44 2021 by
+ Generated on Fri Jun 11 01:49:32 2021 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
- 0.9.26 (ruby-2.7.2).
+ 0.9.26 (ruby-2.7.3).
</div>
</div>