projects
/
naja.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of git+ssh://ctpug.org.za/naja
[naja.git]
/
naja
/
engine.py
diff --git
a/naja/engine.py
b/naja/engine.py
index 2278fa0e234de3f34aa505f7c206c267eeccbb30..94ddeab24a055e9134e1c51e7fef68f2a877dd58 100644
(file)
--- a/
naja/engine.py
+++ b/
naja/engine.py
@@
-1,7
+1,7
@@
import pygame
import pygame.locals as pgl
import pygame
import pygame.locals as pgl
-from naja.events import SceneChangeEvent
+from naja.events import SceneChangeEvent
, QuitGameEvent
class Engine(object):
class Engine(object):
@@
-12,16
+12,21
@@
class Engine(object):
def run(self):
while True:
for ev in pygame.event.get():
def run(self):
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:
return
elif SceneChangeEvent.matches(ev):
self.change_scene(ev.scene)
else:
- self._scene.handle_event()
- # TODO: work
+ 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()
pygame.display.flip()
def change_scene(self, scene):
self._scene.exit()
self._scene = scene
self._scene.enter()
+
+ def quit_game(self):
+ self._scene.exit()
+ self._scene = None