module Mittsu::EventDispatcher
Constants
- Event
Public Instance Methods
add_event_listener(type, listener)
click to toggle source
# File lib/mittsu/core/event_dispatcher.rb, line 5 def add_event_listener(type, listener) @_listeners ||= {} @_listeners[type] ||= [] if !@_listeners[type].include? listener @_listeners[type] << (listener) end end
dispatch_event(event = {})
click to toggle source
# File lib/mittsu/core/event_dispatcher.rb, line 27 def dispatch_event(event = {}) return if @_listeners.nil? listener_array = @_listeners[event[:type]] if listener_array evt = Event.new(event[:type], self) array = listener_array.dup array.each do |l| l.call(evt) end end end
has_event_listener(type, listener)
click to toggle source
# File lib/mittsu/core/event_dispatcher.rb, line 13 def has_event_listener(type, listener) return false if @_listeners.nil? return false if @_listeners[type].nil? @_listeners[type].include? listener end
remove_event_listener(type, listener)
click to toggle source
# File lib/mittsu/core/event_dispatcher.rb, line 19 def remove_event_listener(type, listener) return if @_listeners.nil? listener_array = @_listeners[type] if listener_array listener_array.delete(listener) end end