felflame 3.0.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -37,7 +37,7 @@
37
37
  <div id="menu">
38
38
 
39
39
  <a href="../_index.html">Index (C)</a> &raquo;
40
- <span class='title'><span class='object_link'><a href="../FelFlame.html" title="FelFlame (class)">FelFlame</a></span></span>
40
+ <span class='title'><span class='object_link'><a href="../FelFlame.html" title="FelFlame (module)">FelFlame</a></span></span>
41
41
  &raquo;
42
42
  <span class="title">ComponentManager</span>
43
43
 
@@ -102,7 +102,7 @@
102
102
  <h2>Overview</h2><div class="docstring">
103
103
  <div class="discussion">
104
104
 
105
- <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::ComponentManager#attrs (method)">#attrs</a></span> and <span class='object_link'><a href="#update_attrs-instance_method" title="FelFlame::ComponentManager#update_attrs (method)">#update_attrs</a></span> methods instead.</p>
105
+ <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="#to_h-instance_method" title="FelFlame::ComponentManager#to_h (method)">#to_h</a></span> and <span class='object_link'><a href="#update_attrs-instance_method" title="FelFlame::ComponentManager#update_attrs (method)">#update_attrs</a></span> methods instead.</p>
106
106
 
107
107
 
108
108
  </div>
@@ -264,35 +264,6 @@
264
264
  <p>Stores references to systems that should be triggered when an attribute from this manager is changed.</p>
265
265
  </div></span>
266
266
 
267
- </li>
268
-
269
-
270
- <li class="public ">
271
- <span class="summary_signature">
272
-
273
- <a href="#id-instance_method" title="#id (instance method)">#<strong>id</strong> &#x21d2; Integer </a>
274
-
275
-
276
-
277
- </span>
278
-
279
-
280
-
281
-
282
- <span class="note title readonly">readonly</span>
283
-
284
-
285
-
286
-
287
-
288
-
289
-
290
-
291
-
292
- <span class="summary_desc"><div class='inline'>
293
- <p>Holds the <span class='object_link'><a href="#id-instance_method" title="FelFlame::ComponentManager#id (method)">unique ID</a></span> of a component.</p>
294
- </div></span>
295
-
296
267
  </li>
297
268
 
298
269
 
@@ -331,63 +302,6 @@
331
302
 
332
303
 
333
304
 
334
- <h2>
335
- Class Method Summary
336
- <small><a href="#" class="summary_toggle">collapse</a></small>
337
- </h2>
338
-
339
- <ul class="summary">
340
-
341
- <li class="public ">
342
- <span class="summary_signature">
343
-
344
- <a href="#[]-class_method" title="[] (class method)">.<strong>[]</strong>(component_id) &#x21d2; Component </a>
345
-
346
-
347
-
348
- </span>
349
-
350
-
351
-
352
-
353
-
354
-
355
-
356
-
357
-
358
- <span class="summary_desc"><div class='inline'>
359
- <p>Gets a Component from the given <span class='object_link'><a href="#id-instance_method" title="FelFlame::ComponentManager#id (method)">unique ID</a></span>.</p>
360
- </div></span>
361
-
362
- </li>
363
-
364
-
365
- <li class="public ">
366
- <span class="summary_signature">
367
-
368
- <a href="#each-class_method" title="each (class method)">.<strong>each</strong>(&amp;block) &#x21d2; Enumerator </a>
369
-
370
-
371
-
372
- </span>
373
-
374
-
375
-
376
-
377
-
378
-
379
-
380
-
381
-
382
- <span class="summary_desc"><div class='inline'>
383
- <p>Iterates over all components within the component manager.</p>
384
- </div></span>
385
-
386
- </li>
387
-
388
-
389
- </ul>
390
-
391
305
  <h2>
392
306
  Instance Method Summary
393
307
  <small><a href="#" class="summary_toggle">collapse</a></small>
@@ -398,31 +312,7 @@
398
312
  <li class="public ">
399
313
  <span class="summary_signature">
400
314
 
401
- <a href="#attr_changed_trigger_systems-instance_method" title="#attr_changed_trigger_systems (instance method)">#<strong>attr_changed_trigger_systems</strong>(attr) &#x21d2; Boolean </a>
402
-
403
-
404
-
405
- </span>
406
-
407
-
408
-
409
-
410
-
411
-
412
-
413
-
414
-
415
- <span class="summary_desc"><div class='inline'>
416
- <p>Execute systems that have been added to execute on variable change.</p>
417
- </div></span>
418
-
419
- </li>
420
-
421
-
422
- <li class="public ">
423
- <span class="summary_signature">
424
-
425
- <a href="#attrs-instance_method" title="#attrs (instance method)">#<strong>attrs</strong> &#x21d2; Hash&lt;Symbol, Value&gt; </a>
315
+ <a href="#delete-instance_method" title="#delete (instance method)">#<strong>delete</strong> &#x21d2; Boolean </a>
426
316
 
