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