diff options
| author | realtradam <[email protected]> | 2021-07-07 01:06:51 -0400 |
|---|---|---|
| committer | realtradam <[email protected]> | 2021-07-07 01:06:51 -0400 |
| commit | 4758c32fbd5cba714341f9735a994fd244664ff7 (patch) | |
| tree | bc7a6ebcb64557337823ba62440719a7a5fcc584 /component_manager.rb | |
| parent | a96733c75ce7caff16a1d79a9caa1894ed95d2ca (diff) | |
| download | FelECS-4758c32fbd5cba714341f9735a994fd244664ff7.tar.gz FelECS-4758c32fbd5cba714341f9735a994fd244664ff7.zip | |
cleaned up documentation a little
Diffstat (limited to 'component_manager.rb')
| -rw-r--r-- | component_manager.rb | 44 |
1 files changed, 42 insertions, 2 deletions
diff --git a/component_manager.rb b/component_manager.rb index 14975e9..c81f645 100644 --- a/component_manager.rb +++ b/component_manager.rb @@ -57,20 +57,43 @@ class FelFlame # 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 [email protected] = 5+), or by using the {#attrs} and {#update_attrs} methods instead. class ComponentManager + # Holds the {id unique ID} of a component. The {id ID} is only unique within the scope of the component manager it was created from. # @return [Integer] - attr_accessor :id - + attr_reader :id + + # A seperate attr_writer was made for documentation readability reasons. + # Yard will list attr_reader is readonly which is my intention. + # This value needs to be changable as it is set by other functions. + # @!visibility private + attr_writer :id + + # Allows overwriting the storage of triggers, such as for clearing. + # This method should generally only need to be used internally and + # not by a game developer. + # @!visibility private attr_writer :addition_triggers, :removal_triggers, :attr_triggers + # 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. + # @return [Array<System>] def addition_triggers @addition_triggers ||= [] end + # 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. + # @return [Array<System>] def removal_triggers @removal_triggers ||= [] end + # 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. + # @return [Hash<Symbol, Array<System>>] def attr_triggers @attr_triggers ||= {} end @@ -99,16 +122,33 @@ class FelFlame end class <<self + + # Allows overwriting the storage of triggers, such as for clearing. + # This method should generally only need to be used internally and + # not by a game developer. + # @!visibility private attr_writer :addition_triggers, :removal_triggers, :attr_triggers + # 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. + # @return [Array<System>] def addition_triggers @addition_triggers ||= [] end + # 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. + # @return [Array<System>] def removal_triggers @removal_triggers ||= [] end + # 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. + # @return [Hash<Symbol, System>] def attr_triggers @attr_triggers ||= {} end |
