Add a sensible license
[koperkapel.git] / koperkapel / pgzapp.py
index 225dde95c2f310ef5502df505dea3edc0b3b18d4..712bae7e9793256e716edf50d086f16bcf3155c8 100644 (file)
@@ -1,5 +1,44 @@
 """ Pygame-zero application module. """
 
-TITLE = "Koperkapel"
-WIDTH = 1024
-HEIGHT = 768
+import sys
+
+from .world import World
+from .scenes.base import Engine
+from .scenes.menu import MenuScene
+from .constants import WIDTH, HEIGHT, TITLE
+
+
+engine = Engine(sys.modules[__name__], MenuScene(), World())
+
+
+def update(dt):
+    engine.update(dt)
+
+
+def draw():
+    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()