# HG changeset patch # User Adrianna PiƄska # Date 1316190751 -7200 # Node ID b371c2ea309efabbd8495bc8b973e072d59f4a50 # Parent 67312228c15850b044a3a39410380de98b05f3c1 excised level locking diff -r 67312228c158 -r b371c2ea309e data/menus/lock.png Binary file data/menus/lock.png has changed diff -r 67312228c158 -r b371c2ea309e mamba/gamestate.py --- a/mamba/gamestate.py Fri Sep 16 18:32:12 2011 +0200 +++ b/mamba/gamestate.py Fri Sep 16 18:32:31 2011 +0200 @@ -10,7 +10,6 @@ levels = [] -unlocked_levels = set() done_levels = set() @@ -21,16 +20,15 @@ def load_state(): - global unlocked_levels, done_levels + global done_levels fn = os.path.join(options.save_location, 'gamestate.json') if os.access(fn, os.R_OK): f = open(fn, 'r') state = json.load(f) f.close() - unlocked_levels = set(state['unlocked_levels']) done_levels = set(state['done_levels']) else: - unlocked_levels = set((0,)) + done_levels = set((0,)) def save_state(): @@ -39,7 +37,6 @@ os.makedirs(options.save_location) f = open(fn, 'w') json.dump({ - 'unlocked_levels': list(unlocked_levels), 'done_levels': list(done_levels), }, f) f.close() diff -r 67312228c158 -r b371c2ea309e mamba/habitats/levelmenu.py --- a/mamba/habitats/levelmenu.py Fri Sep 16 18:32:12 2011 +0200 +++ b/mamba/habitats/levelmenu.py Fri Sep 16 18:32:31 2011 +0200 @@ -2,7 +2,7 @@ from pygame.locals import KEYDOWN -from mamba.gamestate import levels, unlocked_levels, done_levels +from mamba.gamestate import levels, done_levels from mamba.constants import ESCAPE_KEYS from mamba.engine import Habitat, NewHabitatEvent from mamba.widgets.levelbutton import LevelButton @@ -15,7 +15,6 @@ self.level_buttons = {} for level, name in enumerate(levels): button = LevelButton((50 + 75 * level, 100), str(level + 1), - locked=level not in unlocked_levels, done=level in done_levels) button.add_callback('clicked', self.level_selected, name) self.container.add(button) @@ -25,20 +24,12 @@ def update_buttons(self): for name, button in self.level_buttons.iteritems(): - button.locked = name not in unlocked_levels button.done = name in done_levels def level_selected(self, ev, widget, name): - # Demo: - if widget.locked: - unlocked_levels.add(name) - self.update_buttons() - return True - - if not widget.locked: - from mamba.habitats.level import LevelHabitat - NewHabitatEvent.post(LevelHabitat(name)) - return True + from mamba.habitats.level import LevelHabitat + NewHabitatEvent.post(LevelHabitat(name)) + return True def keydown_event(self, ev, widget): if ev.key in ESCAPE_KEYS: diff -r 67312228c158 -r b371c2ea309e mamba/widgets/levelbutton.py --- a/mamba/widgets/levelbutton.py Fri Sep 16 18:32:12 2011 +0200 +++ b/mamba/widgets/levelbutton.py Fri Sep 16 18:32:31 2011 +0200 @@ -9,10 +9,9 @@ class LevelButton(Button): - def __init__(self, rect, text, locked=True, done=False): + def __init__(self, rect, text, done=False): super(LevelButton, self).__init__(rect) self.text = text - self.locked = locked self.done = done self.focussable = True self.border = 3 @@ -25,9 +24,7 @@ self.surface.fill(0) image = None - if self.locked: - image = load_image('menus/lock.png') - elif self.done: + if self.done: image = load_image('menus/tick.png') if image: self.surface.blit(image, image.get_rect()) @@ -42,9 +39,9 @@ self._text.rect.width - self.rect.width, self._text.rect.height - self.rect.height) self.surface.blit(self._text.surface, text_rect) - self._state = (self.locked, self.done, self.focussed) + self._state = (self.done, self.focussed) def draw(self, surface): - if self._state != (self.locked, self.done, self.focussed): + if self._state != (self.done, self.focussed): self.prepare() surface.blit(self.surface, self.rect) diff -r 67312228c158 -r b371c2ea309e source/svg/menus/lock.svg --- a/source/svg/menus/lock.svg Fri Sep 16 18:32:12 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - -