Files
i-mic-rts/lib/component.rb

23 lines
445 B
Ruby

class IMICRTS
class Component
@@components = {}
def self.get(name)
@@components.dig(name)
end
def self.inherited(klass)
name = klass.to_s.to_snakecase
if get(name)
raise "#{klass.inspect} is already defined!"
else
@@components[name] = klass
end
end
end
end
Dir.glob("#{IMICRTS::GAME_ROOT_PATH}/lib/components/**/*.rb").each do |component|
require_relative component
end