class CES::SystemReference
Public Class Methods
register(component_name, &block)
click to toggle source
# File lib/system.rb, line 7 def self.register(component_name, &block) @@systems[component_name] = block end
run(time = 1)
click to toggle source
# File lib/system.rb, line 31 def self.run(time = 1) loop { tick(time) } end
systems()
click to toggle source
# File lib/system.rb, line 13 def self.systems return @@systems end
tick(time = 0, ticks = 1)
click to toggle source
# File lib/system.rb, line 17 def self.tick(time = 0, ticks = 1) ticks.times { #cached_entity_list = CES::Entity.entity_list @@systems.each { |system_name, system_block| CES::ComponentReference.components[system_name]["entities"].each { |entity| system_block.call(CES::ComponentReference.components[system_name]["component"], entity) } } #cached_entity_list = nil sleep time } end
unregister(component_name)
click to toggle source
# File lib/system.rb, line 10 def self.unregister(component_name) @@systems[component_name] end