view nagslang/screens/base.py @ 698:020e73192fe2 default tip

Update debian urls
author Neil Muller <drnlmuller@gmail.com>
date Tue, 17 Mar 2020 22:38:52 +0200
parents 943d93b47c77
children
line wrap: on
line source

"""A screen or area in which action happens."""

import sys

from pygame import event
import pymunk


class Screen(object):

    def __init__(self, name, world):
        self.name = name
        self.world = world
        self.space = pymunk.Space()

    def setup(self):
        """Perform setup based on the world state."""
        pass

    def teardown(self):
        pass

    def post_event(self, ev):
        event.post(ev)

    def handle_event(self, ev):
        pass

    def render(self, surface):
        pass

    def tick(self, seconds):
        """Step the given amount of time."""
        try:
            self.space.step(seconds)
        except AssertionError:
            # TODO: Find the source of these
            print >> sys.stderr, (
                'Caught a pymunk assertion error. '
                "We don't know what causes these on level change. "
                "Hopefully we can ignore them...")