427
317
 
428
318
 
@@ -437,7 +327,7 @@
437
327
 
438
328
 
439
329
  <span class="summary_desc"><div class='inline'>
440
- <p>A hash, where all the keys are attributes linked to their respective values.</p>
330
+ <p>Removes this component from the list and purges all references to this Component from other Entities, as well as its data.</p>
441
331
  </div></span>
442
332
 
443
333
  </li>
@@ -446,7 +336,7 @@
446
336
  <li class="public ">
447
337
  <span class="summary_signature">
448
338
 
449
- <a href="#delete-instance_method" title="#delete (instance method)">#<strong>delete</strong> &#x21d2; Boolean </a>
339
+ <a href="#entities-instance_method" title="#entities (instance method)">#<strong>entities</strong> &#x21d2; Array&lt;Component&gt; </a>
450
340
 
451
341
 
452
342
 
@@ -461,7 +351,7 @@
461
351
 
462
352
 
463
353
  <span class="summary_desc"><div class='inline'>
464
- <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::ComponentManager#id (method)">ID</a></span> and data.</p>
354
+ <p>Entities that have this component.</p>
465
355
  </div></span>
466
356
 
467
357
  </li>
@@ -470,7 +360,7 @@
470
360
  <li class="public ">
471
361
  <span class="summary_signature">
472
362
 
473
- <a href="#entities-instance_method" title="#entities (instance method)">#<strong>entities</strong> &#x21d2; Array&lt;Integer&gt; </a>
363
+ <a href="#entity-instance_method" title="#entity (instance method)">#<strong>entity</strong> &#x21d2; Component </a>
474
364
 
475
365
 
476
366
 
@@ -485,7 +375,7 @@
485
375
 
486
376
 
487
377
  <span class="summary_desc"><div class='inline'>
488
- <p>A list of entity ids that are linked to the component.</p>
378
+ <p>A single entity.</p>
489
379
  </div></span>
490
380
 
491
381
  </li>
@@ -520,7 +410,7 @@
520
410
  <li class="public ">
521
411
  <span class="summary_signature">
522
412
 
523
- <a href="#to_i-instance_method" title="#to_i (instance method)">#<strong>to_i</strong> &#x21d2; Integer </a>
413
+ <a href="#to_h-instance_method" title="#to_h (instance method)">#<strong>to_h</strong> &#x21d2; Hash&lt;Symbol, Value&gt; </a>
524
414
 
525
415
 
526
416
 
@@ -535,7 +425,7 @@
535
425
 
536
426
 
537
427
  <span class="summary_desc"><div class='inline'>
538
- <p>An alias for the <span class='object_link'><a href="#id-instance_method" title="FelFlame::ComponentManager#id (method)">ID Reader</a></span>.</p>
428
+ <p>A hash, where all the keys are attributes storing their respective values.</p>
539
429
  </div></span>
540
430
 
541
431
  </li>
@@ -617,47 +507,37 @@
617
507
  <pre class="lines">
618
508
 
619
509
 
620
- 104
621
- 105
622
- 106
623
- 107
624
- 108
625
- 109
626
- 110
627
- 111
628
- 112
629
- 113
630
- 114
631
- 115
632
- 116
633
- 117
634
- 118
635
- 119
636
- 120
637
- 121
638
- 122</pre>
510
+ 132
511
+ 133
512
+ 134
513
+ 135
514
+ 136
515
+ 137
516
+ 138
517
+ 139
518
+ 140
519
+ 141
520
+ 142
521
+ 143
522
+ 144
523
+ 145</pre>
639
524
  </td>
640
525
  <td>
641
- <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 104</span>
526
+ <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 132</span>
642
527
 
643
528
  <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_attrs'>attrs</span><span class='rparen'>)</span>
644
529
  <span class='comment'># Prepare the object
645
530
  </span> <span class='comment'># (this is a function created with metaprogramming
646
- </span> <span class='comment'># in FelFlame::Components
531
+ </span> <span class='comment'># in FelFlame::Components)
647
532
  </span> <span class='id identifier rubyid_set_defaults'>set_defaults</span>
648
533
 
