Added basic credits scene.
[naja.git] / naja / engine.py
index 7529efd357b6c47d0ced7970d45b12476ce59bb8..3565f4be0652d5d388f4b42d607c029c33315a2c 100644 (file)
@@ -1,7 +1,8 @@
 import pygame
 import pygame.locals as pgl
 
-from naja.events import SceneChangeEvent
+from naja.constants import FPS
+from naja.events import SceneChangeEvent, QuitGameEvent
 
 
 class Engine(object):
@@ -10,18 +11,26 @@ class Engine(object):
         self._scene = scene
 
     def run(self):
+        clock = pygame.time.Clock()
         while True:
             for ev in pygame.event.get():
-                if ev.type == pgl.QUIT:
+                if ev.type == pgl.QUIT or QuitGameEvent.matches(ev):
+                    self.quit_game()
                     return
                 elif SceneChangeEvent.matches(ev):
                     self.change_scene(ev.scene)
                 else:
+                    print(ev.type)
                     self._scene.handle_event(ev)
             self._scene.render(self._surface)
             pygame.display.flip()
+            clock.tick(FPS)
 
     def change_scene(self, scene):
         self._scene.exit()
         self._scene = scene
         self._scene.enter()
+
+    def quit_game(self):
+        self._scene.exit()
+        self._scene = None