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