649
- <span class='comment'># Generate ID
650
- </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_class'>class</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>
651
- <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_class'>class</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>
652
- <span class='ivar'>@id</span> <span class='op'>=</span> <span class='id identifier rubyid_new_id'>new_id</span>
653
-
654
534
  <span class='comment'># Fill params
655
535
  </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>
656
536
  <span class='id identifier rubyid_send'>send</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span>
657
537
  <span class='kw'>end</span>
658
538
 
659
539
  <span class='comment'># Save Component
660
- </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_new_id'>new_id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>self</span>
540
+ </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_push'>push</span> <span class='kw'>self</span>
661
541
  <span class='kw'>end</span></pre>
662
542
  </td>
663
543
  </tr>
@@ -710,12 +590,12 @@
710
590
  <pre class="lines">
711
591
 
712
592
 
713
- 136
714
- 137
715
- 138</pre>
593
+ 180
594
+ 181
595
+ 182</pre>
716
596
  </td>
717
597
  <td>
718
- <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 136</span>
598
+ <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 180</span>
719
599
 
720
600
  <span class='kw'>def</span> <span class='id identifier rubyid_addition_triggers'>addition_triggers</span>
721
601
  <span class='ivar'>@addition_triggers</span> <span class='op'>||=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
@@ -766,12 +646,12 @@
766
646
  <pre class="lines">
767
647
 
768
648
 
769
- 152
770
- 153
771
- 154</pre>
649
+ 196
650
+ 197
651
+ 198</pre>
772
652
  </td>
773
653
  <td>
774
- <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 152</span>
654
+ <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 196</span>
775
655
 
776
656
  <span class='kw'>def</span> <span class='id identifier rubyid_attr_triggers'>attr_triggers</span>
777
657
  <span class='ivar'>@attr_triggers</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
@@ -822,12 +702,12 @@
822
702
  <pre class="lines">
823
703
 
824
704
 
825
- 144
826
- 145
827
- 146</pre>
705
+ 188
706
+ 189
707
+ 190</pre>
828
708
  </td>
829
709
  <td>
830
- <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 144</span>
710
+ <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 188</span>
831
711
 
832
712
  <span class='kw'>def</span> <span class='id identifier rubyid_removal_triggers'>removal_triggers</span>
833
713
  <span class='ivar'>@removal_triggers</span> <span class='op'>||=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
@@ -883,12 +763,12 @@
883
763
  <pre class="lines">
884
764
 
885
765
 
886
- 81
887
- 82
888
- 83</pre>
766
+ 109
767
+ 110
768
+ 111</pre>
889
769
  </td>
890
770
  <td>
891
- <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 81</span>
771
+ <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 109</span>
892
772
 
893
773
  <span class='kw'>def</span> <span class='id identifier rubyid_addition_triggers'>addition_triggers</span>
894
774
  <span class='ivar'>@addition_triggers</span> <span class='op'>||=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
@@ -939,12 +819,12 @@
939
819
  <pre class="lines">
940
820
 
941
821
 
942
- 97
943
- 98
944
- 99</pre>
822
+ 125
823
+ 126
824
+ 127</pre>
945
825
  </td>
946
826
  <td>
947
- <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 97</span>
827
+ <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 125</span>
948
828
 
949
829
  <span class='kw'>def</span> <span class='id identifier rubyid_attr_triggers'>attr_triggers</span>
950
830
  <span class='ivar'>@attr_triggers</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
@@ -955,62 +835,6 @@
955
835
  </div>
956
836
 
957
837
 
958
- <span id="id=-instance_method"></span>
959
- <div class="method_details ">
960
- <h3 class="signature " id="id-instance_method">
961
-
962
- #<strong>id</strong> &#x21d2; <tt>Integer</tt>
963
-
964
-
965
-
966
-
967
-
968
- </h3><div class="docstring">
969
- <div class="discussion">
970
-
971
- <p>Holds the <span class='object_link'><a href="#id-instance_method" title="FelFlame::ComponentManager#id (method)">unique ID</a></span> of a component. The <span class='object_link'><a href="#id-instance_method" title="FelFlame::ComponentManager#id (method)">ID</a></span> is only unique within the scope of the component manager it was created from.</p>
972
-
973
-
974
- </div>
975
- </div>
976
- <div class="tags">
977
-
978
- <p class="tag_title">Returns:</p>
979
- <ul class="return">
980
-
981
- <li>
982
-
983
-
984
- <span class='type'>(<tt>Integer</tt>)</span>
985
-
986
-
987
-
988
- </li>
989
-
990
- </ul>
991
-
992
- </div><table class="source_code">
993
- <tr>
994
- <td>
995
- <pre class="lines">
996
-
997
-
998
- 63
999
- 64
1000
- 65</pre>
1001
- </td>
1002
- <td>
1003
- <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 63</span>
1004
-
1005
- <span class='kw'>def</span> <span class='id identifier rubyid_id'>id</span>
1006
- <span class='ivar'>@id</span>
1007
- <span class='kw'>end</span></pre>
1008
- </td>
1009
- </tr>
1010
- </table>
1011
- </div>
1012
-
1013
-
1014
838
  <span id="removal_triggers=-instance_method"></span>
