Mercurial > nagslang
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()