From 3ad8d2531329c1696a2bf86db8db9237309281ab Mon Sep 17 00:00:00 2001 From: realtradam Date: Fri, 11 Jun 2021 02:14:57 -0400 Subject: general cleanup --- docs/FelFlame/Helper/ComponentManager.html | 1077 ++++++++++++++++++++++++++++ 1 file changed, 1077 insertions(+) create mode 100644 docs/FelFlame/Helper/ComponentManager.html (limited to 'docs/FelFlame/Helper/ComponentManager.html') 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 @@ + + + + + + + Class: FelFlame::Helper::ComponentManager + + — Documentation by YARD 0.9.26 + + + + + + + + + + + + + + + + + + + +
+ + +

Class: FelFlame::Helper::ComponentManager + + + +

+
+ +
+
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 + + + + + + + + + + + + + +
    +

    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.

    +
    + +
  • + + +
  • + + + #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

+ + + +
+

+ + #idInteger + + + + + +

+
+ +

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

+ + +
+
+
+ +

Returns:

+
    + +
  • + + + (Integer) + + + +
  • + +
+ +
+ + + + +
+
+
+
+53
+54
+55
+
+
# File 'component_manager.rb', line 53
+
+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.

+ + +
+
+
+ +
+

Examples:

+ + +
# this gets the 'Health' Component with ID 7
+FelFlame::Components::Health[7]
+ +
+

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

    +
    + +
  • + +
+ +
+ + + + +
+
+
+
+69
+70
+71
+
+
# File 'component_manager.rb', line 69
+
+def [](component_id)
+  data[component_id]
+end
+
+
+ +
+

+ + .eachEnumerator + + + + + +

+
+ +

Iterates over all components within the component manager

+ + +
+
+
+ +

Returns:

+
    + +
  • + + + (Enumerator) + + + +
  • + +
+ +
+ + + + +
+
+
+
+95
+96
+97
+98
+99
+
+
# File 'component_manager.rb', line 95
+
+def each
+  data.each do |component|
+    yield component
+  end
+end
+
+
+ +
+

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

+
+ +

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.

+ + +
+
+
+

Parameters:

+
    + +
  • + + attrs + + + (Keyword: Value) + + + +
  • + +
+ +

Returns:

+
    + +
  • + + + (Component) + + + +
  • + +
+ +
+ + + + +
+
+
+
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+
+
# File 'component_manager.rb', line 76
+
+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) + + + + — +
    +

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

    +
    + +
  • + +
+ +
+ + + + +
+
+
+
+137
+138
+139
+140
+141
+
+
# File 'component_manager.rb', line 137
+
+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.

    +
    + +
  • + +
+ +
+ + + + +
+
+
+
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+
+
# File 'component_manager.rb', line 124
+
+def delete
+  entities.each do |entity_id|
+    FelFlame::Entities[entity_id].remove self
+  end
+  self.class.data[id] = nil
+  @entities = nil
+  instance_variables.each do |var|
+    instance_variable_set(var, nil)
+  end
+  true
+end
+
+
+ +
+

+ + #entitiesArray + + + + + +

+
+ +

A list of components that are linked to the component

+ + +
+
+
+ +

Returns:

+
    + +
  • + + + (Array) + + + +
  • + +
+ +
+ + + + +
+
+
+
+110
+111
+112
+
+
# File 'component_manager.rb', line 110
+
+def entities
+  @entities ||= []
+end
+
+
+ +
+

+ + #to_iInteger + + + + + +

+
+ +

An alias for the ID Reader

+ + +
+
+
+ +

Returns:

+
    + +
  • + + + (Integer) + + + +
  • + +
+ +
+ + + + +
+
+
+
+104
+105
+106
+
+
# File 'component_manager.rb', line 104
+
+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

    +
    + +
  • + +
+ +
+ + + + +
+
+
+
+146
+147
+148
+
+
# File 'component_manager.rb', line 146
+
+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

    +
    + +
  • + +
+ +
+ + + + +
+
+
+
+116
+117
+118
+119
+120
+
+
# File 'component_manager.rb', line 116
+
+def update_attrs(**opts)
+  opts.each do |key, value|
+    send "#{key}=", value
+  end
+end
+
+
+ +
+ +
+ + + +
+ + \ No newline at end of file -- cgit v1.2.3