1015
839
  <div class="method_details ">
1016
840
  <h3 class="signature " id="removal_triggers-instance_method">
@@ -1051,12 +875,12 @@
1051
875
  <pre class="lines">
1052
876
 
1053
877
 
1054
- 89
1055
- 90
1056
- 91</pre>
878
+ 117
879
+ 118
880
+ 119</pre>
1057
881
  </td>
1058
882
  <td>
1059
- <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 89</span>
883
+ <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 117</span>
1060
884
 
1061
885
  <span class='kw'>def</span> <span class='id identifier rubyid_removal_triggers'>removal_triggers</span>
1062
886
  <span class='ivar'>@removal_triggers</span> <span class='op'>||=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
@@ -1069,157 +893,14 @@
1069
893
  </div>
1070
894
 
1071
895
 
1072
- <div id="class_method_details" class="method_details_list">
1073
- <h2>Class Method Details</h2>
1074
-
1075
-
1076
- <div class="method_details first">
1077
- <h3 class="signature first" id="[]-class_method">
1078
-
1079
- .<strong>[]</strong>(component_id) &#x21d2; <tt>Component</tt>
1080
-
1081
-
1082
-
1083
-
1084
-
1085
- </h3><div class="docstring">
1086
- <div class="discussion">
1087
-
1088
- <p>Gets a Component from the given <span class='object_link'><a href="#id-instance_method" title="FelFlame::ComponentManager#id (method)">unique ID</a></span>. Usage is simular to how an Array lookup works.</p>
1089
-
1090
-
1091
- </div>
1092
- </div>
1093
- <div class="tags">
1094
-
1095
- <div class="examples">
1096
- <p class="tag_title">Examples:</p>
1097
-
1098
-
1099
- <pre class="example code"><code><span class='comment'># this gets the &#39;Health&#39; Component with ID 7
1100
- </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>
1101
-
1102
- </div>
1103
- <p class="tag_title">Parameters:</p>
1104
- <ul class="param">
1105
-
1106
- <li>
1107
-
1108
- <span class='name'>component_id</span>
1109
-
1110
-
1111
- <span class='type'>(<tt>Integer</tt>)</span>
1112
-
1113
-
1114
-
1115
- </li>
1116
-
1117
- </ul>
1118
-
1119
- <p class="tag_title">Returns:</p>
1120
- <ul class="return">
1121
-
1122
- <li>
1123
-
1124
-
1125
- <span class='type'>(<tt>Component</tt>)</span>
1126
-
1127
-
1128
-
1129
- &mdash;
1130
- <div class='inline'>
1131
- <p>Returns the Component that uses the given unique <span class='object_link'><a href="#id-instance_method" title="FelFlame::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::ComponentManager#id (method)">ID</a></span></p>
1132
- </div>
1133
-
1134
- </li>
1135
-
1136
- </ul>
1137
-
1138
- </div><table class="source_code">
1139
- <tr>
1140
- <td>
1141
- <pre class="lines">
1142
-
1143
-
1144
- 169
1145
- 170
1146
- 171</pre>
1147
- </td>
1148
- <td>
1149
- <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 169</span>
1150
-
1151
- <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>
1152
- <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>
1153
- <span class='kw'>end</span></pre>
1154
- </td>
1155
- </tr>
1156
- </table>
1157
- </div>
1158
-
1159
- <div class="method_details ">
1160
- <h3 class="signature " id="each-class_method">
1161
-
1162
- .<strong>each</strong>(&amp;block) &#x21d2; <tt>Enumerator</tt>
1163
-
1164
-
1165
-
1166
-
1167
-
1168
- </h3><div class="docstring">
1169
- <div class="discussion">
1170
-
1171
- <p>Iterates over all components within the component manager. Special Enumerable methods like <code>map</code> or <code>each_with_index</code> are not implemented</p>
1172
-
1173
-
1174
- </div>
1175
- </div>
1176
- <div class="tags">
1177
-
1178
- <p class="tag_title">Returns:</p>
1179
- <ul class="return">
1180
-
1181
- <li>
1182
-
1183
-
1184
- <span class='type'>(<tt>Enumerator</tt>)</span>
1185
-
1186
-
1187
-
1188
- </li>
1189
-
1190
- </ul>
1191
-
1192
- </div><table class="source_code">
1193
- <tr>
1194
- <td>
1195
- <pre class="lines">
1196
-
1197
-
1198
- 176
1199
- 177
1200
- 178</pre>
1201
- </td>
1202
- <td>
1203
- <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 176</span>
1204
-
1205
- <span class='kw'>def</span> <span class='id identifier rubyid_each'>each</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
1206
- <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_compact'>compact</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
1207
- <span class='kw'>end</span></pre>
1208
- </td>
1209
- </tr>
1210
- </table>
1211
- </div>
1212
-
1213
- </div>
1214
-
1215
896
  <div id="instance_method_details" class="method_details_list">
