diff options
| author | realtradam <[email protected]> | 2021-07-09 03:32:01 -0400 |
|---|---|---|
| committer | realtradam <[email protected]> | 2021-07-09 03:32:01 -0400 |
| commit | 0fbb48c7b0ef7070664945ef22840b0bfbfe9153 (patch) | |
| tree | 3c7334de78201dbddf2b66948f019935bfe57c33 /scene_manager.rb | |
| parent | 8127cdd311fa343c7b0ce4a30e7cbc6d21027fcd (diff) | |
| download | FelECS-0fbb48c7b0ef7070664945ef22840b0bfbfe9153.tar.gz FelECS-0fbb48c7b0ef7070664945ef22840b0bfbfe9153.zip | |
gem conversion
Diffstat (limited to 'scene_manager.rb')
| -rw-r--r-- | scene_manager.rb | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/scene_manager.rb b/scene_manager.rb deleted file mode 100644 index 315dd55..0000000 --- a/scene_manager.rb +++ /dev/null @@ -1,58 +0,0 @@ -class FelFlame - class Scenes - # The Constant name assigned to this Scene - attr_reader :const_name - - # Allows overwriting the storage of systems, such as for clearing. - # This method should generally only need to be used internally and - # not by a game developer/ - # @!visibility private - attr_writer :systems - - # Create a new Scene using the name given - # @param name [String] String format must follow requirements of a constant - def initialize(name) - FelFlame::Scenes.const_set(name, self) - @const_name = name - end - - # The list of Systems this Scene contains - # @return [Array<System>] - def systems - @systems ||= [] - end - - # Execute all systems in this Scene, in the order of their priority - # @return [Boolean] +true+ - def call - systems.each(&:call) - true - end - - # Adds any number of Systems to this Scene - # @return [Boolean] +true+ - def add(*systems_to_add) - self.systems |= systems_to_add - systems.sort_by!(&:priority) - FelFlame::Stage.update_systems_list if FelFlame::Stage.scenes.include? self - true - end - - # Removes any number of SystemS from this Scene - # @return [Boolean] +true+ - def remove(*systems_to_remove) - self.systems -= systems_to_remove - systems.sort_by!(&:priority) - FelFlame::Stage.update_systems_list if FelFlame::Stage.scenes.include? self - true - end - - # Removes all Systems from this Scene - # @return [Boolean] +true+ - def clear - systems.clear - FelFlame::Stage.update_systems_list if FelFlame::Stage.scenes.include? self - true - end - end -end |
