Add a sensible license
[koperkapel.git] / koperkapel / pgzapp.py
index d703aaf16bc37a6d040fd58801f0a711217773ef..712bae7e9793256e716edf50d086f16bcf3155c8 100644 (file)
@@ -1,17 +1,44 @@
 """ Pygame-zero application module. """
 
-TITLE = "Koperkapel"
-WIDTH = 1024
-HEIGHT = 768
+import sys
 
-from .scenes import menu
+from .world import World
+from .scenes.base import Engine
+from .scenes.menu import MenuScene
+from .constants import WIDTH, HEIGHT, TITLE
 
-current_scene = menu.MenuScene()
+
+engine = Engine(sys.modules[__name__], MenuScene(), World())
 
 
 def update(dt):
-    current_scene.update(dt)
+    engine.update(dt)
 
 
 def draw():
-    current_scene.draw(screen)
+    engine.draw()
+
+
+def on_mouse_down(pos, button):
+    engine.on_mouse_down(pos, button)
+
+
+def on_mouse_up(pos, button):
+    engine.on_mouse_up(pos, button)
+
+
+# NOTE: on_mouse_move is not hooked up because of
+#       https://bitbucket.org/lordmauve/pgzero/issues/41/
+#       spellchecker-has-wrong-argument-names-for
+
+
+def on_key_down(key, mod, unicode):
+    engine.on_key_down(key, mod, unicode)
+
+
+def on_key_up(key, mod):
+    engine.on_key_up(key, mod)
+
+
+def on_music_end():
+    engine.on_music_end()