X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=naja%2Fengine.py;h=7529efd357b6c47d0ced7970d45b12476ce59bb8;hb=ad08d93da75b41011d609a8ecd2a7748af6737f9;hp=fc58f18503ddcb0b67754da71d186bf639236a1c;hpb=4eeaab6b382ed8a09ce03905acacb1752bef7954;p=naja.git diff --git a/naja/engine.py b/naja/engine.py index fc58f18..7529efd 100644 --- a/naja/engine.py +++ b/naja/engine.py @@ -1,6 +1,8 @@ import pygame import pygame.locals as pgl +from naja.events import SceneChangeEvent + class Engine(object): def __init__(self, surface, scene): @@ -12,6 +14,14 @@ class Engine(object): for ev in pygame.event.get(): if ev.type == pgl.QUIT: return - self._scene.handle_event() - # TODO: work + elif SceneChangeEvent.matches(ev): + self.change_scene(ev.scene) + else: + self._scene.handle_event(ev) + self._scene.render(self._surface) pygame.display.flip() + + def change_scene(self, scene): + self._scene.exit() + self._scene = scene + self._scene.enter()