From 866ed5e2ca86d2f780492f01c30b3350037d3f7c Mon Sep 17 00:00:00 2001 From: realtradam Date: Thu, 3 Feb 2022 04:18:07 -0500 Subject: added new group method for entity manager --- docs/FelFlame/ComponentManager.html | 1239 ----------------------------------- 1 file changed, 1239 deletions(-) delete mode 100644 docs/FelFlame/ComponentManager.html (limited to 'docs/FelFlame/ComponentManager.html') diff --git a/docs/FelFlame/ComponentManager.html b/docs/FelFlame/ComponentManager.html deleted file mode 100644 index 19891af..0000000 --- a/docs/FelFlame/ComponentManager.html +++ /dev/null @@ -1,1239 +0,0 @@ - - - - - - - Class: FelFlame::ComponentManager - - — Documentation by YARD 0.9.26 - - - - - - - - - - - - - - - - - - - -
- - -

Class: FelFlame::ComponentManager - - - -

-
- -
-
Inherits:
-
- Object - -
    -
  • Object
  • - - - -
- show all - -
-
- - - - - - - - - - - -
-
Defined in:
-
lib/felflame/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 #to_h and #update_attrs methods instead.

- - -
-
-
- - -
- - - -

Class Attribute Summary collapse

-
    - -
  • - - - .addition_triggers ⇒ Array<System> - - - - - - - - - readonly - - - - - - - - - -
    -

    Stores references to systems that should be triggered when this component is added to an enitity.

    -
    - -
  • - - -
  • - - - .attr_triggers ⇒ Hash<Symbol, System> - - - - - - - - - readonly - - - - - - - - - -
    -

    Stores references to systems that should be triggered when an attribute from this component changed.

    -
    - -
  • - - -
  • - - - .removal_triggers ⇒ Array<System> - - - - - - - - - readonly - - - - - - - - - -
    -

    Stores references to systems that should be triggered when this component is removed from an enitity.

    -
    - -
  • - - -
- -

Instance Attribute Summary collapse

-
    - -
  • - - - #addition_triggers ⇒ Array<System> - - - - - - - - - readonly - - - - - - - - - -
    -

    Stores references to systems that should be triggered when a component from this manager is added.

    -
    - -
  • - - -
  • - - - #attr_triggers ⇒ Hash<Symbol, Array<System>> - - - - - - - - - readonly - - - - - - - - - -
    -

    Stores references to systems that should be triggered when an attribute from this manager is changed.

    -
    - -
  • - - -
  • - - - #removal_triggers ⇒ Array<System> - - - - - - - - - readonly - - - - - - - - - -
    -

    Stores references to systems that should be triggered when a component from this manager is removed.

    -
    - -
  • - - -
- - - - - -

- Instance Method Summary - collapse -

- - - - -
-

Constructor Details

- -
-

- - #initialize(**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) - - - - — -
    -

    You can pass any number of Keyword-Value pairs

    -
    - -
  • - -
- - -
- - - - -
-
-
-
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-
-
# File 'lib/felflame/component_manager.rb', line 132
-
-def initialize(**attrs)
-  # Prepare the object
-  # (this is a function created with metaprogramming
-  # in FelFlame::Components)
-  set_defaults
-
-  # Fill params
-  attrs.each do |key, value|
-    send "#{key}=", value
-  end
-
-  # Save Component
-  self.class.push self
-end
-
-
- -
- -
-

Class Attribute Details

- - - -
-

- - .addition_triggersArray<System> - - - - - -

-
- -

Stores references to systems that should be triggered when this component is added to an enitity. Do not edit this array as it is managed by FelFlame automatically.

- - -
-
-
- -

Returns:

-
    - -
  • - - - (Array<System>) - - - -
  • - -
- -
- - - - -
-
-
-
-180
-181
-182
-
-
# File 'lib/felflame/component_manager.rb', line 180
-
-def addition_triggers
-  @addition_triggers ||= []
-end
-
-
- - - -
-

- - .attr_triggersHash<Symbol, System> - - - - - -

-
- -

Stores references to systems that should be triggered when an attribute from this component changed. Do not edit this hash as it is managed by FelFlame automatically.

- - -
-
-
- -

Returns:

-
    - -
  • - - - (Hash<Symbol, System>) - - - -
  • - -
- -
- - - - -
-
-
-
-196
-197
-198
-
-
# File 'lib/felflame/component_manager.rb', line 196
-
-def attr_triggers
-  @attr_triggers ||= {}
-end
-
-
- - - -
-

- - .removal_triggersArray<System> - - - - - -

-
- -

Stores references to systems that should be triggered when this component is removed from an enitity. Do not edit this array as it is managed by FelFlame automatically.

- - -
-
-
- -

Returns:

-
    - -
  • - - - (Array<System>) - - - -
  • - -
- -
- - - - -
-
-
-
-188
-189
-190
-
-
# File 'lib/felflame/component_manager.rb', line 188
-
-def removal_triggers
-  @removal_triggers ||= []
-end
-
-
- -
- -
-

