Mercurial > sypikslang
comparison 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 |
comparison
equal
deleted
inserted
replaced
41:e285b1e31a08 | 42:47c7e96cf9c8 |
---|---|
22 if init_data: | 22 if init_data: |
23 self._load_data(init_data) | 23 self._load_data(init_data) |
24 else: | 24 else: |
25 self.lab = lab.Lab() | 25 self.lab = lab.Lab() |
26 # instantiate all the available missions | 26 # instantiate all the available missions |
27 self.missions = [cls() for cls in | 27 for cls in missions.Mission.__subclasses__(): |
28 missions.Mission.__subclasses__()] | 28 if cls.__subclasses__(): |
29 # Not a leaf class, so base class for other missions | |
30 continue | |
31 # Add mission to the list | |
32 self.missions.append(cls()) | |
29 | 33 |
30 def start_turn(self): | 34 def start_turn(self): |
31 # Make more flexible? | 35 # Make more flexible? |
32 self.points += 3 | 36 self.points += 3 |
33 self.cur_missions = [] | 37 self.cur_missions = [] |