summaryrefslogtreecommitdiffhomepage
path: root/scene_manager.rb
diff options
context:
space:
mode:
authorrealtradam <[email protected]>2021-07-09 03:32:01 -0400
committerrealtradam <[email protected]>2021-07-09 03:32:01 -0400
commit0fbb48c7b0ef7070664945ef22840b0bfbfe9153 (patch)
tree3c7334de78201dbddf2b66948f019935bfe57c33 /scene_manager.rb
parent8127cdd311fa343c7b0ce4a30e7cbc6d21027fcd (diff)
downloadFelECS-0fbb48c7b0ef7070664945ef22840b0bfbfe9153.tar.gz
FelECS-0fbb48c7b0ef7070664945ef22840b0bfbfe9153.zip
gem conversion
Diffstat (limited to 'scene_manager.rb')
-rw-r--r--scene_manager.rb58
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