projects
/
naja.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
PEP8.
[naja.git]
/
naja
/
engine.py
diff --git
a/naja/engine.py
b/naja/engine.py
index 84bf9d0efc84e167a637216b9e7572bd1d7b14ee..2642feb3481de6407b63ebb02cd58b0a3691afd2 100644
(file)
--- a/
naja/engine.py
+++ b/
naja/engine.py
@@
-2,13
+2,15
@@
import pygame
import pygame.locals as pgl
from naja.constants import FPS
import pygame.locals as pgl
from naja.constants import FPS
-from naja.events import SceneChangeEvent, QuitGameEvent
+from naja.events import SceneChangeEvent, QuitGameEvent, LoadGameEvent
+from naja.sound import sound
class Engine(object):
class Engine(object):
- def __init__(self, surface, scene):
+ def __init__(self, surface, scene
, state
):
self._surface = surface
self._scene = scene
self._surface = surface
self._scene = scene
+ self._state = state
def run(self):
clock = pygame.time.Clock()
def run(self):
clock = pygame.time.Clock()
@@
-19,19
+21,21
@@
class Engine(object):
self.quit_game()
return
elif SceneChangeEvent.matches(ev):
self.quit_game()
return
elif SceneChangeEvent.matches(ev):
- self.change_scene(ev.scene)
+ self.change_scene(ev.scene_cls)
+ elif LoadGameEvent.matches(ev):
+ self._state = ev.state
else:
else:
- print(ev.type)
self._scene.handle_event(ev)
self._scene.render(self._surface)
pygame.display.flip()
clock.tick(FPS)
self._scene.handle_event(ev)
self._scene.render(self._surface)
pygame.display.flip()
clock.tick(FPS)
- def change_scene(self, scene):
+ def change_scene(self, scene
_cls
):
self._scene.exit()
self._scene.exit()
- self._scene = scene
+ self._scene = scene
_cls(self._state)
self._scene.enter()
def quit_game(self):
self._scene.exit()
self._scene.enter()
def quit_game(self):
self._scene.exit()
+ sound.play_sound('shutdown.ogg', foreground=True)
self._scene = None
self._scene = None