1216
897
  <h2>Instance Method Details</h2>
1217
898
 
1218
899
 
1219
900
  <div class="method_details first">
1220
- <h3 class="signature first" id="attr_changed_trigger_systems-instance_method">
901
+ <h3 class="signature first" id="delete-instance_method">
1221
902
 
1222
- #<strong>attr_changed_trigger_systems</strong>(attr) &#x21d2; <tt>Boolean</tt>
903
+ #<strong>delete</strong> &#x21d2; <tt>Boolean</tt>
1223
904
 
1224
905
 
1225
906
 
@@ -1228,7 +909,7 @@
1228
909
  </h3><div class="docstring">
1229
910
  <div class="discussion">
1230
911
 
1231
- <p>Execute systems that have been added to execute on variable change</p>
912
+ <p>Removes this component from the list and purges all references to this Component from other Entities, as well as its data.</p>
1232
913
 
1233
914
 
1234
915
  </div>
@@ -1247,7 +928,7 @@
1247
928
 
1248
929
  &mdash;
1249
930
  <div class='inline'>
1250
- <p><code>true</code></p>
931
+ <p><code>true</code>.</p>
1251
932
  </div>
1252
933
 
1253
934
  </li>
@@ -1260,26 +941,34 @@
1260
941
  <pre class="lines">
1261
942
 
1262
943
 
1263
- 203
1264
- 204
1265
- 205
1266
- 206
1267
- 207
1268
- 208
1269
- 209
1270
- 210
1271
- 211</pre>
944
+ 247
945
+ 248
946
+ 249
947
+ 250
948
+ 251
949
+ 252
950
+ 253
951
+ 254
952
+ 255
953
+ 256
954
+ 257
955
+ 258
956
+ 259</pre>
1272
957
  </td>
1273
958
  <td>
1274
- <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 203</span>
959
+ <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 247</span>
1275
960
 
