class AdventureRL::Menu

Constants

DEFAULT_SETTINGS

This Array will be filled with creaed Menus.

Public Class Methods

button_down(btnid) click to toggle source
# File lib/AdventureRL/Menu.rb, line 6
def self.button_down btnid
  get_active_menus.each do |menu|
    menu.button_down btnid
  end
end
button_up(btnid) click to toggle source
# File lib/AdventureRL/Menu.rb, line 11
def self.button_up btnid
  get_active_menus.each do |menu|
    menu.button_up btnid
  end
end
get_active_menus() click to toggle source
# File lib/AdventureRL/Menu.rb, line 19
def self.get_active_menus
  return MENUS.select(&:is_active?)
end
new(settings = {}) click to toggle source
Calls superclass method AdventureRL::Layer::new
# File lib/AdventureRL/Menu.rb, line 32
def initialize settings = {}
  @settings = DEFAULT_SETTINGS.merge settings
  @mouse_buttons_event_handler = EventHandlers::MouseButtons.new @settings.get(:mouse_buttons_event_handler)
  super @settings
  @active = @settings.get :active
  MENUS << self  if (@settings.get(:auto_update))
end
update() click to toggle source
# File lib/AdventureRL/Menu.rb, line 16
def self.update
  get_active_menus.each(&:update)
end

Public Instance Methods

<<(object, id = DEFAULT_INVENTORY_ID)
Alias for: add_object
activate() click to toggle source
# File lib/AdventureRL/Menu.rb, line 55
def activate
  @active = true
end
add(object, id = DEFAULT_INVENTORY_ID)
Alias for: add_object
add_button(object, id = DEFAULT_INVENTORY_ID)
Alias for: add_object
add_item(object, id = DEFAULT_INVENTORY_ID)
Alias for: add_object
add_object(object, id = DEFAULT_INVENTORY_ID) click to toggle source

Overwrite add_object method, so we can validate, that the given object is a Button.

Calls superclass method AdventureRL::Layer#add_object
# File lib/AdventureRL/Menu.rb, line 42
def add_object object, id = DEFAULT_INVENTORY_ID
  #Helpers::Error.error(
  #  "Expected given object to be a Button, but got",
  #  "'#{object.inspect}:#{object.class.name}`."
  #)  unless (object.is_a? Button)
  super
  @mouse_buttons_event_handler.subscribe object  if (object.is_a? Button)
end
Also aliased as: add_button, add_item, add, <<
button_down(btnid) click to toggle source
# File lib/AdventureRL/Menu.rb, line 71
def button_down btnid
  return  if (is_inactive?)
  @mouse_buttons_event_handler.button_down btnid
end
button_up(btnid) click to toggle source
# File lib/AdventureRL/Menu.rb, line 76
def button_up btnid
  return  if (is_inactive?)
  @mouse_buttons_event_handler.button_up btnid
end
deactivate() click to toggle source
# File lib/AdventureRL/Menu.rb, line 59
def deactivate
  @active = false
end
draw() click to toggle source
Calls superclass method AdventureRL::Layer#draw
# File lib/AdventureRL/Menu.rb, line 87
def draw
  return  if (is_inactive?)
  super
end
is_active?() click to toggle source
# File lib/AdventureRL/Menu.rb, line 63
def is_active?
  return !!@active
end
is_inactive?() click to toggle source
# File lib/AdventureRL/Menu.rb, line 67
def is_inactive?
  return !is_active?
end
update() click to toggle source
Calls superclass method AdventureRL::Layer#update
# File lib/AdventureRL/Menu.rb, line 81
def update
  return  if (is_inactive?)
  @mouse_buttons_event_handler.update
  super
end