diff nagslang/level.py @ 437:d087dfb10896

Replace menu and death screen with the starting level
author Stefano Rivera <stefano@rivera.za.net>
date Sat, 07 Sep 2013 14:26:28 +0200
parents 8cd9828828c0
children 69b8d6cbc692
line wrap: on
line diff
--- a/nagslang/level.py	Sat Sep 07 14:19:31 2013 +0200
+++ b/nagslang/level.py	Sat Sep 07 14:26:28 2013 +0200
@@ -27,6 +27,7 @@
 
 
 class Level(object):
+    _game_starting_point = None
 
     def __init__(self, name, world):
         self.name = name
@@ -74,9 +75,15 @@
 
     @classmethod
     def game_starting_point(cls):
-        with resources.get_file('levels', 'meta') as f:
-            data = load(f)
-        return (data['starting_level'], data['starting_position'])
+        if not cls._game_starting_point:
+            with resources.get_file('levels', 'meta') as f:
+                data = load(f)
+            cls._game_starting_point = (data['starting_level'],
+                                        tuple(data['starting_position']))
+        return cls._game_starting_point
+
+    def is_starting_level(self):
+        return self.name == self.game_starting_point()[0]
 
     def load(self, space):
         data = self._get_data()