1276
- <span class='kw'>def</span> <span class='id identifier rubyid_attr_changed_trigger_systems'>attr_changed_trigger_systems</span><span class='lparen'>(</span><span class='id identifier rubyid_attr'>attr</span><span class='rparen'>)</span>
1277
- <span class='id identifier rubyid_systems_to_execute'>systems_to_execute</span> <span class='op'>=</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_attr_triggers'>attr_triggers</span><span class='lbracket'>[</span><span class='id identifier rubyid_attr'>attr</span><span class='rbracket'>]</span>
1278
- <span class='id identifier rubyid_systems_to_execute'>systems_to_execute</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id identifier rubyid_systems_to_execute'>systems_to_execute</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1279
-
1280
- <span class='id identifier rubyid_systems_to_execute'>systems_to_execute</span> <span class='op'>|=</span> <span class='id identifier rubyid_attr_triggers'>attr_triggers</span><span class='lbracket'>[</span><span class='id identifier rubyid_attr'>attr</span><span class='rbracket'>]</span> <span class='kw'>unless</span> <span class='id identifier rubyid_attr_triggers'>attr_triggers</span><span class='lbracket'>[</span><span class='id identifier rubyid_attr'>attr</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1281
-
1282
- <span class='id identifier rubyid_systems_to_execute'>systems_to_execute</span><span class='period'>.</span><span class='id identifier rubyid_sort_by'>sort_by</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:priority</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_reverse'>reverse</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:call</span><span class='rparen'>)</span>
961
+ <span class='kw'>def</span> <span class='id identifier rubyid_delete'>delete</span>
962
+ <span class='id identifier rubyid_addition_triggers'>addition_triggers</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_system'>system</span><span class='op'>|</span>
963
+ <span class='id identifier rubyid_system'>system</span><span class='period'>.</span><span class='id identifier rubyid_clear_triggers'>clear_triggers</span> <span class='label'>component_or_manager:</span> <span class='kw'>self</span>
964
+ <span class='kw'>end</span>
965
+ <span class='id identifier rubyid_entities'>entities</span><span class='period'>.</span><span class='id identifier rubyid_reverse_each'>reverse_each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_entity'>entity</span><span class='op'>|</span>
966
+ <span class='id identifier rubyid_entity'>entity</span><span class='period'>.</span><span class='id identifier rubyid_remove'>remove</span> <span class='kw'>self</span>
967
+ <span class='kw'>end</span>
968
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid__data'>_data</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span> <span class='kw'>self</span>
969
+ <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>
970
+ <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>
971
+ <span class='kw'>end</span>
1283
972
  <span class='kw'>true</span>
1284
973
  <span class='kw'>end</span></pre>
1285
974
  </td>
@@ -1288,9 +977,9 @@
1288
977
  </div>
1289
978
 
1290
979
  <div class="method_details ">
1291
- <h3 class="signature " id="attrs-instance_method">
980
+ <h3 class="signature " id="entities-instance_method">
1292
981
 
1293
- #<strong>attrs</strong> &#x21d2; <tt>Hash&lt;Symbol, Value&gt;</tt>
982
+ #<strong>entities</strong> &#x21d2; <tt>Array&lt;Component&gt;</tt>
1294
983
 
1295
984
 
1296
985
 
@@ -1299,7 +988,7 @@
1299
988
  </h3><div class="docstring">
1300
989
  <div class="discussion">
1301
990
 
1302
- <p>Returns A hash, where all the keys are attributes linked to their respective values.</p>
991
+ <p>Entities that have this component</p>
1303
992
 
1304
993
 
1305
994
  </div>
@@ -1312,14 +1001,9 @@
1312
1001
  <li>
1313
1002
 
1314
1003
 
1315
- <span class='type'>(<tt>Hash&lt;Symbol, Value&gt;</tt>)</span>
1316
-
1004
+ <span class='type'>(<tt>Array&lt;Component&gt;</tt>)</span>
1317
1005
 
1318
1006
 
1319
- &mdash;
1320
- <div class='inline'>
1321
- <p>A hash, where all the keys are attributes linked to their respective values.</p>
1322
- </div>
1323
1007
 
1324
1008
  </li>
1325
1009
 
@@ -1331,23 +1015,15 @@
1331
1015
  <pre class="lines">
1332
1016
 
1333
1017
 
1334
- 235
1335
- 236
1336
- 237
1337
- 238
1338
- 239
1339
- 240
1340
- 241</pre>
1018
+ 209
1019
+ 210
1020
+ 211</pre>
1341
1021
  </td>
1342
1022
  <td>
1343
- <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 235</span>
1023
+ <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 209</span>
1344
1024
 
1345
- <span class='kw'>def</span> <span class='id identifier rubyid_attrs'>attrs</span>
1346
- <span class='id identifier rubyid_return_hash'>return_hash</span> <span class='op'>=</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>
1347
- <span class='id identifier rubyid_final'>final</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_delete_prefix'>delete_prefix</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>@</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_instance_variable_get'>instance_variable_get</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
1348
- <span class='kw'>end</span>
1349
- <span class='id identifier rubyid_return_hash'>return_hash</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:attr_triggers</span><span class='rparen'>)</span>
1350
- <span class='id identifier rubyid_return_hash'>return_hash</span>
1025
+ <span class='kw'>def</span> <span class='id identifier rubyid_entities'>entities</span>
1026
+ <span class='ivar'>@entities</span> <span class='op'>||=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1351
1027
  <span class='kw'>end</span></pre>
1352
1028
  </td>
1353
1029
  </tr>
@@ -1355,9 +1031,9 @@
1355
1031
  </div>
1356
1032
 
1357
1033
  <div class="method_details ">
1358
- <h3 class="signature " id="delete-instance_method">
1034
+ <h3 class="signature " id="entity-instance_method">
1359
1035
 
1360
- #<strong>delete</strong> &#x21d2; <tt>Boolean</tt>
1036
+ #<strong>entity</strong> &#x21d2; <tt>Component</tt>
1361
1037
 
1362
1038
 
1363
1039
 
@@ -1366,7 +1042,7 @@
1366
1042
  </h3><div class="docstring">
1367
1043
  <div class="discussion">
1368
1044
 