Instance Attribute Details

- - - -
-

- - #addition_triggersArray<System> - - - - - -

-
- -

Stores references to systems that should be triggered when a component from this manager is added. Do not edit this array as it is managed by FelFlame automatically.

- - -
-
-
- -

Returns:

-
    - -
  • - - - (Array<System>) - - - -
  • - -
- -
- - - - -
-
-
-
-109
-110
-111
-
-
# File 'lib/felflame/component_manager.rb', line 109
-
-def addition_triggers
-  @addition_triggers ||= []
-end
-
-
- - - -
-

- - #attr_triggersHash<Symbol, Array<System>> - - - - - -

-
- -

Stores references to systems that should be triggered when an attribute from this manager is changed. Do not edit this hash as it is managed by FelFlame automatically.

- - -
-
-
- -

Returns:

-
    - -
  • - - - (Hash<Symbol, Array<System>>) - - - -
  • - -
- -
- - - - -
-
-
-
-125
-126
-127
-
-
# File 'lib/felflame/component_manager.rb', line 125
-
-def attr_triggers
-  @attr_triggers ||= {}
-end
-
-
- - - -
-

- - #removal_triggersArray<System> - - - - - -

-
- -

Stores references to systems that should be triggered when a component from this manager is removed. Do not edit this array as it is managed by FelFlame automatically.

- - -
-
-
- -

Returns:

-
    - -
  • - - - (Array<System>) - - - -
  • - -
- -
- - - - -
-
-
-
-117
-118
-119
-
-
# File 'lib/felflame/component_manager.rb', line 117
-
-def removal_triggers
-  @removal_triggers ||= []
-end
-
-
- -
- - -
-

Instance Method Details

- - -
-

- - #deleteBoolean - - - - - -

-
- -

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

- - -
-
-
- -

Returns:

-
    - -
  • - - - (Boolean) - - - - — -
    -

    true.

    -
    - -
  • - -
- -
- - - - -
-
-
-
-247
-248
-249
-250
-251
-252
-253
-254
-255
-256
-257
-258
-259
-
-
# File 'lib/felflame/component_manager.rb', line 247
-
-def delete
-  addition_triggers.each do |system|
-    system.clear_triggers component_or_manager: self
-  end
-  entities.reverse_each do |entity|
-    entity.remove self
-  end
-  self.class._data.delete self
-  instance_variables.each do |var|
-    instance_variable_set(var, nil)
-  end
-  true
-end
-
-
- -
-

- - #entitiesArray<Component> - - - - - -

-
- -

Entities that have this component

- - -
-
-
- -

Returns:

-
    - -
  • - - - (Array<Component>) - - - -
  • - -
- -
- - - - -
-
-
-
-209
-210
-211
-
-
# File 'lib/felflame/component_manager.rb', line 209
-
-def entities
-  @entities ||= []
-end
-
-
- -
-

- - #entityComponent - - - - - -

-
- -

A single entity. Use this if you expect the component to only belong to one entity and you want to access it.

- - -
-
-
- -

Returns:

-
    - -
  • - - - (Component) - - - -
  • - -
- -
- - - - -
-
-
-
-215
-216
-217
-218
-219
-220
-221
-222
-
-
# File 'lib/felflame/component_manager.rb', line 215
-
-def entity
-  if entities.empty?
-    Warning.warn("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.")
-  elsif entities.length > 1
-    Warning.warn("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.")
-  end
-  entities.first
-end
-
-
- -
-

- - #to_hHash<Symbol, Value> - - - - - -

-
- -

Returns A hash, where all the keys are attributes storing their respective values.

- - -
-
-
- -

Returns:

-
    - -
  • - - - (Hash<Symbol, Value>) - - - - — -
    -

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

    -
    - -
  • - -
- -
- - - - -
-
-
-
-262
-263
-264
-265
-266
-267
-268
-
-
# File 'lib/felflame/component_manager.rb', line 262
-
-def to_h
-  return_hash = instance_variables.each_with_object({}) do |key, final|
-    final[key.to_s.delete_prefix('@').to_sym] = instance_variable_get(key)
-  end
-  return_hash.delete(:attr_triggers)
-  return_hash
-end
-
-
- -
-

- - #update_attrs(**opts) ⇒ Hash<Symbol, Value> - - - - - -

-
- -

Update attribute values using a hash or keywords.

- - -
-
-
- -

Returns:

-
    - -
  • - - - (Hash<Symbol, Value>) - - - - — -
    -

    Hash of updated attributes

    -
    - -
  • - -
- -
- - - - -
-
-
-
-226
-227
-228
-229
-230
-
-
# File 'lib/felflame/component_manager.rb', line 226
-
-def update_attrs(**opts)
-  opts.each do |key, value|
-    send "#{key}=", value
-  end
-end
-
-
- -
- -
- - - -
- - \ No newline at end of file -- cgit v1.2.3