view nagslang/screens/playerdied.py @ 342:11febdb72296

Resume from the previous level
author Stefano Rivera <stefano@rivera.za.net>
date Fri, 06 Sep 2013 12:59:51 +0200
parents ef4f6375c0b5
children
line wrap: on
line source

"""Display a menu screen."""

import pygame

from nagslang.screens.base import Screen
from nagslang.events import ScreenChange
from nagslang.widgets.text import TextWidget, MultiLineWidget


class PlayerDiedScreen(Screen):
    def setup(self):
        # Position is hacked later
        self.widgets = [
            TextWidget((10, 10), 'You Died!', fontsize=20),
            TextWidget((40, 70), 'Press escape to return to the menu.'),
            MultiLineWidget((60, 120), self.world.get_formatted_stats()),
        ]

    def handle_event(self, ev):
        if ev.type == pygame.locals.KEYDOWN:
            if ev.key == pygame.locals.K_ESCAPE:
                self.world.protagonist.reset()
                self.world.protagonist.set_position((350, 300))
                ScreenChange.post('menu')

    def render(self, surface):
        surface.fill(pygame.color.Color(255, 255, 255))
        for widget in self.widgets:
            widget.draw(surface)