view mamba/habitats/level.py @ 119:119c0fb758c2

Move key handling into GameWidget and GameWidget into widgets.game.
author Simon Cross <hodgestar@gmail.com>
date Sun, 11 Sep 2011 20:56:13 +0200
parents 0c1005c76c87
children fba74abad7b7
line wrap: on
line source

"""Where a level object hides."""

from pygame.locals import KEYDOWN

from mamba.constants import ESCAPE_KEYS
from mamba.engine import Habitat, NewHabitatEvent
from mamba.world import World
from mamba.widgets.game import GameWidget
from mamba.level import Level


class LevelHabitat(Habitat):
    def __init__(self, level_name):
        super(LevelHabitat, self).__init__()
        level = Level(level_name)
        world = World(level)
        game_widget = GameWidget(world)
        self.container.add(game_widget)
        self.container.add_callback(KEYDOWN, self.keydown_event)

    def keydown_event(self, ev, widget):
        if ev.key in ESCAPE_KEYS:
            from mamba.habitats.mainmenu import MainMenu
            NewHabitatEvent.post(MainMenu())
            return True