class AdventureRL::Button

Constants

DEFAULT_SETTINGS

Public Class Methods

new(settings = {}) click to toggle source
Calls superclass method
# File lib/AdventureRL/Button.rb, line 10
def initialize settings = {}
  @settings = DEFAULT_SETTINGS.merge settings
  super @settings
  @colors = {
    active: @settings.get(:active_color),
    hover:  @settings.get(:hover_colow),
  }
  @pressable         ||= @settings.get :pressable
  @click_on_mouse_up ||= @settings.get :click_on_mouse_up
  @click_on_mouse_up ||= false  if (@pressable)
end

Public Instance Methods

get_menu() click to toggle source
# File lib/AdventureRL/Button.rb, line 22
def get_menu
  layer = get_layer
  return layer  if (layer.is_a? Menu)
  return nil
end
on_mouse_down() click to toggle source
# File lib/AdventureRL/Button.rb, line 28
def on_mouse_down
  return  if (is_pressable?)
  set_color @colors[:active]
  click  if (!@click_on_mouse_up && methods.include?(:click))
end
on_mouse_press() click to toggle source
# File lib/AdventureRL/Button.rb, line 40
def on_mouse_press
  return  unless (is_pressable?)
  set_temporary_color @colors[:active]
end
on_mouse_up() click to toggle source
# File lib/AdventureRL/Button.rb, line 34
def on_mouse_up
  return  if (is_pressable?)
  reset_color
  click  if (@click_on_mouse_up && methods.include?(:click))
end

Private Instance Methods

is_pressable?() click to toggle source
# File lib/AdventureRL/Button.rb, line 47
def is_pressable?
  return !!@pressable
end