class Asteroids::Menu

Public Class Methods

new() click to toggle source
# File lib/asteroids/menu/menu.rb, line 3
def initialize ()
  @items = []
end

Public Instance Methods

add_item(image, callback, selected) click to toggle source
# File lib/asteroids/menu/menu.rb, line 7
def add_item (image, callback, selected)
  item = MenuItem.new(image, callback, selected)
  @items << item
  item.x = position[:x]
  item.y = position[:y]
end
confirm() click to toggle source
# File lib/asteroids/menu/menu.rb, line 37
def confirm
  @items.each do |item|
    if item.is_selected?
      item.execute
    end
  end
end
draw() click to toggle source
# File lib/asteroids/menu/menu.rb, line 14
def draw
  @items.each do |i|
      i.draw
  end
end
position() click to toggle source
# File lib/asteroids/menu/menu.rb, line 20
def position
  {x: $window.width / 2 - @items[@items.count - 1].width / 2,
   y: $window.height / 3  - @items[@items.count - 1].height / 3 +
    @items.count * 60 }
end
select_item(which) click to toggle source
# File lib/asteroids/menu/menu.rb, line 26
def select_item(which)
  @items.each_with_index do |item, index|
    if item.is_selected?
      if @items[index.send(which, 1) % 3].select
        item.deselect
        return true
      end
    end
  end
end