1369
- <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::ComponentManager#id (method)">ID</a></span> and data.</p>
1045
+ <p>A single entity. Use this if you expect the component to only belong to one entity and you want to access it.</p>
1370
1046
 
1371
1047
 
1372
1048
  </div>
@@ -1379,14 +1055,9 @@
1379
1055
  <li>
1380
1056
 
1381
1057
 
1382
- <span class='type'>(<tt>Boolean</tt>)</span>
1383
-
1058
+ <span class='type'>(<tt>Component</tt>)</span>
1384
1059
 
1385
1060
 
1386
- &mdash;
1387
- <div class='inline'>
1388
- <p><code>true</code>.</p>
1389
- </div>
1390
1061
 
1391
1062
  </li>
1392
1063
 
@@ -1405,38 +1076,18 @@
1405
1076
  219
1406
1077
  220
1407
1078
  221
1408
- 222
1409
- 223
1410
- 224
1411
- 225
1412
- 226
1413
- 227
1414
- 228
1415
- 229
1416
- 230
1417
- 231
1418
- 232</pre>
1079
+ 222</pre>
1419
1080
  </td>
1420
1081
  <td>
1421
1082
  <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 215</span>
1422
1083
 
1423
- <span class='kw'>def</span> <span class='id identifier rubyid_delete'>delete</span>
1424
- <span class='id identifier rubyid_addition_triggers'>addition_triggers</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_system'>system</span><span class='op'>|</span>
1425
- <span class='id identifier rubyid_system'>system</span><span class='period'>.</span><span class='id identifier rubyid_clear_triggers'>clear_triggers</span> <span class='label'>component_or_manager:</span> <span class='kw'>self</span>
1426
- <span class='kw'>end</span>
1427
- <span class='comment'># This needs to be cloned because indices get deleted as
1428
- </span> <span class='comment'># the remove command is called, breaking the loop if it
1429
- </span> <span class='comment'># wasn&#39;t referencing a clone(will get Nil errors)
1430
- </span> <span class='id identifier rubyid_iter'>iter</span> <span class='op'>=</span> <span class='id identifier rubyid_entities'>entities</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:clone</span><span class='rparen'>)</span>
1431
- <span class='id identifier rubyid_iter'>iter</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'>entity</span><span class='op'>|</span>
1432
- <span class='comment'>#FelFlame::Entities[entity_id].remove self #unless FelFlame::Entities[entity_id].nil?
1433
- </span> <span class='id identifier rubyid_entity'>entity</span><span class='period'>.</span><span class='id identifier rubyid_remove'>remove</span> <span class='kw'>self</span>
1434
- <span class='kw'>end</span>
1435
- <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>
1436
- <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>
1437
- <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>
1084
+ <span class='kw'>def</span> <span class='id identifier rubyid_entity'>entity</span>
1085
+ <span class='kw'>if</span> <span class='id identifier rubyid_entities'>entities</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
1086
+ <span class='const'>Warning</span><span class='period'>.</span><span class='id identifier rubyid_warn'>warn</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>This component belongs to NO entities but you called the method that is intended for components belonging to a single entity.\nYou may have a bug in your logic.</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1087
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_entities'>entities</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>&gt;</span> <span class='int'>1</span>
1088
+ <span class='const'>Warning</span><span class='period'>.</span><span class='id identifier rubyid_warn'>warn</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>This component belongs to MANY entities but you called the method that is intended for components belonging to a single entity.\nYou may have a bug in your logic.</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1438
1089
  <span class='kw'>end</span>
1439
- <span class='kw'>true</span>
1090
+ <span class='id identifier rubyid_entities'>entities</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
1440
1091
  <span class='kw'>end</span></pre>
1441
1092
  </td>
1442
1093
  </tr>
@@ -1444,9 +1095,9 @@
1444
1095
  </div>
1445
1096
 
1446
1097
  <div class="method_details ">
1447
- <h3 class="signature " id="entities-instance_method">
1098
+ <h3 class="signature " id="to_h-instance_method">
1448
1099
 
1449
- #<strong>entities</strong> &#x21d2; <tt>Array&lt;Integer&gt;</tt>
1100
+ #<strong>to_h</strong> &#x21d2; <tt>Hash&lt;Symbol, Value&gt;</tt>
1450
1101
 
1451
1102
 
1452
1103
 
@@ -1455,7 +1106,7 @@
1455
1106
  </h3><div class="docstring">
1456
1107
  <div class="discussion">
1457
1108
 
1458
- <p>A list of entity ids that are linked to the component</p>
1109
+ <p>Returns A hash, where all the keys are attributes storing their respective values.</p>
1459
1110
 
