Mercurial > mamba
annotate mamba/habitats/level.py @ 236:09247e08aeda
Refactor edit calling code. Tweak toolbar layout
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Wed, 14 Sep 2011 23:32:08 +0200 |
parents | 119c0fb758c2 |
children | fba74abad7b7 |
rev | line source |
---|---|
19
6d195a3a4557
Somewhere for levels to live.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
1 """Where a level object hides.""" |
6d195a3a4557
Somewhere for levels to live.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
2 |
119
119c0fb758c2
Move key handling into GameWidget and GameWidget into widgets.game.
Simon Cross <hodgestar@gmail.com>
parents:
111
diff
changeset
|
3 from pygame.locals import KEYDOWN |
61 | 4 |
5 from mamba.constants import ESCAPE_KEYS | |
6 from mamba.engine import Habitat, NewHabitatEvent | |
78
b1019923cb12
Direction control for snake.
Simon Cross <hodgestar@gmail.com>
parents:
72
diff
changeset
|
7 from mamba.world import World |
119
119c0fb758c2
Move key handling into GameWidget and GameWidget into widgets.game.
Simon Cross <hodgestar@gmail.com>
parents:
111
diff
changeset
|
8 from mamba.widgets.game import GameWidget |
19
6d195a3a4557
Somewhere for levels to live.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
9 from mamba.level import Level |
6d195a3a4557
Somewhere for levels to live.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
10 |
6d195a3a4557
Somewhere for levels to live.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
11 |
6d195a3a4557
Somewhere for levels to live.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
12 class LevelHabitat(Habitat): |
6d195a3a4557
Somewhere for levels to live.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
13 def __init__(self, level_name): |
24
30d4f3e62bcf
Refactor widgets *again*, add container to Habitat
Stefano Rivera <stefano@rivera.za.net>
parents:
19
diff
changeset
|
14 super(LevelHabitat, self).__init__() |
78
b1019923cb12
Direction control for snake.
Simon Cross <hodgestar@gmail.com>
parents:
72
diff
changeset
|
15 level = Level(level_name) |
119
119c0fb758c2
Move key handling into GameWidget and GameWidget into widgets.game.
Simon Cross <hodgestar@gmail.com>
parents:
111
diff
changeset
|
16 world = World(level) |
119c0fb758c2
Move key handling into GameWidget and GameWidget into widgets.game.
Simon Cross <hodgestar@gmail.com>
parents:
111
diff
changeset
|
17 game_widget = GameWidget(world) |
111 | 18 self.container.add(game_widget) |
61 | 19 self.container.add_callback(KEYDOWN, self.keydown_event) |
111 | 20 |
61 | 21 def keydown_event(self, ev, widget): |
22 if ev.key in ESCAPE_KEYS: | |
62 | 23 from mamba.habitats.mainmenu import MainMenu |
61 | 24 NewHabitatEvent.post(MainMenu()) |
72
095914aee329
Return True from keydown_event so that the container knows the event has been handled.
Simon Cross <hodgestar@gmail.com>
parents:
62
diff
changeset
|
25 return True |