From 3a960438c1cfd2211e6cc78095e67c7387e8480b Mon Sep 17 00:00:00 2001 From: realtradam Date: Thu, 10 Jun 2021 12:15:05 -0400 Subject: changed docs location --- docs/FelFlame/Helper/ComponentManagerTemplate.html | 1027 ++++++++++++++++++++ 1 file changed, 1027 insertions(+) create mode 100644 docs/FelFlame/Helper/ComponentManagerTemplate.html (limited to 'docs/FelFlame/Helper/ComponentManagerTemplate.html') diff --git a/docs/FelFlame/Helper/ComponentManagerTemplate.html b/docs/FelFlame/Helper/ComponentManagerTemplate.html new file mode 100644 index 0000000..801fab1 --- /dev/null +++ b/docs/FelFlame/Helper/ComponentManagerTemplate.html @@ -0,0 +1,1027 @@ + + + + + + + Class: FelFlame::Helper::ComponentManagerTemplate + + — Documentation by YARD 0.9.26 + + + + + + + + + + + + + + + + + + + +
+ + +

Class: FelFlame::Helper::ComponentManagerTemplate + + + +

+
+ +
+
Inherits:
+
+ Object + +
    +
  • Object
  • + + + +
+ show all + +
+
+ + + + + + + + + + + +
+
Defined in:
+
component_manager.rb
+
+ +
+ +

Overview

+
+ +

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 `@component.var = 5`), or by using the #attrs and #update_attrs methods instead.

+ + +
+
+
+ + +
+ + + +

Instance Attribute Summary collapse

+ + + + + + +

+ Class Method Summary + collapse +

+ + + +

+ Instance Method Summary + collapse +

+ +
    + +
  • + + + #attrs ⇒ Hash + + + + + + + + + + + + + +
    +

    Returns a hash, where all the keys are attributes linked to their respective values.

    +
    + +
  • + + +
  • + + + #delete ⇒ Boolean + + + + + + + + + + + + + +
    +

    Removes this component from the list and purges all references to this Component from other Entities, as well as its ID and data.

    +
    + +
  • + + +
  • + + + #linked_entities ⇒ Array + + + + + + + + + + + + + +
    +

    A list of components that are linked to the component.

    +
    + +
  • + + +
  • + + + #to_i ⇒ Integer + + + + + + + + + + + + + +
    +

    An alias for the ID reader.

    +
    + +
  • + + +
  • + + + #to_json ⇒ String + + + + + + + + + + + + + +
    +

    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.

    +
    + +
  • + + +
  • + + + #update_attrs(**opts) ⇒ Object + + + + + + + + + + + + + +
    +

    Update attribute values using a hash or keywords.

    +
    + +
  • + + +
+ + + +
+

Instance Attribute Details

+ + + +
+

+ + #idObject + + + + + +

+
+ +

Holds the unique ID of a component. The ID is only unique within the scope of the component manager it was created from.

+ + +
+
+
+ + +
+ + + + +
+
+
+
+43
+44
+45
+
+
# File 'component_manager.rb', line 43
+
+def id
+  @id
+end
+
+
+ +
+ + +
+

Class Method Details

+ + +
+

+ + .[](component_id) ⇒ Component + + + + + +

+
+ +

Gets a Component from the given unique ID. Usage is simular to how an Array lookup works.

+ + +
+
+
+

Parameters:

+
    + +
  • + + component_id + + + (Integer) + + + +
  • + +
+ +

Returns:

+
    + +
  • + + + (Component) + + + + — +
    +

    Returns the Component that uses the given unique ID, nil if there is no Component associated with the given ID

    +
    + +
  • + +
+ +
+ + + + +
+
+
+
+55
+56
+57
+
+
# File 'component_manager.rb', line 55
+
+def [](component_id)
+  data[component_id]
+end
+
+
+ +
+

+ + .eachEnumerator + + + + + +

+
+ +

Iterates over all components within the component manager

+ + +
+
+
+ +

Returns:

+
    + +
  • + + + (Enumerator) + + + +
  • + +
