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