changeset 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 2bdac178ec6f
files gamelib/gamestate.py
diffstat 1 files changed, 6 insertions(+), 2 deletions(-) [+]
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?