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/Helper/ComponentManager.html | 1627 ---------------------------- 1 file changed, 1627 deletions(-) delete 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 deleted file mode 100644 index 1a04d45..0000000 --- a/docs/FelFlame/Helper/ComponentManager.html +++ /dev/null @@ -1,1627 +0,0 @@ - - - - - - - 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.

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

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.

    -
    - -
  • - - -
  • - - - #id ⇒ Integer - - - - - - - - - readonly - - - - - - - - - -
    -

    Holds the unique ID of a component.

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

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

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

- Class Method Summary - collapse -

- - - -

- 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

    -
    - -
  • - -
- - -
- - - - -
-
-
-
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-
-
# File 'component_manager.rb', line 104
-
-def initialize(**attrs)
-  # Prepare the object
-  # (this is a function created with metaprogramming
-  # in FelFlame::Components
-  set_defaults
-
-  # Generate ID
-  new_id = self.class.data.find_index { |i| i.nil? }
-  new_id = self.class.data.size if new_id.nil?
-  @id = new_id
-
-  # Fill params
-  attrs.each do |key, value|
-    send "#{key}=", value
-  end
-
-  # Save Component
-  self.class.data[new_id] = 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>) - - - -
  • - -
- -
- - - - -
-
-
-
-136
-137
-138
-
-
# File 'component_manager.rb', line 136
-
-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>) - - - -
  • - -
- -
- - - - -
-
-
-
-152
-153
-154
-
-
# File 'component_manager.rb', line 152
-
-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>) - - - -
  • - -
- -
- - - - -
-
-
-
-144
-145
-146
-
-
# File 'component_manager.rb', line 144
-
-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>) - - - -
  • - -
- -
- - - - -
-
-
-
-81
-82
-83
-
-
# File 'component_manager.rb', line 81
-
-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>>) - - - -
  • - -
- -
- - - - -
-
-
-
-97
-98
-99
-
-
# File 'component_manager.rb', line 97
-
-def attr_triggers
-  @attr_triggers ||= {}
-end
-
-
- - - -
-

- - #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) - - - -
  • - -
- -
- - - - -
-
-
-
-63
-64
-65
-
-
# File 'component_manager.rb', line 63
-
-def id
-  @id
-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>) - - - -
  • - -
- -
- - - - -
-
-
-
-89
-90
-91
-
-
# File 'component_manager.rb', line 89
-
-def removal_triggers
-  @removal_triggers ||= []
-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

    -
    - -
  • - -
- -
- - - - -
-
-
-
-169
-170
-171
-
-
# File 'component_manager.rb', line 169
-
-def [](component_id)
-  data[component_id]
-end
-
-
- -
-

- - .each(&block) ⇒ Enumerator - - - - - -

-
- -

Iterates over all components within the component manager. Special Enumerable methods like map or each_with_index are not implemented

- - -
-
-
- -

Returns:

-
    - -
  • - - - (Enumerator) - - - -
  • - -
- -
- - - - -
-
-
-
-176
-177
-178
-
-
# File 'component_manager.rb', line 176
-
-def each(&block)
-  data.compact.each(&block)
-end
-
-
- -
- -
-

Instance Method Details

- - -
-

- - #attr_changed_trigger_systems(attr) ⇒ Boolean - - - - - -

-
- -

Execute systems that have been added to execute on variable change

- - -
-
-
- -

Returns:

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

    true

    -
    - -
  • - -
- -
- - - - -
-
-
-
-203
-204
-205
-206
-207
-208
-209
-210
-211
-
-
# File 'component_manager.rb', line 203
-
-def attr_changed_trigger_systems(attr)
-  systems_to_execute = self.class.attr_triggers[attr]
-  systems_to_execute = [] if systems_to_execute.nil?
-
-  systems_to_execute |= attr_triggers[attr] unless attr_triggers[attr].nil?
-
-  systems_to_execute.sort_by(&:priority).reverse.each(&:call)
-  true
-end
-
-
- -
-

- - #attrsHash<Symbol, Value> - - - - - -

-
- -

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

- - -
-
-
- -

Returns:

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

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

    -
    - -
  • - -
- -
- - - - -
-
-
-
-234
-235
-236
-237
-238
-239
-240
-
-
# File 'component_manager.rb', line 234
-
-def attrs
-  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
-
-
- -
-

- - #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.

    -
    - -
  • - -
- -
- - - - -
-
-
-
-215
-216
-217
-218
-219
-220
-221
-222
-223
-224
-225
-226
-227
-228
-229
-230
-231
-
-
# File 'component_manager.rb', line 215
-
-def delete
-  addition_triggers.each do |system|
-    system.clear_triggers component_or_manager: self
-  end
-  # This needs to be cloned because indices get deleted as
-  # the remove command is called, breaking the loop if it
-  # wasn't referencing a clone(will get Nil errors)
-  iter = entities.map(&:clone)
-  iter.each do |entity_id|
-    FelFlame::Entities[entity_id].remove self #unless FelFlame::Entities[entity_id].nil?
-  end
-  self.class.data[id] = nil
-  instance_variables.each do |var|
-    instance_variable_set(var, nil)
-  end
-  true
-end
-
-
- -
-

- - #entitiesArray<Integer> - - - - - -

-
- -

A list of entity ids that are linked to the component

- - -
-
-
- -

Returns:

-
    - -
  • - - - (Array<Integer>) - - - -
  • - -
- -
- - - - -
-
-
-
-189
-190
-191
-
-
# File 'component_manager.rb', line 189
-
-def entities
-  @entities ||= []
-end
-
-
- -
-

- - #to_iInteger - - - - - -

-
- -

An alias for the ID Reader

- - -
-
-
- -

Returns:

-
    - -
  • - - - (Integer) - - - -
  • - -
- -
- - - - -
-
-
-
-183
-184
-185
-
-
# File 'component_manager.rb', line 183
-
-def to_i
-  id
-end
-
-
- -
-

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

-
- -

Update attribute values using a hash or keywords.

- - -
-
-
- -

Returns:

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

    Hash of updated attributes

    -
    - -
  • - -
- -
- - - - -
-
-
-
-195
-196
-197
-198
-199
-
-
# File 'component_manager.rb', line 195
-
-def update_attrs(**opts)
-  opts.each do |key, value|
-    send "#{key}=", value
-  end
-end
-
-
- -
- -
- - - -
- - \ No newline at end of file -- cgit v1.2.3