home *** CD-ROM | disk | FTP | other *** search
/ Freelog 59 / Freelog059.iso / Dossier / Pydance / pydance-1.0.2.exe / pydance-1.0.2 / listener.py < prev    next >
Text File  |  2004-01-10  |  2KB  |  40 lines

  1. # This is the base class for most of the active objects in the game.
  2.  
  3. # It basically says that the object should do nothing on all the
  4. # events it might get.
  5.  
  6. class Listener(object):
  7.   def __init__(self):
  8.     raise NotImplementedError("This class should never be instantiated.")
  9.  
  10.   # change_bpm, stepped, broke_hold, and ok_hold receive the player's
  11.   # "virtual" pid number, which is not the same as the real pid in
  12.   # doubled modes. set_song always receives the real pid number, because
  13.   # a song is only set once, not once for each virtual pid.
  14.  
  15.   # This is received when a hold is sucessfully completed ("OK").
  16.   # dir is the direction of this hold.
  17.   # whichone is a unique ID of the hold for this song.
  18.   def ok_hold(self, pid, curtime, dir, whichone): pass
  19.  
  20.   # Received when a hold is broken ("NG") for the first time.
  21.   def broke_hold(self, pid, curtime, dir, whichone): pass
  22.  
  23.   # Received when an arrow is stepped on or missed.
  24.   # combo is the current combo count. rating is V (marvelous), P
  25.   # (perfect), G (great), O (okay), B (boo), or M (miss), or None,
  26.   # if no arrow was hit.
  27.  
  28.   # Note that since Combo objects are Listeners, the order Listeners
  29.   # are called in *does* matter in that case.
  30.   # etime is the "proper" time to step.
  31.   def stepped(self, pid, dir, curtime, etime, rating, combo): pass
  32.  
  33.   # Received when a new song is started. difficulty is the name as a
  34.   # string; count is the number of arrows in the song; feet is the
  35.   # song rating.
  36.   def set_song(self, pid, bpm, difficulty, count, holds, feet): pass
  37.  
  38.   # Received when the BPM of the song changes. The new BPM is given.
  39.   def change_bpm(self, pid, curtime, bpm): pass
  40.