changeset 42:8521c142cd43

Add habitat for editor and reshuffle when options are checked to before initializing the display window.
author Simon Cross <hodgestar@gmail.com>
date Sun, 11 Sep 2011 15:16:37 +0200
parents 3f44c30a1c39
children 792c8429681a
files mamba/__main__.py mamba/habitats/editor.py
diffstat 2 files changed, 24 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/mamba/__main__.py	Sun Sep 11 15:08:16 2011 +0200
+++ b/mamba/__main__.py	Sun Sep 11 15:16:37 2011 +0200
@@ -10,11 +10,23 @@
 from mamba.sound import SoundSystem
 from mamba.habitats.mainmenu import MainMenu
 from mamba.habitats.level import LevelHabitat
+from mamba.habitats.editor import EditorHabitat
 
 
 def main():
     """Launch the currently unnamed mamab game"""
     parse_args(sys.argv)
+
+    if options.edit:
+        if options.level is None:
+            print 'You must specifiy a level name when using --edit'
+            sys.exit(1)
+        start = EditorHabitat(options.level)
+    elif options.level is not None:
+        start = LevelHabitat(options.level)
+    else:
+        start = MainMenu()
+
     SoundSystem(options.sound)
     pygame.display.init()
     pygame.font.init()
@@ -22,13 +34,5 @@
     pygame.display.set_caption('Mamba')
 
     engine = Engine()
-    if options.level is None:
-        if options.edit:
-            print 'You must specifiy a level name when using --edit'
-            sys.exit(1)
-        start = MainMenu()
-    else:
-        start = LevelHabitat(options.level)
-        # TODO: Hook up firing up editor
     engine.set_habitat(start)
     engine.run()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mamba/habitats/editor.py	Sun Sep 11 15:16:37 2011 +0200
@@ -0,0 +1,12 @@
+"""Habitat for editing levels."""
+
+from mamba.engine import Habitat
+from mamba.widgets.level import LevelWidget
+from mamba.level import Level
+
+
+class EditorHabitat(Habitat):
+    def __init__(self, level_name):
+        super(EditorHabitat, self).__init__()
+        self.level = Level(level_name)
+        self.container.add(LevelWidget(self.level))