Sha256: f6a25a076bb0b0dd23c68576d62b7a24b3eec17a86ddfeafde47cfebd9c52b5c

Contents?: true

Size: 490 Bytes

Versions: 13

Compression:

Stored size: 490 Bytes

Contents

#
#
class Control
  
  #
  #
  def initialize window, controllable, mapping = nil
    @window = window
    @controllable = controllable
    @mapping = mapping || controllable.respond_to?(:controls_mapping) && controllable.controls_mapping
  end
  
  #
  #
  def mapping?
    @mapping.present?
  end
  
  # 
  #
  def handle
    return if @controllable.destroyed?
    @mapping.each do |key, send_params|
      @controllable.send(*send_params) if @window.button_down? key
    end
  end
  
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
gosu_extensions-0.3.8 lib/core/control.rb
gosu_extensions-0.3.7 lib/core/control.rb
gosu_extensions-0.3.6 lib/core/control.rb
gosu_extensions-0.3.5 lib/core/control.rb
gosu_extensions-0.3.4 lib/core/control.rb
gosu_extensions-0.3.3 lib/core/control.rb
gosu_extensions-0.3.2 lib/core/control.rb
gosu_extensions-0.3.1 lib/core/control.rb
gosu_extensions-0.3.0 lib/core/control.rb
gosu_extensions-0.2.9 lib/core/control.rb
gosu_extensions-0.2.8 lib/core/control.rb
gosu_extensions-0.2.7 lib/core/control.rb
gosu_extensions-0.2.6 lib/core/control.rb