Sha256: f013b2e8d1b403e56664e2b023171ff6117ae2c4b907641f1737f2f2ae831e74

Contents?: true

Size: 699 Bytes

Versions: 34

Compression:

Stored size: 699 Bytes

Contents

# -*- coding: utf-8 -*-
require 'smalruby/hardware'

module Smalruby
  module Hardware
    # ボタンを表現するクラス
    class Button < Dino::Components::Button
      def initialize(options)
        super(board: world.board, pin: Pin.smalruby_to_dino(options[:pin]))
      end

      def up?
        @state == UP
      end

      alias_method :on?, :up?

      def down?
        @state == DOWN
      end

      alias_method :off?, :down?

      private

      def after_initialize(options = {})
        super(options)

        s_pin = Pin.dino_to_smalruby(pin)
        down { world.button_changed(s_pin, :down) }
        up { world.button_changed(s_pin, :up) }
      end
    end
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
smalruby-0.0.29-x86-mingw32 lib/smalruby/hardware/button.rb
smalruby-0.0.29 lib/smalruby/hardware/button.rb
smalruby-0.0.28-x86-mingw32 lib/smalruby/hardware/button.rb
smalruby-0.0.28 lib/smalruby/hardware/button.rb
smalruby-0.0.27-x86-mingw32 lib/smalruby/hardware/button.rb
smalruby-0.0.27 lib/smalruby/hardware/button.rb
smalruby-0.0.26-x86-mingw32 lib/smalruby/hardware/button.rb
smalruby-0.0.26 lib/smalruby/hardware/button.rb
smalruby-0.0.25-x86-mingw32 lib/smalruby/hardware/button.rb
smalruby-0.0.25 lib/smalruby/hardware/button.rb
smalruby-0.0.24-x86-mingw32 lib/smalruby/hardware/button.rb
smalruby-0.0.24 lib/smalruby/hardware/button.rb
smalruby-0.0.23-x86-mingw32 lib/smalruby/hardware/button.rb
smalruby-0.0.23 lib/smalruby/hardware/button.rb
smalruby-0.0.22-x86-mingw32 lib/smalruby/hardware/button.rb
smalruby-0.0.22 lib/smalruby/hardware/button.rb
smalruby-0.0.21-x86-mingw32 lib/smalruby/hardware/button.rb
smalruby-0.0.21 lib/smalruby/hardware/button.rb
smalruby-0.0.20-x86-mingw32 lib/smalruby/hardware/button.rb
smalruby-0.0.20 lib/smalruby/hardware/button.rb