Mercurial > sypikslang
diff gamelib/gamestate.py @ 42:47c7e96cf9c8
Change initial mission creation logic to look for leaf classes
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Mon, 07 May 2012 14:00:18 +0200 |
parents | e285b1e31a08 |
children | 1e8f7e694f0c |
line wrap: on
line diff
--- a/gamelib/gamestate.py Mon May 07 13:59:50 2012 +0200 +++ b/gamelib/gamestate.py Mon May 07 14:00:18 2012 +0200 @@ -24,8 +24,12 @@ else: self.lab = lab.Lab() # instantiate all the available missions - self.missions = [cls() for cls in - missions.Mission.__subclasses__()] + for cls in missions.Mission.__subclasses__(): + if cls.__subclasses__(): + # Not a leaf class, so base class for other missions + continue + # Add mission to the list + self.missions.append(cls()) def start_turn(self): # Make more flexible?