diff options
| author | realtradam <[email protected]> | 2021-06-11 02:14:57 -0400 |
|---|---|---|
| committer | realtradam <[email protected]> | 2021-06-11 02:14:57 -0400 |
| commit | 3ad8d2531329c1696a2bf86db8db9237309281ab (patch) | |
| tree | 425ec6ded13c8c20cfb087a7a68cfe4c8e8deeea /docs | |
| parent | 1145a2bf43d87256676f49ae9612ff0c49cd5901 (diff) | |
| download | FelECS-3ad8d2531329c1696a2bf86db8db9237309281ab.tar.gz FelECS-3ad8d2531329c1696a2bf86db8db9237309281ab.zip | |
general cleanup
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/FelFlame.html | 4 | ||||
| -rw-r--r-- | docs/FelFlame/Components.html | 77 | ||||
| -rw-r--r-- | docs/FelFlame/Entities.html | 220 | ||||
| -rw-r--r-- | docs/FelFlame/Helper.html | 8 | ||||
| -rw-r--r-- | docs/FelFlame/Helper/ComponentManager.html | 1077 | ||||
| -rw-r--r-- | docs/FelFlame/Helper/ComponentManagerTemplate.html | 67 | ||||
| -rw-r--r-- | docs/FelFlame/Systems.html | 4 | ||||
| -rw-r--r-- | docs/_index.html | 6 | ||||
| -rw-r--r-- | docs/class_list.html | 2 | ||||
| -rw-r--r-- | docs/file.README.html | 510 | ||||
| -rw-r--r-- | docs/index.html | 510 | ||||
| -rw-r--r-- | docs/method_list.html | 68 | ||||
| -rw-r--r-- | docs/top-level-namespace.html | 4 |
13 files changed, 1900 insertions, 657 deletions
diff --git a/docs/FelFlame.html b/docs/FelFlame.html index b07b227..e9ab145 100644 --- a/docs/FelFlame.html +++ b/docs/FelFlame.html @@ -193,9 +193,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/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) ⇒ Object </a> + <a href="#new-class_method" title="new (class method)">.<strong>new</strong>(component_name, *attrs, **attrs_with_defaults) ⇒ 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'>&</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'>&</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) ⇒ <tt>Object</tt> + .<strong>new</strong>(component_name, *attrs, **attrs_with_defaults) ⇒ <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'>'</span><span class='tstring_content'>Health</span><span class='tstring_end'>'</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'>'</span><span class='tstring_content'>red</span><span class='tstring_end'>'</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'>"</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'>"</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) ⇒ 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) ⇒ Entities </a> + <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(*components) ⇒ 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) ⇒ <tt><span class='object_link'><a href="" title="FelFlame::Entities (class)">Entities</a></span></tt> + #<strong>initialize</strong>(*components) ⇒ <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> — <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'>&</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'>&</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) ⇒ <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> + + + + — + <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> + + + + — + <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'>'</span><span class='tstring_content'>FelFlame::</span><span class='tstring_end'>'</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 + + — 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> » + <span class='title'><span class='object_link'><a href="../../FelFlame.html" title="FelFlame (class)">FelFlame</a></span></span> » <span class='title'><span class='object_link'><a href="../Helper.html" title="FelFlame::Helper (class)">Helper</a></span></span> + » + <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> ⇒ 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) ⇒ 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> ⇒ 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) ⇒ 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> ⇒ 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> ⇒ 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> ⇒ 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> ⇒ 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> ⇒ 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) ⇒ 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> ⇒ <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) ⇒ <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 'Health' 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> + + + + — + <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> ⇒ <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) ⇒ <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'>"</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'>"</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> ⇒ <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> + + + + — + <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'>'</span><span class='tstring_content'>@</span><span class='tstring_end'>'</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> ⇒ <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> + + + + — + <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> ⇒ <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> ⇒ <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> ⇒ <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> + + + + — + <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) ⇒ <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'>"</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'>"</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> diff --git a/docs/_index.html b/docs/_index.html index 21765b7..42c4e44 100644 --- a/docs/_index.html +++ b/docs/_index.html @@ -81,7 +81,7 @@ <ul> <li> - <span class='object_link'><a href="FelFlame/Helper/ComponentManagerTemplate.html" title="FelFlame::Helper::ComponentManagerTemplate (class)">ComponentManagerTemplate</a></span> + <span class='object_link'><a href="FelFlame/Helper/ComponentManager.html" title="FelFlame::Helper::ComponentManager (class)">ComponentManager</a></span> <small>(FelFlame::Helper)</small> @@ -164,9 +164,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/class_list.html b/docs/class_list.html index 34de204..63d72d5 100644 --- a/docs/class_list.html +++ b/docs/class_list.html @@ -43,7 +43,7 @@ <ul id="full_list" class="class"> <li id="object_" class="odd"><div class="item" style="padding-left:30px"><span class='object_link'><a href="top-level-namespace.html" title="Top Level Namespace (root)">Top Level Namespace</a></span></div></li> -<li id='object_FelFlame' class='even'><div class='item' style='padding-left:30px'><a class='toggle'></a> <span class='object_link'><a href="FelFlame.html" title="FelFlame (class)">FelFlame</a></span> < Object<small class='search_info'>Top Level Namespace</small></div><ul><li id='object_FelFlame::Components' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="FelFlame/Components.html" title="FelFlame::Components (class)">Components</a></span> < Object<small class='search_info'>FelFlame</small></div></li><li id='object_FelFlame::Entities' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="FelFlame/Entities.html" title="FelFlame::Entities (class)">Entities</a></span> < Object<small class='search_info'>FelFlame</small></div></li><li id='object_FelFlame::Helper' class='collapsed odd'><div class='item' style='padding-left:45px'><a class='toggle'></a> <span class='object_link'><a href="FelFlame/Helper.html" title="FelFlame::Helper (class)">Helper</a></span> < Object<small class='search_info'>FelFlame</small></div><ul><li id='object_FelFlame::Helper::ComponentManagerTemplate' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="FelFlame/Helper/ComponentManagerTemplate.html" title="FelFlame::Helper::ComponentManagerTemplate (class)">ComponentManagerTemplate</a></span> < Object<small class='search_info'>FelFlame::Helper</small></div></li></ul></li><li id='object_FelFlame::Systems' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="FelFlame/Systems.html" title="FelFlame::Systems (class)">Systems</a></span> < Object<small class='search_info'>FelFlame</small></div></li></ul></li> +<li id='object_FelFlame' class='even'><div class='item' style='padding-left:30px'><a class='toggle'></a> <span class='object_link'><a href="FelFlame.html" title="FelFlame (class)">FelFlame</a></span> < Object<small class='search_info'>Top Level Namespace</small></div><ul><li id='object_FelFlame::Components' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="FelFlame/Components.html" title="FelFlame::Components (class)">Components</a></span> < Object<small class='search_info'>FelFlame</small></div></li><li id='object_FelFlame::Entities' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="FelFlame/Entities.html" title="FelFlame::Entities (class)">Entities</a></span> < Object<small class='search_info'>FelFlame</small></div></li><li id='object_FelFlame::Helper' class='collapsed odd'><div class='item' style='padding-left:45px'><a class='toggle'></a> <span class='object_link'><a href="FelFlame/Helper.html" title="FelFlame::Helper (class)">Helper</a></span> < Object<small class='search_info'>FelFlame</small></div><ul><li id='object_FelFlame::Helper::ComponentManager' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="FelFlame/Helper/ComponentManager.html" title="FelFlame::Helper::ComponentManager (class)">ComponentManager</a></span> < Object<small class='search_info'>FelFlame::Helper</small></div></li></ul></li><li id='object_FelFlame::Systems' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="FelFlame/Systems.html" title="FelFlame::Systems (class)">Systems</a></span> < Object<small class='search_info'>FelFlame</small></div></li></ul></li> </ul> </div> diff --git a/docs/file.README.html b/docs/file.README.html index cad9754..a62e2fd 100644 --- a/docs/file.README.html +++ b/docs/file.README.html @@ -57,17 +57,16 @@ <div class="clear"></div> </div> - <div id="content"><div id='filecontents'> -<p><img src="https://filestorage.catgirls.rodeo/images/felflame-logo-full.png" alt="FelFlame" /></p> + <div id="content"><div id='filecontents'><p><img src="https://filestorage.catgirls.rodeo/images/felflame-logo-full.png" alt="FelFlame"></p> -<p><a href="https://codeclimate.com/github/realtradam/FelFlame/maintainability"><img src="https://api.codeclimate.com/v1/badges/56d425d9078e98efb74b/maintainability" alt="Maintainability" /></a> -<a href="https://codeclimate.com/github/realtradam/FelFlame/test_coverage"><img src="https://api.codeclimate.com/v1/badges/56d425d9078e98efb74b/test_coverage" alt="Test Coverage" /></a> -<a href=""><img src="https://img.shields.io/badge/Documentation-100%25-br" alt="Documentation Coverage" /></a></p> +<p><a href="https://codeclimate.com/github/realtradam/FelFlame/maintainability"><img src="https://api.codeclimate.com/v1/badges/56d425d9078e98efb74b/maintainability" alt="Maintainability"></a> +<a href="https://codeclimate.com/github/realtradam/FelFlame/test_coverage"><img src="https://api.codeclimate.com/v1/badges/56d425d9078e98efb74b/test_coverage" alt="Test Coverage"></a> +<a href="https://felflame.tradam.fyi"><img src="https://img.shields.io/badge/Documentation-100%25-br" alt="Documentation Coverage"></a></p> <h1 id="what-is-this">What is this?</h1> <p>This is a Ruby ECS Framework for developing games. It is still a work in progress in the early stages, is not fit for use, and does not work. -It is designed to be platform agnostic, this means it should be able to work by plugging it into any ruby game engine/library/toolkit with minimal modifications.</p> +It is designed to be platform agnostic, this means it should be able to work by plugging it into any ruby game engine/library/toolkit with minimal modifications. </p> <p>I wanted a reusable framework so I could quickly and effectively develop games. I also want it to be more complete, as opposed to barebones or boilerplate. I plan to eventually add functionality outside of just ECS such as loading tilesets, a camera system, etc. that are built into the framework to work seamlessly.</p> @@ -78,280 +77,285 @@ I plan to eventually add functionality outside of just ECS such as loading tiles <p>Systems, Scenes, and the Stage still needs to be implemented</p> +<p>You can view the <a href="https://felflame.tradam.fyi">Documentation here</a></p> + <h1 id="specification">Specification</h1> <p>Below are the specifications I have imagined for this framework and have been written out. They are subject to change as FelFlame is developed and used.</p> <h2 id="aliases">Aliases:</h2> -<p><code>ruby -FF = FelFlame -FF::Ent = FelFlame::Entities -FF::Cmp = FelFlame::Components -FF::Sys = FelFlame::Systems -FF::Sce = FelFlame::Scenes -FF::Stg = FelFlame::Stage -</code> -## Classes:</p> - -<h3 id="ffentities">FF::Entities</h3> -<p>```ruby -FF::Ent.new(@component1, @component2) -@entity = FF::Ent.get(entity_id) -FF::Ent.delete(entity_id) [email protected] # => unique entity id</p> - -<p>@entity.add @component [email protected] @component [email protected] # => [:id, :scenes, :components] -FF::Ent.load @entity_dump -```</p> - -<h3 id="ffcomponents">FF::Components</h3> -<p>```ruby -FF::Cmp.new(‘Name’, ‘param1’, param2: ‘default’) -FF::Cmp::Name.new(param1: value1) -@component = FF::Cmp::Name.get(component_id) -FF::Cmp::Name.get_by_entity(entity_id) # gets array of components [email protected](param2: ‘not default’) [email protected] = ‘different not default’ -FF::Cmp::Name.detach(entity_id: ent_id, component_id: cmp_id) -FF::Cmp::Name.remove_entity(entity_id) # Removes entity from any components -FF::Cmp::Name.delete_component(component_id) # deletes component and removes from all relevant entities [email protected] # returns hash of all variables!(and the id) -FF::Cmp::Name.load @component_dump</p> - -<p>FF::Cmp::Health.added # => returns values for sys to setup -FF::Cmp::Health.removed # => returns values for sys to setup -FF::Cmp::Health.is_set(‘var’) # => returns values for sys to setup -```</p> - -<h3 id="ffsystems">FF::Systems</h3> -<p><code>ruby -FF::Sys.new(name: 'Render', position: 5, frame: 1) do - @component.each do - # functionality - end -end -FF::Sys::Render.trigger_when FF::Cmp::Health.added -FF::Sys::Render.trigger_when FF::Cmp::Health.removed -FF::Sys::Render.trigger_when FF::Cmp::Health.is_set('var') -</code></p> - -<h3 id="ffscenes">FF::Scenes</h3> -<p><code>ruby -FF::Scn.new(name: 'Scene1', position: 1) -FF::Scn::Scene1.add @entity -FF::Scn::Scene1.add FF::Sys::Render -FF::Scn::Scene1.entities # => [id_1, id_7, etc] -FF::Scn::Scene1.systems # => [:Render, :Damage, etc] -FF::Scn::Scene1.dump # => [:name, :entities, :systems] -FF::Scn::Scene1.load @scene_dump -</code></p> - -<h3 id="ffstage">FF::Stage</h3> -<p><code>ruby -FF::Stg.add FF::Scn::Scene1 -FF::Stg.remove FF::Scn::Scene1 -FF::Stg.scene # => [:Scene1, :Scene2, etc] -FF::Stg.dump # => [:Scene1, :Scene2, etc] -FF::Stg.load @stage_dump -FF::Stg.clear -</code></p> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></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='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Ent</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="FelFlame/Entities.html" title="FelFlame::Entities (class)">Entities</a></span></span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</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="FelFlame/Components.html" title="FelFlame::Components (class)">Components</a></span></span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</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="FelFlame/Systems.html" title="FelFlame::Systems (class)">Systems</a></span></span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sce</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'>Scenes</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</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'>Stage</span> +</code></pre> + +<h2 id="classes">Classes:</h2> + +<h3 id="ff-entities">FF::Entities</h3> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Ent</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@component1</span><span class='comma'>,</span> <span class='ivar'>@component2</span><span class='rparen'>)</span> +<span class='ivar'>@entity</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Ent</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='id identifier rubyid_entity_id'>entity_id</span><span class='rparen'>)</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Ent</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_entity_id'>entity_id</span><span class='rparen'>)</span> +<span class='ivar'>@entity</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span> <span class='comment'># => unique entity id +</span> +<span class='ivar'>@entity</span><span class='period'>.</span><span class='id identifier rubyid_add'>add</span> <span class='ivar'>@component</span> +<span class='ivar'>@entity</span><span class='period'>.</span><span class='id identifier rubyid_remove'>remove</span> <span class='ivar'>@component</span> +<span class='ivar'>@entity</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> <span class='comment'># => [:id, :scenes, :components] +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Ent</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span> <span class='ivar'>@entity_dump</span> +</code></pre> + +<h3 id="ff-components">FF::Components</h3> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Name</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>param1</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>param2:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>default</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>param1:</span> <span class='id identifier rubyid_value1'>value1</span><span class='rparen'>)</span> +<span class='ivar'>@component</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='id identifier rubyid_component_id'>component_id</span><span class='rparen'>)</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_get_by_entity'>get_by_entity</span><span class='lparen'>(</span><span class='id identifier rubyid_entity_id'>entity_id</span><span class='rparen'>)</span> <span class='comment'># gets array of components +</span><span class='ivar'>@component</span><span class='period'>.</span><span class='id identifier rubyid_set'>set</span><span class='lparen'>(</span><span class='label'>param2:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>not default</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> +<span class='ivar'>@component</span><span class='period'>.</span><span class='id identifier rubyid_param2'>param2</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>different not default</span><span class='tstring_end'>'</span></span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_detach'>detach</span><span class='lparen'>(</span><span class='label'>entity_id:</span> <span class='id identifier rubyid_ent_id'>ent_id</span><span class='comma'>,</span> <span class='label'>component_id:</span> <span class='id identifier rubyid_cmp_id'>cmp_id</span><span class='rparen'>)</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_remove_entity'>remove_entity</span><span class='lparen'>(</span><span class='id identifier rubyid_entity_id'>entity_id</span><span class='rparen'>)</span> <span class='comment'># Removes entity from any components +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_delete_component'>delete_component</span><span class='lparen'>(</span><span class='id identifier rubyid_component_id'>component_id</span><span class='rparen'>)</span> <span class='comment'># deletes component and removes from all relevant entities +</span><span class='ivar'>@component</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> <span class='comment'># returns hash of all variables!(and the id) +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span> <span class='ivar'>@component_dump</span> + +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_added'>added</span> <span class='comment'># => returns values for sys to setup +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_removed'>removed</span> <span class='comment'># => returns values for sys to setup +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_is_set'>is_set</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>var</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='comment'># => returns values for sys to setup +</span></code></pre> + +<h3 id="ff-systems">FF::Systems</h3> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>name:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Render</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>position:</span> <span class='int'>5</span><span class='comma'>,</span> <span class='label'>frame:</span> <span class='int'>1</span><span class='rparen'>)</span> <span class='kw'>do</span> + <span class='ivar'>@component</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> + <span class='comment'># functionality +</span> <span class='kw'>end</span> +<span class='kw'>end</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Render</span><span class='period'>.</span><span class='id identifier rubyid_trigger_when'>trigger_when</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_added'>added</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Render</span><span class='period'>.</span><span class='id identifier rubyid_trigger_when'>trigger_when</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_removed'>removed</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Render</span><span class='period'>.</span><span class='id identifier rubyid_trigger_when'>trigger_when</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_is_set'>is_set</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>var</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> +</code></pre> + +<h3 id="ff-scenes">FF::Scenes</h3> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>name:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Scene1</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>position:</span> <span class='int'>1</span><span class='rparen'>)</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_add'>add</span> <span class='ivar'>@entity</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_add'>add</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Render</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_entities'>entities</span> <span class='comment'># => [id_1, id_7, etc] +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_systems'>systems</span> <span class='comment'># => [:Render, :Damage, etc] +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> <span class='comment'># => [:name, :entities, :systems] +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span> <span class='ivar'>@scene_dump</span> +</code></pre> + +<h3 id="ff-stage">FF::Stage</h3> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</span><span class='period'>.</span><span class='id identifier rubyid_add'>add</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</span><span class='period'>.</span><span class='id identifier rubyid_remove'>remove</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</span><span class='period'>.</span><span class='id identifier rubyid_scene'>scene</span> <span class='comment'># => [:Scene1, :Scene2, etc] +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> <span class='comment'># => [:Scene1, :Scene2, etc] +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span> <span class='ivar'>@stage_dump</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</span><span class='period'>.</span><span class='id identifier rubyid_clear'>clear</span> +</code></pre> <h3 id="felflame">FelFlame</h3> -<p><code>ruby -FF.dump # => all data -FF.load @felflame_dump -</code> -— -<img src="https://filestorage.catgirls.rodeo/images/whitespace.png" alt="blank" /><br /> -<img src="https://filestorage.catgirls.rodeo/images/whitespace.png" alt="blank" /><br /> -<img src="https://filestorage.catgirls.rodeo/images/whitespace.png" alt="blank" /><br /> -— -# Ramblings: -Was my originally written up specs. Rewrote it as what is written above to be more clear. + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> <span class='comment'># => all data +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span> <span class='ivar'>@felflame_dump</span> +</code></pre> + +<hr> + +<p><img src="https://filestorage.catgirls.rodeo/images/whitespace.png" alt="blank"><br> +<img src="https://filestorage.catgirls.rodeo/images/whitespace.png" alt="blank"> </p> + +<h2 id="part-617b2bfdd646b891"><img src="https://filestorage.catgirls.rodeo/images/whitespace.png" alt="blank"> </h2> + +<h1 id="ramblings">Ramblings:</h1> + +<p>Was my originally written up specs. Rewrote it as what is written above to be more clear. The below are more verbose but not as helpful for me for implementation. Once the framework is complete I will use a more verbose explanation as below to help users of the framework.</p> -<hr /> +<hr> <p>Creating Entities:</p> -<p>```ruby -# Plain: -@my_entity = FF:Ent.new</p> - -<h1 id="with-components">With components:</h1> -<p>FF::Ent.new(FF::Cmp::Position.new(var1: ‘val’, var3: ‘change_default’), - FF::Cmp::Health.new(hp: 20), - FF::Cmp::Poison.new(dps: 3), - FF::Cmp::Poison.new(dps: 2), # This entity has 2 of the same component in it! - FF::Cmp::Selection.get(component_id)) # Components can belong to multiple entities, this component already existed elsewhere! -```</p> +<pre class="code ruby"><code class="ruby"><span class='comment'># Plain: +</span><span class='ivar'>@my_entity</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='symbol'>:Ent</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> -<p>Adding and Removing Components from Entities: -```ruby -@my_entity = FF::Ent.get(entity_id)</p> +<span class='comment'># With components: +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Ent</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="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Position</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>var1:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>val</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>var3:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>change_default</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='comma'>,</span> + <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>hp:</span> <span class='int'>20</span><span class='rparen'>)</span><span class='comma'>,</span> + <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Poison</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>dps:</span> <span class='int'>3</span><span class='rparen'>)</span><span class='comma'>,</span> + <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Poison</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>dps:</span> <span class='int'>2</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='comment'># This entity has 2 of the same component in it! +</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Selection</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='id identifier rubyid_component_id'>component_id</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='comment'># Components can belong to multiple entities, this component already existed elsewhere! +</span></code></pre> -<p>@my_entity.remove(component_id) -# Remove the specific component with that id</p> +<p>Adding and Removing Components from Entities:</p> -<p>@my_entity.remove(FF::Cmp::Poison) -# Removes all components of that type</p> +<pre class="code ruby"><code class="ruby"><span class='ivar'>@my_entity</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Ent</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='id identifier rubyid_entity_id'>entity_id</span><span class='rparen'>)</span> -<p>@my_entity.add(FF::Cmp::Selection.new) -# Adds a new Component -```</p> +<span class='ivar'>@my_entity</span><span class='period'>.</span><span class='id identifier rubyid_remove'>remove</span><span class='lparen'>(</span><span class='id identifier rubyid_component_id'>component_id</span><span class='rparen'>)</span> +<span class='comment'># Remove the specific component with that id +</span> +<span class='ivar'>@my_entity</span><span class='period'>.</span><span class='id identifier rubyid_remove'>remove</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Poison</span><span class='rparen'>)</span> +<span class='comment'># Removes all components of that type +</span> +<span class='ivar'>@my_entity</span><span class='period'>.</span><span class='id identifier rubyid_add'>add</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Selection</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='rparen'>)</span> +<span class='comment'># Adds a new Component +</span></code></pre> <p>Creating Component Class:</p> -<p><code>ruby -# Creating a component 'factory': -FF::Cmp.new('Name', 'var1', 'var2', var3: 'default') # Name, *no_default, **with_default -</code></p> - -<p>And then using those components: -<code>ruby -@new_cmp = FF::Cmp::Name.new(var1: 'oke') # var3 will be 'default', var2 will be nil -@new_cmp.var2 = 3 # now var2 is set -@new_cmp.set(var1: 'nope', var3: 'different') # var1 and var3 are now changed! -@new_cmp.to_hash # returns the hash of all variables! -</code></p> - -<p>Referencing Components: -<code>ruby -FF::Cmp::Name.get(component_id) # gets component by their unique id -FF::Cmp::Name.get_by_entity(entity_id) # gets component that is attached to the entitry -# will return array of components if there is multiple of same component -# if it returns array, see the `dump` section. Need to add custom method to the array -</code></p> - -<p>Creating Systems: -<code>ruby -FF::Sys.new(name: 'Render', position: 5, frame: 1) do -# position is the order in which systems get executed, can be overlapping but then order is unexpected between same positions -# frame is on which frame the system will be called. 0 is never, 1 is on each frame, 2 is every other frame, etc - FF::Cmp::Position.each do - #render your sprite - end -end -</code></p> - -<p>Enabling Systems: -```ruby -# By default systems are not enabled. You need to add them to a scene -FF::Scn::Scene1.add FF::Sys::Render</p> - -<h1 id="they-can-also-be-disabled-by-removing-them">They can also be disabled by removing them</h1> -<p>FF::Scn::Scene1.remove FF::Sys::Render -```</p> - -<p>Custom Hooks: -```ruby -# Systems can be configured to be called whenever a certain component is added, removed or set -FF::Sys::Damage.trigger_when FF::Cmp::Health.added -FF::Sys::Revive.trigger_when FF::Cmp::Health.removed -FF::Sys::Healup.trigger_when FF::Cmp::Health.is_set</p> - -<h1 id="systems-can-also-be-manually-called-so-you-can-code-custom-hooks">Systems can also be manually called so you can code custom hooks!</h1> -<p>FF::Sys::Restore.run -```</p> - -<p>Scenes contain Entities and Systems -```ruby -FF::Scn.new(name: ‘Scene1’, position: 1) -# Multiple scenes could be ran at once, if they do then they will run according -# to their positions as explained above</p> - -<p>FF::Scn::Scene1.add FF::Entity.get(entity_id) -# You can also just pass the id on its own => FF::Scn::Scene1.add entity_id -FF::Scn::Scene1.add FF::Entity.new</p> - -<p>FF::Scn::Scene1.add FF::Sys::Render -```</p> - -<p>To List Systems and Enties -<code>ruby -FF::Scn::Scene1.get_entities # => [id_1, id_7, etc] -FF::Scn::Scene1.get_systems # => [:Render, :Damage, etc] -</code></p> - -<p>To run a Scene it must be added to the Stage -<code>ruby -FF::Stg.add FF::Scn::Scene1 -</code></p> - -<p>Or remove it: -<code>ruby -FF::Stg.remove FF::Scn::Scene1 -</code></p> - -<p>Show all Scenes on the Stage: -<code>ruby -FF::Stg.scenes # => [:Scene1, :Scene2, etc] -</code></p> - -<p>Remove all Scenes from the Stage: -<code>ruby -FF::Stg.clear -</code></p> - -<p>You can save the current game state: -<code>ruby -@json_save_data = FF.dump -</code></p> - -<p>You can also specifically choose what you want to save: -```ruby -@hash_entity = FF::Ent.get(entity_id).dump -# to save all components related to a player</p> - -<p>@hash_component_single = FF::Cmp::Health.get(component_id).dump -# save all data in the single component(needs to handle arrays of components)</p> - -<p>@hash_component = FF::Cmp::Health.dump -# save all components of a certain component type</p> - -<p>@hash_components_all = FF::Cmp.dump -# save all components</p> - -<p>@hash_scene = FF::Scn::Scene1.dump -# save all entities, components, and activated systems in a given scene -```</p> - -<p>And then they can be loaded back in: -<code>ruby -FF::Ent.load(@hash_entity) -FF::Cmp::Health.load(@hash_component) -FF::Cmp.load(@hash_component) -FF::Cmp.load(@hash_components_all) -FF::Scn.load(@Hash_scene) -</code></p> - -<h3 id="to-do-listold">To Do List(old)</h3> - -<hr /> +<pre class="code ruby"><code class="ruby"><span class='comment'># Creating a component 'factory': +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Name</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>var1</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>var2</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>var3:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>default</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='comment'># Name, *no_default, **with_default +</span></code></pre> + +<p>And then using those components:</p> + +<pre class="code ruby"><code class="ruby"><span class='ivar'>@new_cmp</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>var1:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>oke</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='comment'># var3 will be 'default', var2 will be nil +</span><span class='ivar'>@new_cmp</span><span class='period'>.</span><span class='id identifier rubyid_var2'>var2</span> <span class='op'>=</span> <span class='int'>3</span> <span class='comment'># now var2 is set +</span><span class='ivar'>@new_cmp</span><span class='period'>.</span><span class='id identifier rubyid_set'>set</span><span class='lparen'>(</span><span class='label'>var1:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>nope</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>var3:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>different</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='comment'># var1 and var3 are now changed! +</span><span class='ivar'>@new_cmp</span><span class='period'>.</span><span class='id identifier rubyid_to_hash'>to_hash</span> <span class='comment'># returns the hash of all variables! +</span></code></pre> + +<p>Referencing Components:</p> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='id identifier rubyid_component_id'>component_id</span><span class='rparen'>)</span> <span class='comment'># gets component by their unique id +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_get_by_entity'>get_by_entity</span><span class='lparen'>(</span><span class='id identifier rubyid_entity_id'>entity_id</span><span class='rparen'>)</span> <span class='comment'># gets component that is attached to the entitry +</span><span class='comment'># will return array of components if there is multiple of same component +</span><span class='comment'># if it returns array, see the `dump` section. Need to add custom method to the array +</span></code></pre> + +<p>Creating Systems:</p> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>name:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Render</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>position:</span> <span class='int'>5</span><span class='comma'>,</span> <span class='label'>frame:</span> <span class='int'>1</span><span class='rparen'>)</span> <span class='kw'>do</span> +<span class='comment'># position is the order in which systems get executed, can be overlapping but then order is unexpected between same positions +</span><span class='comment'># frame is on which frame the system will be called. 0 is never, 1 is on each frame, 2 is every other frame, etc +</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Position</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> + <span class='comment'>#render your sprite +</span> <span class='kw'>end</span> +<span class='kw'>end</span> +</code></pre> + +<p>Enabling Systems:</p> + +<pre class="code ruby"><code class="ruby"><span class='comment'># By default systems are not enabled. You need to add them to a scene +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_add'>add</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Render</span> + +<span class='comment'># They can also be disabled by removing them +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_remove'>remove</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Render</span> +</code></pre> + +<p>Custom Hooks:</p> + +<pre class="code ruby"><code class="ruby"><span class='comment'># Systems can be configured to be called whenever a certain component is added, removed or set +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Damage</span><span class='period'>.</span><span class='id identifier rubyid_trigger_when'>trigger_when</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_added'>added</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Revive</span><span class='period'>.</span><span class='id identifier rubyid_trigger_when'>trigger_when</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_removed'>removed</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Healup</span><span class='period'>.</span><span class='id identifier rubyid_trigger_when'>trigger_when</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_is_set'>is_set</span> + +<span class='comment'># Systems can also be manually called so you can code custom hooks! +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Restore</span><span class='period'>.</span><span class='id identifier rubyid_run'>run</span> +</code></pre> + +<p>Scenes contain Entities and Systems</p> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>name:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Scene1</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>position:</span> <span class='int'>1</span><span class='rparen'>)</span> +<span class='comment'># Multiple scenes could be ran at once, if they do then they will run according +</span><span class='comment'># to their positions as explained above +</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_add'>add</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Entity</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='id identifier rubyid_entity_id'>entity_id</span><span class='rparen'>)</span> +<span class='comment'># You can also just pass the id on its own => FF::Scn::Scene1.add entity_id +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_add'>add</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Entity</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> + +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_add'>add</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Render</span> +</code></pre> + +<p>To List Systems and Enties</p> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_get_entities'>get_entities</span> <span class='comment'># => [id_1, id_7, etc] +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_get_systems'>get_systems</span> <span class='comment'># => [:Render, :Damage, etc] +</span></code></pre> + +<p>To run a Scene it must be added to the Stage</p> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</span><span class='period'>.</span><span class='id identifier rubyid_add'>add</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span> +</code></pre> + +<p>Or remove it:</p> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</span><span class='period'>.</span><span class='id identifier rubyid_remove'>remove</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span> +</code></pre> + +<p>Show all Scenes on the Stage:</p> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</span><span class='period'>.</span><span class='id identifier rubyid_scenes'>scenes</span> <span class='comment'># => [:Scene1, :Scene2, etc] +</span></code></pre> + +<p>Remove all Scenes from the Stage:</p> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</span><span class='period'>.</span><span class='id identifier rubyid_clear'>clear</span> +</code></pre> + +<p>You can save the current game state:</p> + +<pre class="code ruby"><code class="ruby"><span class='ivar'>@json_save_data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> +</code></pre> + +<p>You can also specifically choose what you want to save:</p> + +<pre class="code ruby"><code class="ruby"><span class='ivar'>@hash_entity</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Ent</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='id identifier rubyid_entity_id'>entity_id</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> +<span class='comment'># to save all components related to a player +</span> +<span class='ivar'>@hash_component_single</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='id identifier rubyid_component_id'>component_id</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> +<span class='comment'># save all data in the single component(needs to handle arrays of components) +</span> +<span class='ivar'>@hash_component</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> +<span class='comment'># save all components of a certain component type +</span> +<span class='ivar'>@hash_components_all</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> +<span class='comment'># save all components +</span> +<span class='ivar'>@hash_scene</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> +<span class='comment'># save all entities, components, and activated systems in a given scene +</span></code></pre> + +<p>And then they can be loaded back in:</p> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Ent</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span><span class='ivar'>@hash_entity</span><span class='rparen'>)</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span><span class='ivar'>@hash_component</span><span class='rparen'>)</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span><span class='ivar'>@hash_component</span><span class='rparen'>)</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span><span class='ivar'>@hash_components_all</span><span class='rparen'>)</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span><span class='ivar'>@Hash_scene</span><span class='rparen'>)</span> +</code></pre> + +<h3 id="to-do-list-old">To Do List(old)</h3> + +<hr> + +<ul> +<li>[ ] Some level of hierarchical support?</li> +<li>[ ] One Component to many entities.</li> +<li>[ ] Multiple of same component to one entity</li> +<li>[ ] State Machine?</li> +<li>[ ] Systems execute code on an event <ul> - <li>[ ] Some level of hierarchical support?</li> - <li>[ ] One Component to many entities.</li> - <li>[ ] Multiple of same component to one entity</li> - <li>[ ] State Machine?</li> - <li>[ ] Systems execute code on an event - <ul> - <li>[ ] Adding/removing/setting component is event</li> - <li>[ ] Frame is an event</li> - </ul> - </li> - <li>[ ] System Execution Order</li> - <li>[ ] Save Dump/Load</li> +<li>[ ] Adding/removing/setting component is event</li> +<li>[ ] Frame is an event</li> +</ul></li> +<li>[ ] System Execution Order</li> +<li>[ ] Save Dump/Load</li> </ul> </div></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/index.html b/docs/index.html index c5dd3b9..333991c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -57,17 +57,16 @@ <div class="clear"></div> </div> - <div id="content"><div id='filecontents'> -<p><img src="https://filestorage.catgirls.rodeo/images/felflame-logo-full.png" alt="FelFlame" /></p> + <div id="content"><div id='filecontents'><p><img src="https://filestorage.catgirls.rodeo/images/felflame-logo-full.png" alt="FelFlame"></p> -<p><a href="https://codeclimate.com/github/realtradam/FelFlame/maintainability"><img src="https://api.codeclimate.com/v1/badges/56d425d9078e98efb74b/maintainability" alt="Maintainability" /></a> -<a href="https://codeclimate.com/github/realtradam/FelFlame/test_coverage"><img src="https://api.codeclimate.com/v1/badges/56d425d9078e98efb74b/test_coverage" alt="Test Coverage" /></a> -<a href=""><img src="https://img.shields.io/badge/Documentation-100%25-br" alt="Documentation Coverage" /></a></p> +<p><a href="https://codeclimate.com/github/realtradam/FelFlame/maintainability"><img src="https://api.codeclimate.com/v1/badges/56d425d9078e98efb74b/maintainability" alt="Maintainability"></a> +<a href="https://codeclimate.com/github/realtradam/FelFlame/test_coverage"><img src="https://api.codeclimate.com/v1/badges/56d425d9078e98efb74b/test_coverage" alt="Test Coverage"></a> +<a href="https://felflame.tradam.fyi"><img src="https://img.shields.io/badge/Documentation-100%25-br" alt="Documentation Coverage"></a></p> <h1 id="what-is-this">What is this?</h1> <p>This is a Ruby ECS Framework for developing games. It is still a work in progress in the early stages, is not fit for use, and does not work. -It is designed to be platform agnostic, this means it should be able to work by plugging it into any ruby game engine/library/toolkit with minimal modifications.</p> +It is designed to be platform agnostic, this means it should be able to work by plugging it into any ruby game engine/library/toolkit with minimal modifications. </p> <p>I wanted a reusable framework so I could quickly and effectively develop games. I also want it to be more complete, as opposed to barebones or boilerplate. I plan to eventually add functionality outside of just ECS such as loading tilesets, a camera system, etc. that are built into the framework to work seamlessly.</p> @@ -78,280 +77,285 @@ I plan to eventually add functionality outside of just ECS such as loading tiles <p>Systems, Scenes, and the Stage still needs to be implemented</p> +<p>You can view the <a href="https://felflame.tradam.fyi">Documentation here</a></p> + <h1 id="specification">Specification</h1> <p>Below are the specifications I have imagined for this framework and have been written out. They are subject to change as FelFlame is developed and used.</p> <h2 id="aliases">Aliases:</h2> -<p><code>ruby -FF = FelFlame -FF::Ent = FelFlame::Entities -FF::Cmp = FelFlame::Components -FF::Sys = FelFlame::Systems -FF::Sce = FelFlame::Scenes -FF::Stg = FelFlame::Stage -</code> -## Classes:</p> - -<h3 id="ffentities">FF::Entities</h3> -<p>```ruby -FF::Ent.new(@component1, @component2) -@entity = FF::Ent.get(entity_id) -FF::Ent.delete(entity_id) [email protected] # => unique entity id</p> - -<p>@entity.add @component [email protected] @component [email protected] # => [:id, :scenes, :components] -FF::Ent.load @entity_dump -```</p> - -<h3 id="ffcomponents">FF::Components</h3> -<p>```ruby -FF::Cmp.new(‘Name’, ‘param1’, param2: ‘default’) -FF::Cmp::Name.new(param1: value1) -@component = FF::Cmp::Name.get(component_id) -FF::Cmp::Name.get_by_entity(entity_id) # gets array of components [email protected](param2: ‘not default’) [email protected] = ‘different not default’ -FF::Cmp::Name.detach(entity_id: ent_id, component_id: cmp_id) -FF::Cmp::Name.remove_entity(entity_id) # Removes entity from any components -FF::Cmp::Name.delete_component(component_id) # deletes component and removes from all relevant entities [email protected] # returns hash of all variables!(and the id) -FF::Cmp::Name.load @component_dump</p> - -<p>FF::Cmp::Health.added # => returns values for sys to setup -FF::Cmp::Health.removed # => returns values for sys to setup -FF::Cmp::Health.is_set(‘var’) # => returns values for sys to setup -```</p> - -<h3 id="ffsystems">FF::Systems</h3> -<p><code>ruby -FF::Sys.new(name: 'Render', position: 5, frame: 1) do - @component.each do - # functionality - end -end -FF::Sys::Render.trigger_when FF::Cmp::Health.added -FF::Sys::Render.trigger_when FF::Cmp::Health.removed -FF::Sys::Render.trigger_when FF::Cmp::Health.is_set('var') -</code></p> - -<h3 id="ffscenes">FF::Scenes</h3> -<p><code>ruby -FF::Scn.new(name: 'Scene1', position: 1) -FF::Scn::Scene1.add @entity -FF::Scn::Scene1.add FF::Sys::Render -FF::Scn::Scene1.entities # => [id_1, id_7, etc] -FF::Scn::Scene1.systems # => [:Render, :Damage, etc] -FF::Scn::Scene1.dump # => [:name, :entities, :systems] -FF::Scn::Scene1.load @scene_dump -</code></p> - -<h3 id="ffstage">FF::Stage</h3> -<p><code>ruby -FF::Stg.add FF::Scn::Scene1 -FF::Stg.remove FF::Scn::Scene1 -FF::Stg.scene # => [:Scene1, :Scene2, etc] -FF::Stg.dump # => [:Scene1, :Scene2, etc] -FF::Stg.load @stage_dump -FF::Stg.clear -</code></p> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></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='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Ent</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="FelFlame/Entities.html" title="FelFlame::Entities (class)">Entities</a></span></span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</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="FelFlame/Components.html" title="FelFlame::Components (class)">Components</a></span></span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</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="FelFlame/Systems.html" title="FelFlame::Systems (class)">Systems</a></span></span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sce</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'>Scenes</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</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'>Stage</span> +</code></pre> + +<h2 id="classes">Classes:</h2> + +<h3 id="ff-entities">FF::Entities</h3> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Ent</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@component1</span><span class='comma'>,</span> <span class='ivar'>@component2</span><span class='rparen'>)</span> +<span class='ivar'>@entity</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Ent</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='id identifier rubyid_entity_id'>entity_id</span><span class='rparen'>)</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Ent</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_entity_id'>entity_id</span><span class='rparen'>)</span> +<span class='ivar'>@entity</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span> <span class='comment'># => unique entity id +</span> +<span class='ivar'>@entity</span><span class='period'>.</span><span class='id identifier rubyid_add'>add</span> <span class='ivar'>@component</span> +<span class='ivar'>@entity</span><span class='period'>.</span><span class='id identifier rubyid_remove'>remove</span> <span class='ivar'>@component</span> +<span class='ivar'>@entity</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> <span class='comment'># => [:id, :scenes, :components] +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Ent</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span> <span class='ivar'>@entity_dump</span> +</code></pre> + +<h3 id="ff-components">FF::Components</h3> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Name</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>param1</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>param2:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>default</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>param1:</span> <span class='id identifier rubyid_value1'>value1</span><span class='rparen'>)</span> +<span class='ivar'>@component</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='id identifier rubyid_component_id'>component_id</span><span class='rparen'>)</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_get_by_entity'>get_by_entity</span><span class='lparen'>(</span><span class='id identifier rubyid_entity_id'>entity_id</span><span class='rparen'>)</span> <span class='comment'># gets array of components +</span><span class='ivar'>@component</span><span class='period'>.</span><span class='id identifier rubyid_set'>set</span><span class='lparen'>(</span><span class='label'>param2:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>not default</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> +<span class='ivar'>@component</span><span class='period'>.</span><span class='id identifier rubyid_param2'>param2</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>different not default</span><span class='tstring_end'>'</span></span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_detach'>detach</span><span class='lparen'>(</span><span class='label'>entity_id:</span> <span class='id identifier rubyid_ent_id'>ent_id</span><span class='comma'>,</span> <span class='label'>component_id:</span> <span class='id identifier rubyid_cmp_id'>cmp_id</span><span class='rparen'>)</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_remove_entity'>remove_entity</span><span class='lparen'>(</span><span class='id identifier rubyid_entity_id'>entity_id</span><span class='rparen'>)</span> <span class='comment'># Removes entity from any components +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_delete_component'>delete_component</span><span class='lparen'>(</span><span class='id identifier rubyid_component_id'>component_id</span><span class='rparen'>)</span> <span class='comment'># deletes component and removes from all relevant entities +</span><span class='ivar'>@component</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> <span class='comment'># returns hash of all variables!(and the id) +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span> <span class='ivar'>@component_dump</span> + +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_added'>added</span> <span class='comment'># => returns values for sys to setup +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_removed'>removed</span> <span class='comment'># => returns values for sys to setup +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_is_set'>is_set</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>var</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='comment'># => returns values for sys to setup +</span></code></pre> + +<h3 id="ff-systems">FF::Systems</h3> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>name:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Render</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>position:</span> <span class='int'>5</span><span class='comma'>,</span> <span class='label'>frame:</span> <span class='int'>1</span><span class='rparen'>)</span> <span class='kw'>do</span> + <span class='ivar'>@component</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> + <span class='comment'># functionality +</span> <span class='kw'>end</span> +<span class='kw'>end</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Render</span><span class='period'>.</span><span class='id identifier rubyid_trigger_when'>trigger_when</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_added'>added</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Render</span><span class='period'>.</span><span class='id identifier rubyid_trigger_when'>trigger_when</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_removed'>removed</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Render</span><span class='period'>.</span><span class='id identifier rubyid_trigger_when'>trigger_when</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_is_set'>is_set</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>var</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> +</code></pre> + +<h3 id="ff-scenes">FF::Scenes</h3> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>name:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Scene1</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>position:</span> <span class='int'>1</span><span class='rparen'>)</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_add'>add</span> <span class='ivar'>@entity</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_add'>add</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Render</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_entities'>entities</span> <span class='comment'># => [id_1, id_7, etc] +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_systems'>systems</span> <span class='comment'># => [:Render, :Damage, etc] +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> <span class='comment'># => [:name, :entities, :systems] +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span> <span class='ivar'>@scene_dump</span> +</code></pre> + +<h3 id="ff-stage">FF::Stage</h3> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</span><span class='period'>.</span><span class='id identifier rubyid_add'>add</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</span><span class='period'>.</span><span class='id identifier rubyid_remove'>remove</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</span><span class='period'>.</span><span class='id identifier rubyid_scene'>scene</span> <span class='comment'># => [:Scene1, :Scene2, etc] +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> <span class='comment'># => [:Scene1, :Scene2, etc] +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span> <span class='ivar'>@stage_dump</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</span><span class='period'>.</span><span class='id identifier rubyid_clear'>clear</span> +</code></pre> <h3 id="felflame">FelFlame</h3> -<p><code>ruby -FF.dump # => all data -FF.load @felflame_dump -</code> -— -<img src="https://filestorage.catgirls.rodeo/images/whitespace.png" alt="blank" /><br /> -<img src="https://filestorage.catgirls.rodeo/images/whitespace.png" alt="blank" /><br /> -<img src="https://filestorage.catgirls.rodeo/images/whitespace.png" alt="blank" /><br /> -— -# Ramblings: -Was my originally written up specs. Rewrote it as what is written above to be more clear. + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> <span class='comment'># => all data +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span> <span class='ivar'>@felflame_dump</span> +</code></pre> + +<hr> + +<p><img src="https://filestorage.catgirls.rodeo/images/whitespace.png" alt="blank"><br> +<img src="https://filestorage.catgirls.rodeo/images/whitespace.png" alt="blank"> </p> + +<h2 id="part-617b2bfdd646b891"><img src="https://filestorage.catgirls.rodeo/images/whitespace.png" alt="blank"> </h2> + +<h1 id="ramblings">Ramblings:</h1> + +<p>Was my originally written up specs. Rewrote it as what is written above to be more clear. The below are more verbose but not as helpful for me for implementation. Once the framework is complete I will use a more verbose explanation as below to help users of the framework.</p> -<hr /> +<hr> <p>Creating Entities:</p> -<p>```ruby -# Plain: -@my_entity = FF:Ent.new</p> - -<h1 id="with-components">With components:</h1> -<p>FF::Ent.new(FF::Cmp::Position.new(var1: ‘val’, var3: ‘change_default’), - FF::Cmp::Health.new(hp: 20), - FF::Cmp::Poison.new(dps: 3), - FF::Cmp::Poison.new(dps: 2), # This entity has 2 of the same component in it! - FF::Cmp::Selection.get(component_id)) # Components can belong to multiple entities, this component already existed elsewhere! -```</p> +<pre class="code ruby"><code class="ruby"><span class='comment'># Plain: +</span><span class='ivar'>@my_entity</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='symbol'>:Ent</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> -<p>Adding and Removing Components from Entities: -```ruby -@my_entity = FF::Ent.get(entity_id)</p> +<span class='comment'># With components: +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Ent</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="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Position</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>var1:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>val</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>var3:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>change_default</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='comma'>,</span> + <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>hp:</span> <span class='int'>20</span><span class='rparen'>)</span><span class='comma'>,</span> + <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Poison</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>dps:</span> <span class='int'>3</span><span class='rparen'>)</span><span class='comma'>,</span> + <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Poison</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>dps:</span> <span class='int'>2</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='comment'># This entity has 2 of the same component in it! +</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Selection</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='id identifier rubyid_component_id'>component_id</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='comment'># Components can belong to multiple entities, this component already existed elsewhere! +</span></code></pre> -<p>@my_entity.remove(component_id) -# Remove the specific component with that id</p> +<p>Adding and Removing Components from Entities:</p> -<p>@my_entity.remove(FF::Cmp::Poison) -# Removes all components of that type</p> +<pre class="code ruby"><code class="ruby"><span class='ivar'>@my_entity</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Ent</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='id identifier rubyid_entity_id'>entity_id</span><span class='rparen'>)</span> -<p>@my_entity.add(FF::Cmp::Selection.new) -# Adds a new Component -```</p> +<span class='ivar'>@my_entity</span><span class='period'>.</span><span class='id identifier rubyid_remove'>remove</span><span class='lparen'>(</span><span class='id identifier rubyid_component_id'>component_id</span><span class='rparen'>)</span> +<span class='comment'># Remove the specific component with that id +</span> +<span class='ivar'>@my_entity</span><span class='period'>.</span><span class='id identifier rubyid_remove'>remove</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Poison</span><span class='rparen'>)</span> +<span class='comment'># Removes all components of that type +</span> +<span class='ivar'>@my_entity</span><span class='period'>.</span><span class='id identifier rubyid_add'>add</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Selection</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='rparen'>)</span> +<span class='comment'># Adds a new Component +</span></code></pre> <p>Creating Component Class:</p> -<p><code>ruby -# Creating a component 'factory': -FF::Cmp.new('Name', 'var1', 'var2', var3: 'default') # Name, *no_default, **with_default -</code></p> - -<p>And then using those components: -<code>ruby -@new_cmp = FF::Cmp::Name.new(var1: 'oke') # var3 will be 'default', var2 will be nil -@new_cmp.var2 = 3 # now var2 is set -@new_cmp.set(var1: 'nope', var3: 'different') # var1 and var3 are now changed! -@new_cmp.to_hash # returns the hash of all variables! -</code></p> - -<p>Referencing Components: -<code>ruby -FF::Cmp::Name.get(component_id) # gets component by their unique id -FF::Cmp::Name.get_by_entity(entity_id) # gets component that is attached to the entitry -# will return array of components if there is multiple of same component -# if it returns array, see the `dump` section. Need to add custom method to the array -</code></p> - -<p>Creating Systems: -<code>ruby -FF::Sys.new(name: 'Render', position: 5, frame: 1) do -# position is the order in which systems get executed, can be overlapping but then order is unexpected between same positions -# frame is on which frame the system will be called. 0 is never, 1 is on each frame, 2 is every other frame, etc - FF::Cmp::Position.each do - #render your sprite - end -end -</code></p> - -<p>Enabling Systems: -```ruby -# By default systems are not enabled. You need to add them to a scene -FF::Scn::Scene1.add FF::Sys::Render</p> - -<h1 id="they-can-also-be-disabled-by-removing-them">They can also be disabled by removing them</h1> -<p>FF::Scn::Scene1.remove FF::Sys::Render -```</p> - -<p>Custom Hooks: -```ruby -# Systems can be configured to be called whenever a certain component is added, removed or set -FF::Sys::Damage.trigger_when FF::Cmp::Health.added -FF::Sys::Revive.trigger_when FF::Cmp::Health.removed -FF::Sys::Healup.trigger_when FF::Cmp::Health.is_set</p> - -<h1 id="systems-can-also-be-manually-called-so-you-can-code-custom-hooks">Systems can also be manually called so you can code custom hooks!</h1> -<p>FF::Sys::Restore.run -```</p> - -<p>Scenes contain Entities and Systems -```ruby -FF::Scn.new(name: ‘Scene1’, position: 1) -# Multiple scenes could be ran at once, if they do then they will run according -# to their positions as explained above</p> - -<p>FF::Scn::Scene1.add FF::Entity.get(entity_id) -# You can also just pass the id on its own => FF::Scn::Scene1.add entity_id -FF::Scn::Scene1.add FF::Entity.new</p> - -<p>FF::Scn::Scene1.add FF::Sys::Render -```</p> - -<p>To List Systems and Enties -<code>ruby -FF::Scn::Scene1.get_entities # => [id_1, id_7, etc] -FF::Scn::Scene1.get_systems # => [:Render, :Damage, etc] -</code></p> - -<p>To run a Scene it must be added to the Stage -<code>ruby -FF::Stg.add FF::Scn::Scene1 -</code></p> - -<p>Or remove it: -<code>ruby -FF::Stg.remove FF::Scn::Scene1 -</code></p> - -<p>Show all Scenes on the Stage: -<code>ruby -FF::Stg.scenes # => [:Scene1, :Scene2, etc] -</code></p> - -<p>Remove all Scenes from the Stage: -<code>ruby -FF::Stg.clear -</code></p> - -<p>You can save the current game state: -<code>ruby -@json_save_data = FF.dump -</code></p> - -<p>You can also specifically choose what you want to save: -```ruby -@hash_entity = FF::Ent.get(entity_id).dump -# to save all components related to a player</p> - -<p>@hash_component_single = FF::Cmp::Health.get(component_id).dump -# save all data in the single component(needs to handle arrays of components)</p> - -<p>@hash_component = FF::Cmp::Health.dump -# save all components of a certain component type</p> - -<p>@hash_components_all = FF::Cmp.dump -# save all components</p> - -<p>@hash_scene = FF::Scn::Scene1.dump -# save all entities, components, and activated systems in a given scene -```</p> - -<p>And then they can be loaded back in: -<code>ruby -FF::Ent.load(@hash_entity) -FF::Cmp::Health.load(@hash_component) -FF::Cmp.load(@hash_component) -FF::Cmp.load(@hash_components_all) -FF::Scn.load(@Hash_scene) -</code></p> - -<h3 id="to-do-listold">To Do List(old)</h3> - -<hr /> +<pre class="code ruby"><code class="ruby"><span class='comment'># Creating a component 'factory': +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Name</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>var1</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>var2</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>var3:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>default</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='comment'># Name, *no_default, **with_default +</span></code></pre> + +<p>And then using those components:</p> + +<pre class="code ruby"><code class="ruby"><span class='ivar'>@new_cmp</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>var1:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>oke</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='comment'># var3 will be 'default', var2 will be nil +</span><span class='ivar'>@new_cmp</span><span class='period'>.</span><span class='id identifier rubyid_var2'>var2</span> <span class='op'>=</span> <span class='int'>3</span> <span class='comment'># now var2 is set +</span><span class='ivar'>@new_cmp</span><span class='period'>.</span><span class='id identifier rubyid_set'>set</span><span class='lparen'>(</span><span class='label'>var1:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>nope</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>var3:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>different</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='comment'># var1 and var3 are now changed! +</span><span class='ivar'>@new_cmp</span><span class='period'>.</span><span class='id identifier rubyid_to_hash'>to_hash</span> <span class='comment'># returns the hash of all variables! +</span></code></pre> + +<p>Referencing Components:</p> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='id identifier rubyid_component_id'>component_id</span><span class='rparen'>)</span> <span class='comment'># gets component by their unique id +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_get_by_entity'>get_by_entity</span><span class='lparen'>(</span><span class='id identifier rubyid_entity_id'>entity_id</span><span class='rparen'>)</span> <span class='comment'># gets component that is attached to the entitry +</span><span class='comment'># will return array of components if there is multiple of same component +</span><span class='comment'># if it returns array, see the `dump` section. Need to add custom method to the array +</span></code></pre> + +<p>Creating Systems:</p> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>name:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Render</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>position:</span> <span class='int'>5</span><span class='comma'>,</span> <span class='label'>frame:</span> <span class='int'>1</span><span class='rparen'>)</span> <span class='kw'>do</span> +<span class='comment'># position is the order in which systems get executed, can be overlapping but then order is unexpected between same positions +</span><span class='comment'># frame is on which frame the system will be called. 0 is never, 1 is on each frame, 2 is every other frame, etc +</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Position</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> + <span class='comment'>#render your sprite +</span> <span class='kw'>end</span> +<span class='kw'>end</span> +</code></pre> + +<p>Enabling Systems:</p> + +<pre class="code ruby"><code class="ruby"><span class='comment'># By default systems are not enabled. You need to add them to a scene +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_add'>add</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Render</span> + +<span class='comment'># They can also be disabled by removing them +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_remove'>remove</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Render</span> +</code></pre> + +<p>Custom Hooks:</p> + +<pre class="code ruby"><code class="ruby"><span class='comment'># Systems can be configured to be called whenever a certain component is added, removed or set +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Damage</span><span class='period'>.</span><span class='id identifier rubyid_trigger_when'>trigger_when</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_added'>added</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Revive</span><span class='period'>.</span><span class='id identifier rubyid_trigger_when'>trigger_when</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_removed'>removed</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Healup</span><span class='period'>.</span><span class='id identifier rubyid_trigger_when'>trigger_when</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_is_set'>is_set</span> + +<span class='comment'># Systems can also be manually called so you can code custom hooks! +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Restore</span><span class='period'>.</span><span class='id identifier rubyid_run'>run</span> +</code></pre> + +<p>Scenes contain Entities and Systems</p> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>name:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Scene1</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>position:</span> <span class='int'>1</span><span class='rparen'>)</span> +<span class='comment'># Multiple scenes could be ran at once, if they do then they will run according +</span><span class='comment'># to their positions as explained above +</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_add'>add</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Entity</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='id identifier rubyid_entity_id'>entity_id</span><span class='rparen'>)</span> +<span class='comment'># You can also just pass the id on its own => FF::Scn::Scene1.add entity_id +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_add'>add</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Entity</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> + +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_add'>add</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Sys</span><span class='op'>::</span><span class='const'>Render</span> +</code></pre> + +<p>To List Systems and Enties</p> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_get_entities'>get_entities</span> <span class='comment'># => [id_1, id_7, etc] +</span><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_get_systems'>get_systems</span> <span class='comment'># => [:Render, :Damage, etc] +</span></code></pre> + +<p>To run a Scene it must be added to the Stage</p> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</span><span class='period'>.</span><span class='id identifier rubyid_add'>add</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span> +</code></pre> + +<p>Or remove it:</p> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</span><span class='period'>.</span><span class='id identifier rubyid_remove'>remove</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span> +</code></pre> + +<p>Show all Scenes on the Stage:</p> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</span><span class='period'>.</span><span class='id identifier rubyid_scenes'>scenes</span> <span class='comment'># => [:Scene1, :Scene2, etc] +</span></code></pre> + +<p>Remove all Scenes from the Stage:</p> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Stg</span><span class='period'>.</span><span class='id identifier rubyid_clear'>clear</span> +</code></pre> + +<p>You can save the current game state:</p> + +<pre class="code ruby"><code class="ruby"><span class='ivar'>@json_save_data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> +</code></pre> + +<p>You can also specifically choose what you want to save:</p> + +<pre class="code ruby"><code class="ruby"><span class='ivar'>@hash_entity</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Ent</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='id identifier rubyid_entity_id'>entity_id</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> +<span class='comment'># to save all components related to a player +</span> +<span class='ivar'>@hash_component_single</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='id identifier rubyid_component_id'>component_id</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> +<span class='comment'># save all data in the single component(needs to handle arrays of components) +</span> +<span class='ivar'>@hash_component</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> +<span class='comment'># save all components of a certain component type +</span> +<span class='ivar'>@hash_components_all</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> +<span class='comment'># save all components +</span> +<span class='ivar'>@hash_scene</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='op'>::</span><span class='const'>Scene1</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> +<span class='comment'># save all entities, components, and activated systems in a given scene +</span></code></pre> + +<p>And then they can be loaded back in:</p> + +<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Ent</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span><span class='ivar'>@hash_entity</span><span class='rparen'>)</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='op'>::</span><span class='const'>Health</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span><span class='ivar'>@hash_component</span><span class='rparen'>)</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span><span class='ivar'>@hash_component</span><span class='rparen'>)</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Cmp</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span><span class='ivar'>@hash_components_all</span><span class='rparen'>)</span> +<span class='const'><span class='object_link'><a href="top-level-namespace.html#FF-constant" title="FF (constant)">FF</a></span></span><span class='op'>::</span><span class='const'>Scn</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span><span class='ivar'>@Hash_scene</span><span class='rparen'>)</span> +</code></pre> + +<h3 id="to-do-list-old">To Do List(old)</h3> + +<hr> + +<ul> +<li>[ ] Some level of hierarchical support?</li> +<li>[ ] One Component to many entities.</li> +<li>[ ] Multiple of same component to one entity</li> +<li>[ ] State Machine?</li> +<li>[ ] Systems execute code on an event <ul> - <li>[ ] Some level of hierarchical support?</li> - <li>[ ] One Component to many entities.</li> - <li>[ ] Multiple of same component to one entity</li> - <li>[ ] State Machine?</li> - <li>[ ] Systems execute code on an event - <ul> - <li>[ ] Adding/removing/setting component is event</li> - <li>[ ] Frame is an event</li> - </ul> - </li> - <li>[ ] System Execution Order</li> - <li>[ ] Save Dump/Load</li> +<li>[ ] Adding/removing/setting component is event</li> +<li>[ ] Frame is an event</li> +</ul></li> +<li>[ ] System Execution Order</li> +<li>[ ] Save Dump/Load</li> </ul> </div></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/method_list.html b/docs/method_list.html index 10114af..065cba8 100644 --- a/docs/method_list.html +++ b/docs/method_list.html @@ -46,8 +46,8 @@ <li class="odd "> <div class="item"> - <span class='object_link'><a href="FelFlame/Helper/ComponentManagerTemplate.html#[]-class_method" title="FelFlame::Helper::ComponentManagerTemplate.[] (method)">[]</a></span> - <small>FelFlame::Helper::ComponentManagerTemplate</small> + <span class='object_link'><a href="FelFlame/Helper/ComponentManager.html#[]-class_method" title="FelFlame::Helper::ComponentManager.[] (method)">[]</a></span> + <small>FelFlame::Helper::ComponentManager</small> </div> </li> @@ -70,8 +70,8 @@ <li class="even "> <div class="item"> - <span class='object_link'><a href="FelFlame/Helper/ComponentManagerTemplate.html#attrs-instance_method" title="FelFlame::Helper::ComponentManagerTemplate#attrs (method)">#attrs</a></span> - <small>FelFlame::Helper::ComponentManagerTemplate</small> + <span class='object_link'><a href="FelFlame/Helper/ComponentManager.html#attrs-instance_method" title="FelFlame::Helper::ComponentManager#attrs (method)">#attrs</a></span> + <small>FelFlame::Helper::ComponentManager</small> </div> </li> @@ -86,8 +86,8 @@ <li class="even "> <div class="item"> - <span class='object_link'><a href="FelFlame/Helper/ComponentManagerTemplate.html#delete-instance_method" title="FelFlame::Helper::ComponentManagerTemplate#delete (method)">#delete</a></span> - <small>FelFlame::Helper::ComponentManagerTemplate</small> + <span class='object_link'><a href="FelFlame/Helper/ComponentManager.html#delete-instance_method" title="FelFlame::Helper::ComponentManager#delete (method)">#delete</a></span> + <small>FelFlame::Helper::ComponentManager</small> </div> </li> @@ -110,8 +110,8 @@ <li class="odd "> <div class="item"> - <span class='object_link'><a href="FelFlame/Helper/ComponentManagerTemplate.html#each-class_method" title="FelFlame::Helper::ComponentManagerTemplate.each (method)">each</a></span> - <small>FelFlame::Helper::ComponentManagerTemplate</small> + <span class='object_link'><a href="FelFlame/Helper/ComponentManager.html#each-class_method" title="FelFlame::Helper::ComponentManager.each (method)">each</a></span> + <small>FelFlame::Helper::ComponentManager</small> </div> </li> @@ -126,15 +126,15 @@ <li class="odd "> <div class="item"> - <span class='object_link'><a href="FelFlame/Helper/ComponentManagerTemplate.html#id-instance_method" title="FelFlame::Helper::ComponentManagerTemplate#id (method)">#id</a></span> - <small>FelFlame::Helper::ComponentManagerTemplate</small> + <span class='object_link'><a href="FelFlame/Helper/ComponentManager.html#entities-instance_method" title="FelFlame::Helper::ComponentManager#entities (method)">#entities</a></span> + <small>FelFlame::Helper::ComponentManager</small> </div> </li> <li class="even "> <div class="item"> - <span class='object_link'><a href="FelFlame/Entities.html#id-instance_method" title="FelFlame::Entities#id (method)">#id</a></span> + <span class='object_link'><a href="FelFlame/Entities.html#from_json-class_method" title="FelFlame::Entities.from_json (method)">from_json</a></span> <small>FelFlame::Entities</small> </div> </li> @@ -142,80 +142,88 @@ <li class="odd "> <div class="item"> - <span class='object_link'><a href="FelFlame/Entities.html#initialize-instance_method" title="FelFlame::Entities#initialize (method)">#initialize</a></span> - <small>FelFlame::Entities</small> + <span class='object_link'><a href="FelFlame/Helper/ComponentManager.html#id-instance_method" title="FelFlame::Helper::ComponentManager#id (method)">#id</a></span> + <small>FelFlame::Helper::ComponentManager</small> </div> </li> <li class="even "> <div class="item"> - <span class='object_link'><a href="FelFlame/Helper/ComponentManagerTemplate.html#linked_entities-instance_method" title="FelFlame::Helper::ComponentManagerTemplate#linked_entities (method)">#linked_entities</a></span> - <small>FelFlame::Helper::ComponentManagerTemplate</small> + <span class='object_link'><a href="FelFlame/Entities.html#id-instance_method" title="FelFlame::Entities#id (method)">#id</a></span> + <small>FelFlame::Entities</small> </div> </li> <li class="odd "> <div class="item"> - <span class='object_link'><a href="FelFlame/Components.html#new-class_method" title="FelFlame::Components.new (method)">new</a></span> - <small>FelFlame::Components</small> + <span class='object_link'><a href="FelFlame/Entities.html#initialize-instance_method" title="FelFlame::Entities#initialize (method)">#initialize</a></span> + <small>FelFlame::Entities</small> </div> </li> <li class="even "> <div class="item"> - <span class='object_link'><a href="FelFlame/Helper/ComponentManagerTemplate.html#new-class_method" title="FelFlame::Helper::ComponentManagerTemplate.new (method)">new</a></span> - <small>FelFlame::Helper::ComponentManagerTemplate</small> + <span class='object_link'><a href="FelFlame/Components.html#new-class_method" title="FelFlame::Components.new (method)">new</a></span> + <small>FelFlame::Components</small> </div> </li> <li class="odd "> <div class="item"> - <span class='object_link'><a href="FelFlame/Entities.html#remove-instance_method" title="FelFlame::Entities#remove (method)">#remove</a></span> - <small>FelFlame::Entities</small> + <span class='object_link'><a href="FelFlame/Helper/ComponentManager.html#new-class_method" title="FelFlame::Helper::ComponentManager.new (method)">new</a></span> + <small>FelFlame::Helper::ComponentManager</small> </div> </li> <li class="even "> <div class="item"> - <span class='object_link'><a href="FelFlame/Helper/ComponentManagerTemplate.html#to_i-instance_method" title="FelFlame::Helper::ComponentManagerTemplate#to_i (method)">#to_i</a></span> - <small>FelFlame::Helper::ComponentManagerTemplate</small> + <span class='object_link'><a href="FelFlame/Entities.html#remove-instance_method" title="FelFlame::Entities#remove (method)">#remove</a></span> + <small>FelFlame::Entities</small> </div> </li> <li class="odd "> <div class="item"> - <span class='object_link'><a href="FelFlame/Entities.html#to_i-instance_method" title="FelFlame::Entities#to_i (method)">#to_i</a></span> - <small>FelFlame::Entities</small> + <span class='object_link'><a href="FelFlame/Helper/ComponentManager.html#to_i-instance_method" title="FelFlame::Helper::ComponentManager#to_i (method)">#to_i</a></span> + <small>FelFlame::Helper::ComponentManager</small> </div> </li> <li class="even "> <div class="item"> - <span class='object_link'><a href="FelFlame/Helper/ComponentManagerTemplate.html#to_json-instance_method" title="FelFlame::Helper::ComponentManagerTemplate#to_json (method)">#to_json</a></span> - <small>FelFlame::Helper::ComponentManagerTemplate</small> + <span class='object_link'><a href="FelFlame/Entities.html#to_i-instance_method" title="FelFlame::Entities#to_i (method)">#to_i</a></span> + <small>FelFlame::Entities</small> </div> </li> <li class="odd "> <div class="item"> + <span class='object_link'><a href="FelFlame/Helper/ComponentManager.html#to_json-instance_method" title="FelFlame::Helper::ComponentManager#to_json (method)">#to_json</a></span> + <small>FelFlame::Helper::ComponentManager</small> + </div> + </li> + + + <li class="even "> + <div class="item"> <span class='object_link'><a href="FelFlame/Entities.html#to_json-instance_method" title="FelFlame::Entities#to_json (method)">#to_json</a></span> <small>FelFlame::Entities</small> </div> </li> - <li class="even "> + <li class="odd "> <div class="item"> - <span class='object_link'><a href="FelFlame/Helper/ComponentManagerTemplate.html#update_attrs-instance_method" title="FelFlame::Helper::ComponentManagerTemplate#update_attrs (method)">#update_attrs</a></span> - <small>FelFlame::Helper::ComponentManagerTemplate</small> + <span class='object_link'><a href="FelFlame/Helper/ComponentManager.html#update_attrs-instance_method" title="FelFlame::Helper::ComponentManager#update_attrs (method)">#update_attrs</a></span> + <small>FelFlame::Helper::ComponentManager</small> </div> </li> diff --git a/docs/top-level-namespace.html b/docs/top-level-namespace.html index c924992..b2bd7c9 100644 --- a/docs/top-level-namespace.html +++ b/docs/top-level-namespace.html @@ -127,9 +127,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> |
