Sha256: 55c4cd04001c733632f4d23c2d662e9673b64cc69942dc166026d5c1a4ccbf85
Contents?: true
Size: 879 Bytes
Versions: 3
Compression:
Stored size: 879 Bytes
Contents
module Lotu class Actor attr_accessor :parent, :x, :y, :systems def initialize(opts={}) default_opts = { :x => 0, :y => 0 } @opts = default_opts.merge!(opts) @x = @opts[:x] @y = @opts[:y] @parent = $window @parent.update_queue << self # Add extra functionality self.extend Drawable self.extend Controllable self.extend Eventful self.extend Collidable @systems = {} end # Easy access to delta-time def dt $window.dt end # Remove ourselves from the update queue def die @parent.update_queue.delete(self) end def activate_system(klass, opts={}) @systems[klass] = klass.new(self, opts) end def update @systems.each_pair do |klass, system| system.update end end def draw;end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
lotu-0.1.7 | lib/lotu/actor.rb |
lotu-0.1.6 | lib/lotu/actor.rb |
lotu-0.1.5 | lib/lotu/actor.rb |