class FelFlame class Systems # How early this System should be executed in a list of Systems attr_accessor :priority # The Constant name assigned to this System attr_reader :const_name # 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 def priority=(priority) @priority = priority FelFlame::Stage.systems.sort_by!(&:priority) end # Stores references to components or their managers that trigger # this component when a component or component from that manager # is added to an entity. # Do not edit this hash as it is managed by FelFlame automatically. # @return [Array] def addition_triggers @addition_triggers ||= [] end # Stores references to components or their managers that trigger # this component when a component or component from that manager # is removed from an entity. # Do not edit this hash as it is managed by FelFlame automatically. # @return [Array] 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>] def attr_triggers @attr_triggers ||= {} end class <