1460
1111
 
1461
1112
  </div>
@@ -1468,63 +1119,14 @@
1468
1119
  <li>
1469
1120
 
1470
1121
 
1471
- <span class='type'>(<tt>Array&lt;Integer&gt;</tt>)</span>
1122
+ <span class='type'>(<tt>Hash&lt;Symbol, Value&gt;</tt>)</span>
1472
1123
 
1473
1124
 
1474
1125
 
1475
- </li>
1476
-
1477
- </ul>
1478
-
1479
- </div><table class="source_code">
1480
- <tr>
1481
- <td>
1482
- <pre class="lines">
1483
-
1484
-
1485
- 189
1486
- 190
1487
- 191</pre>
1488
- </td>
1489
- <td>
1490
- <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 189</span>
1491
-
1492
- <span class='kw'>def</span> <span class='id identifier rubyid_entities'>entities</span>
1493
- <span class='ivar'>@entities</span> <span class='op'>||=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1494
- <span class='kw'>end</span></pre>
1495
- </td>
1496
- </tr>
1497
- </table>
1498
- </div>
1499
-
1500
- <div class="method_details ">
1501
- <h3 class="signature " id="to_i-instance_method">
1502
-
1503
- #<strong>to_i</strong> &#x21d2; <tt>Integer</tt>
1504
-
1505
-
1506
-
1507
-
1508
-
1509
- </h3><div class="docstring">
1510
- <div class="discussion">
1511
-
1512
- <p>An alias for the <span class='object_link'><a href="#id-instance_method" title="FelFlame::ComponentManager#id (method)">ID Reader</a></span></p>
1513
-
1514
-
1515
- </div>
1126
+ &mdash;
1127
+ <div class='inline'>
1128
+ <p>A hash, where all the keys are attributes storing their respective values.</p>
1516
1129
  </div>
1517
- <div class="tags">
1518
-
1519
- <p class="tag_title">Returns:</p>
1520
- <ul class="return">
1521
-
1522
- <li>
1523
-
1524
-
1525
- <span class='type'>(<tt>Integer</tt>)</span>
1526
-
1527
-
1528
1130
 
1529
1131
  </li>
1530
1132
 
@@ -1536,15 +1138,23 @@
1536
1138
  <pre class="lines">
1537
1139
 
1538
1140
 
1539
- 183
1540
- 184
1541
- 185</pre>
1141
+ 262
1142
+ 263
1143
+ 264
1144
+ 265
1145
+ 266
1146
+ 267
1147
+ 268</pre>
1542
1148
  </td>
1543
1149
  <td>
1544
- <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 183</span>
1150
+ <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 262</span>
1545
1151
 
1546
- <span class='kw'>def</span> <span class='id identifier rubyid_to_i'>to_i</span>
1547
- <span class='id identifier rubyid_id'>id</span>
1152
+ <span class='kw'>def</span> <span class='id identifier rubyid_to_h'>to_h</span>
1153
+ <span class='id identifier rubyid_return_hash'>return_hash</span> <span class='op'>=</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>
1154
+ <span class='id identifier rubyid_final'>final</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_delete_prefix'>delete_prefix</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>@</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_instance_variable_get'>instance_variable_get</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
1155
+ <span class='kw'>end</span>
1156
+ <span class='id identifier rubyid_return_hash'>return_hash</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:attr_triggers</span><span class='rparen'>)</span>
1157
+ <span class='id identifier rubyid_return_hash'>return_hash</span>
1548
1158
  <span class='kw'>end</span></pre>
1549
1159
  </td>
1550
1160
  </tr>
@@ -1595,14 +1205,14 @@
1595
1205
  <pre class="lines">
1596
1206
 
1597
1207
 
1598
- 195
1599
- 196
1600
- 197
1601
- 198
1602
- 199</pre>
1208
+ 226
1209
+ 227
1210
+ 228
1211
+ 229
1212
+ 230</pre>
1603
1213
  </td>
1604
1214
  <td>
1605
- <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 195</span>
1215
+ <pre class="code"><span class="info file"># File 'lib/felflame/component_manager.rb', line 226</span>
1606
1216
 
1607
1217
  <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>
1608
1218
  <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>
@@ -1619,7 +1229,7 @@
1619
1229
  </div>
1620
1230
 
1621
1231
  <div id="footer">
1622
- Generated on Mon Jul 12 18:28:27 2021 by
1232
+ Generated on Mon Jan 3 08:23:04 2022 by
1623
1233
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1624
1234
  0.9.26 (ruby-2.7.3).
1625
1235
  </div>