Class Rubygame::EventTriggers::AndTrigger
In: lib/rubygame/event_triggers.rb
Parent: Object

AndTrigger is an event trigger which contains one or more other triggers, and fires when an event matches all of its triggers. You can use this to create more complex logic than is possible with a single trigger.

Contrast with OrTrigger.


match?   new  

Public Class methods

Initialize a new instance of AndTrigger, containing the given triggers.

*triggers:The triggers to contain. (Array of triggers, required)


  gameover_trigger = GameOver )
  won_trigger = :won_game => true )

  # Matches only an event which is BOTH:
  #  1. an instance of class GameOver, AND
  #  2. returns true when #won_game is called gameover_trigger, won_trigger )


# File lib/rubygame/event_triggers.rb, line 110
        def initialize( *triggers )
                @triggers = triggers

Public Instance methods

Returns true if the event matches all the triggers that the AndTrigger contains.


# File lib/rubygame/event_triggers.rb, line 117
        def match?( event )
                @triggers.all? { |trigger| trigger.match? event }