Mercurial > mamba
comparison mamba/habitats/level.py @ 531:dee11e9a37b0
Caption fiddling
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Sun, 18 Sep 2011 01:10:32 +0200 |
parents | 30ce046d08c3 |
children | 6a4f9a2f6820 |
comparison
equal
deleted
inserted
replaced
530:111c3a6274ec | 531:dee11e9a37b0 |
---|---|
1 """Where a level object hides.""" | 1 """Where a level object hides.""" |
2 | 2 |
3 import pygame.display | |
3 from pygame.locals import KEYDOWN | 4 from pygame.locals import KEYDOWN |
4 | 5 |
5 from mamba.constants import ESCAPE_KEYS | 6 from mamba.constants import ESCAPE_KEYS, NAME |
6 from mamba.engine import Habitat, LevelCompletedEvent, SnakeDiedEvent | 7 from mamba.engine import Habitat, LevelCompletedEvent, SnakeDiedEvent |
7 from mamba.gamestate import level_done | 8 from mamba.gamestate import level_done |
8 from mamba.widgets.game import GameWidget | 9 from mamba.widgets.game import GameWidget |
9 from mamba.widgets.messagebox import MessageBox | 10 from mamba.widgets.messagebox import MessageBox |
10 from mamba.world import World | 11 from mamba.world import World |
14 def __init__(self, level, go_menu, go_next_level): | 15 def __init__(self, level, go_menu, go_next_level): |
15 super(LevelHabitat, self).__init__() | 16 super(LevelHabitat, self).__init__() |
16 self.go_menu = go_menu | 17 self.go_menu = go_menu |
17 self.go_next_level = go_next_level | 18 self.go_next_level = go_next_level |
18 self.world = World(level) | 19 self.world = World(level) |
20 self.level_name = level.name | |
19 self.game_widget = GameWidget(self.world) | 21 self.game_widget = GameWidget(self.world) |
20 self.container.add(self.game_widget) | 22 self.container.add(self.game_widget) |
21 self.container.add_callback(KEYDOWN, self.keydown_event) | 23 self.container.add_callback(KEYDOWN, self.keydown_event) |
22 self.container.add_callback(LevelCompletedEvent, self.level_completed) | 24 self.container.add_callback(LevelCompletedEvent, self.level_completed) |
23 self.container.add_callback(SnakeDiedEvent, self.snake_died) | 25 self.container.add_callback(SnakeDiedEvent, self.snake_died) |
25 def keydown_event(self, ev, widget): | 27 def keydown_event(self, ev, widget): |
26 if ev.key in ESCAPE_KEYS: | 28 if ev.key in ESCAPE_KEYS: |
27 self.world.pause() | 29 self.world.pause() |
28 self.go_menu() | 30 self.go_menu() |
29 return True | 31 return True |
32 | |
33 def on_enter(self): | |
34 """Set the caption to the level name""" | |
35 super(LevelHabitat, self).on_enter() | |
36 pygame.display.set_caption('%s: %s' % (NAME, self.level_name)) | |
37 | |
38 def on_exit(self): | |
39 """Fix name""" | |
40 super(LevelHabitat, self).on_exit() | |
41 pygame.display.set_caption(NAME) | |
30 | 42 |
31 def level_completed(self, ev, widget): | 43 def level_completed(self, ev, widget): |
32 if not self.world.pause(): | 44 if not self.world.pause(): |
33 return False | 45 return False |
34 self.display_dialog( | 46 self.display_dialog( |