class AdventureRL::EventHandlers::Buttons
Constants
- BUTTON_EVENT_HANDLERS
This constant will be filled with
EventHandlers::Buttons
andEventHandlers::MouseButtons
instances as they are created. It is used by the following class methods EventHandler::Buttons#button_down, EventHandler::Buttons#button_up, and EventHandler::Buttons#update.- DEFAULT_SETTINGS
Public Class Methods
new(settings = {})
click to toggle source
Calls superclass method
# File lib/AdventureRL/EventHandlers/Buttons.rb, line 32 def initialize settings = {} @settings = DEFAULT_SETTINGS.merge settings super @pressable_buttons = [] pressable_buttons = [@settings.get(:pressable_buttons)].flatten add_pressable_button pressable_buttons if (pressable_buttons.any?) @events = get_events BUTTON_EVENT_HANDLERS << self if (@settings.get(:auto_update)) end
update()
click to toggle source
# File lib/AdventureRL/EventHandlers/Buttons.rb, line 23 def self.update BUTTON_EVENT_HANDLERS.each &:update end
Public Instance Methods
update()
click to toggle source
# File lib/AdventureRL/EventHandlers/Buttons.rb, line 95 def update return unless (get_pressable_buttons.any?) pressed_btns = get_pressable_buttons.map do |btn| next btn[:name] if (btn[:ids].any? { |id| Gosu.button_down?(id) }) next nil end .compact.uniq return unless (pressed_btns.any?) pressed_btns.each do |btn| trigger( :button_press, btn, shift: shift_button_pressed?, control: control_button_pressed?, alt: alt_button_pressed? ) end end
Private Instance Methods
get_events()
click to toggle source
# File lib/AdventureRL/EventHandlers/Buttons.rb, line 119 def get_events return [ get_event_button_down, get_event_button_up, get_event_button_press ] end