+ +
+ + + + +
+
+
+
+79
+80
+81
+82
+83
+
+
# File 'component_manager.rb', line 79
+
+def each
+  data.each do |component|
+    yield component
+  end
+end
+
+
+ +
+

+ + .new(**attrs) ⇒ Object + + + + + +

+
+ +

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.

+ + +
+
+
+ + +
+ + + + +
+
+
+
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+
+
# File 'component_manager.rb', line 60
+
+def new(**attrs)
+  new_component = super
+
+  # Generate ID
+  new_id = self.data.find_index { |i| i.nil? }
+  new_id = self.data.size if new_id.nil?
+  new_component.id = new_id
+
+  # Fill params
+  attrs.each do |key, value|
+    new_component.send "#{key}=", value
+  end
+
+  # Save Component
+  data[new_id] = new_component
+end
+
+
+ +
+ +
+

Instance Method Details

+ + +
+

+ + #attrsHash + + + + + +

+
+ +

Returns a hash, where all the keys are attributes linked to their respective values.

+ + +
+
+
+ +

Returns:

+
    + +
  • + + + (Hash) + + + + — +
    +

    Returns a hash, where all the keys are attributes linked to their respective values.

    +
    + +
  • + +
+ +
+ + + + +
+
+
+
+121
+122
+123
+124
+125
+
+
# File 'component_manager.rb', line 121
+
+def attrs
+  instance_variables.each_with_object({}) do |key, final|
+    final[key.to_s.delete_prefix('@').to_sym] = instance_variable_get(key)
+  end
+end
+
+
+ +
+

+ + #deleteBoolean + + + + + +

+
+ +

Removes this component from the list and purges all references to this Component from other Entities, as well as its ID and data.

+ + +
+
+
+ +

Returns:

+
    + +
  • + + + (Boolean) + + + + — +
    +

    true.

    +
    + +
  • + +
+ +
+ + + + +
+
+
+
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+
+
# File 'component_manager.rb', line 108
+
+def delete
+  linked_entities.each do |entity_id|
+    FelFlame::Entities[entity_id].remove self
+  end
+  self.class.data[id] = nil
+  @linked_entities = nil
+  instance_variables.each do |var|
+    instance_variable_set(var, nil)
+  end
+  true
+end
+
+
+ +
+

+ + #linked_entitiesArray + + + + + +

+
+ +

A list of components that are linked to the component

+ + +
+
+
+ +

Returns:

+
    + +
  • + + + (Array) + + + +
  • + +
+ +
+ + + + +
+
+
+
+94
+95
+96
+
+
# File 'component_manager.rb', line 94
+
+def linked_entities
+  @linked_entities ||= []
+end
+
+
+ +
+

+ + #to_iInteger + + + + + +

+
+ +

An alias for the ID reader

+ + +
+
+
+ +

Returns:

+
    + +
  • + + + (Integer) + + + +
  • + +
+ +
+ + + + +
+
+
+
+88
+89
+90
+
+
# File 'component_manager.rb', line 88
+
+def to_i
+  id
+end
+
+
+ +
+

+ + #to_jsonString + + + + + +

+
+ +

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

+ + +
+
+
+ +

Returns:

+
    + +
  • + + + (String) + + + + — +
    +

    a JSON formatted String

    +
    + +
  • + +
+ +
+ + + + +
+
+
+
+130
+131
+132
+
+
# File 'component_manager.rb', line 130
+
+def to_json
+  # should return a json or hash of all data in this component
+end
+
+
+ +
+

+ + #update_attrs(**opts) ⇒ Object + + + + + +

+
+ +

Update attribute values using a hash or keywords.

+ + +
+
+
+ +

Returns:

+
    + +
  • + + + + + + + +
    +

    Hash of updated attributes

    +
    + +
  • + +
+ +
+ + + + +
+
+
+
+100
+101
+102
+103
+104
+
+
# File 'component_manager.rb', line 100
+
+def update_attrs(**opts)
+  opts.each do |key, value|
+    send "#{key}=", value
+  end
+end
+
+
+ +
+ +
+ + + +
+ + \ No newline at end of file -- cgit v1.2.3