changeset 72:5db052531510

Move save() to Level
author Stefano Rivera <stefano@rivera.za.net>
date Sun, 01 Sep 2013 21:41:49 +0200
parents c449a3507a6b
children a61c2985a155
files nagslang/level.py tools/area_editor.py
diffstat 2 files changed, 27 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/nagslang/level.py	Sun Sep 01 21:39:16 2013 +0200
+++ b/nagslang/level.py	Sun Sep 01 21:41:49 2013 +0200
@@ -62,6 +62,33 @@
         if index:
             add_polygon(polygon, index, num_points)
 
+    def save(self):
+        closed = True
+        for poly in self.polygons.values():
+            if len(poly) == 0:
+                # We ignore empty polygons
+                continue
+            elif len(poly) == 1:
+                closed = False
+                print "\033[31mError: polygon too small\033[0m"
+            elif poly[-1] != poly[0]:
+                closed = False
+                print "\033[31mError: polygon not closed\033[0m"
+        if not closed:
+            print 'Not saving the level'
+            return
+        with resources.get_file(self.name, mode='w') as f:
+            f.write('X-Size: %s\n' % self.x)
+            f.write('Y-Size: %s\n' % self.y)
+            f.write('Base tile: %s\n' % self.basetile)
+            for i, poly in self.polygons.items():
+                if len(poly) == 0:
+                    continue
+                f.write('Polygon %d : %d\n' % (i, len(poly)))
+                for point in poly:
+                    f.write('Point: %d %d\n' % point)
+        print 'level %s saved' % self.name
+
     def get_size(self):
         return self.x, self.y
 
--- a/tools/area_editor.py	Sun Sep 01 21:39:16 2013 +0200
+++ b/tools/area_editor.py	Sun Sep 01 21:41:49 2013 +0200
@@ -19,7 +19,6 @@
 
 sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
 
-from nagslang.resources import resources
 from nagslang.constants import SCREEN, FPS
 from nagslang.level import Level, POLY_COLORS
 
@@ -93,33 +92,6 @@
         surface_area = pygame.rect.Rect(topleft, SCREEN)
         surface.blit(self._surface, (0, 0), surface_area)
 
-    def save(self):
-        closed = True
-        for poly in self.polygons.values():
-            if len(poly) == 0:
-                # We ignore empty polygons
-                continue
-            elif len(poly) == 1:
-                closed = False
-                print "\033[31mError: polygon too small\033[0m"
-            elif poly[-1] != poly[0]:
-                closed = False
-                print "\033[31mError: polygon not closed\033[0m"
-        if not closed:
-            print 'Not saving the level'
-            return
-        with resources.get_file(self.name, mode='w') as f:
-            f.write('X-Size: %s\n' % self.x)
-            f.write('Y-Size: %s\n' % self.y)
-            f.write('Base tile: %s\n' % self.basetile)
-            for i, poly in self.polygons.items():
-                if len(poly) == 0:
-                    continue
-                f.write('Polygon %d : %d\n' % (i, len(poly)))
-                for point in poly:
-                    f.write('Point: %d %d\n' % point)
-        print 'level %s saved' % self.name
-
 
 class Editor(object):