annotate mamba/habitats/level.py @ 61:fc4b7db1d832

Habitat switching.
author Simon Cross <hodgestar@gmail.com>
date Sun, 11 Sep 2011 16:35:02 +0200
parents 30d4f3e62bcf
children 40be38f4427c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
61
fc4b7db1d832 Habitat switching.
Simon Cross <hodgestar@gmail.com>
parents: 24
diff changeset
3 from pygame.locals import KEYDOWN
fc4b7db1d832 Habitat switching.
Simon Cross <hodgestar@gmail.com>
parents: 24
diff changeset
4
fc4b7db1d832 Habitat switching.
Simon Cross <hodgestar@gmail.com>
parents: 24
diff changeset
5 from mamba.constants import ESCAPE_KEYS
fc4b7db1d832 Habitat switching.
Simon Cross <hodgestar@gmail.com>
parents: 24
diff changeset
6 from mamba.engine import Habitat, NewHabitatEvent
19
6d195a3a4557 Somewhere for levels to live.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
7 from mamba.widgets.level import LevelWidget
6d195a3a4557 Somewhere for levels to live.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
8 from mamba.level import Level
6d195a3a4557 Somewhere for levels to live.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
9
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 class LevelHabitat(Habitat):
6d195a3a4557 Somewhere for levels to live.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
12 def __init__(self, level_name):
24
30d4f3e62bcf Refactor widgets *again*, add container to Habitat
Stefano Rivera <stefano@rivera.za.net>
parents: 19
diff changeset
13 super(LevelHabitat, self).__init__()
19
6d195a3a4557 Somewhere for levels to live.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
14 self.level = Level(level_name)
61
fc4b7db1d832 Habitat switching.
Simon Cross <hodgestar@gmail.com>
parents: 24
diff changeset
15 self.level_widget = LevelWidget(self.level)
fc4b7db1d832 Habitat switching.
Simon Cross <hodgestar@gmail.com>
parents: 24
diff changeset
16 self.container.add(self.level_widget)
fc4b7db1d832 Habitat switching.
Simon Cross <hodgestar@gmail.com>
parents: 24
diff changeset
17 self.container.add_callback(KEYDOWN, self.keydown_event)
fc4b7db1d832 Habitat switching.
Simon Cross <hodgestar@gmail.com>
parents: 24
diff changeset
18
fc4b7db1d832 Habitat switching.
Simon Cross <hodgestar@gmail.com>
parents: 24
diff changeset
19 def keydown_event(self, ev, widget):
fc4b7db1d832 Habitat switching.
Simon Cross <hodgestar@gmail.com>
parents: 24
diff changeset
20 if ev.key in ESCAPE_KEYS:
fc4b7db1d832 Habitat switching.
Simon Cross <hodgestar@gmail.com>
parents: 24
diff changeset
21 from mamba.habitat.mainmenu import MainMenu
fc4b7db1d832 Habitat switching.
Simon Cross <hodgestar@gmail.com>
parents: 24
diff changeset
22 NewHabitatEvent.post(MainMenu())