Mercurial > mamba
changeset 310:b371c2ea309e
excised level locking
author | Adrianna Pińska <adrianna.pinska@gmail.com> |
---|---|
date | Fri, 16 Sep 2011 18:32:31 +0200 |
parents | 67312228c158 |
children | 3b7288064935 |
files | data/menus/lock.png mamba/gamestate.py mamba/habitats/levelmenu.py mamba/widgets/levelbutton.py source/svg/menus/lock.svg |
diffstat | 5 files changed, 10 insertions(+), 123 deletions(-) [+] |
line wrap: on
line diff
--- 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()
--- 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:
--- 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)
--- 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 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="50" - height="50" - id="svg2" - version="1.1" - inkscape:version="0.48.2 r9819" - sodipodi:docname="lock.svg"> - <defs - id="defs4" /> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="7.919596" - inkscape:cx="6.11207" - inkscape:cy="29.630633" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="false" - showguides="true" - inkscape:guide-bbox="true" - inkscape:window-width="1280" - inkscape:window-height="776" - inkscape:window-x="0" - inkscape:window-y="24" - inkscape:window-maximized="1"> - <sodipodi:guide - orientation="1,0" - position="5,0" - id="guide3761" /> - <sodipodi:guide - orientation="1,0" - position="45,0" - id="guide3763" /> - <sodipodi:guide - orientation="1,0" - position="25,0" - id="guide3765" /> - <sodipodi:guide - orientation="1,0" - position="10,0" - id="guide3767" /> - <sodipodi:guide - orientation="1,0" - position="40,0" - id="guide3769" /> - <sodipodi:guide - orientation="0,1" - position="0,5" - id="guide3781" /> - <sodipodi:guide - orientation="0,1" - position="0,45" - id="guide3801" /> - </sodipodi:namedview> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title /> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1" - transform="translate(0,-1002.3622)"> - <path - style="fill:#ff0000;fill-opacity:1;stroke:none" - d="m 11.6665,1027.362 0,20.0002 26.667,0 0,-20.0002 -26.667,0 z M 25,1029.5842 c 1.840972,0 3.333375,1.4924 3.333375,3.3334 0,1.2301 -0.675259,2.2974 -1.666687,2.875 l 0,9.3474 -3.333375,0 0,-9.3474 c -0.991429,-0.5776 -1.666688,-1.6449 -1.666688,-2.875 0,-1.841 1.492403,-3.3334 3.333375,-3.3334 z" - id="rect2987" - inkscape:connector-curvature="0" /> - <path - style="fill:none;stroke:#ff0000;stroke-width:4.44449996999999986;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" - d="m 16.111,1037.3621 0,-18.8891 c 0,0 0,-8.889 8.889,-8.889 8.889,0 8.889,8.889 8.889,8.889 l 0,18.8891" - id="path3789" - inkscape:connector-curvature="0" - sodipodi:nodetypes="ccscc" /> - </g> -</svg>