Properly implement player movement.
[naja.git] / naja / events.py
index 01df79c162a34b5c652374847296f1623b082fa6..11adab0f7528cbd68e88adf32275d4ab39ff8be9 100644 (file)
@@ -25,13 +25,24 @@ class SceneChangeEvent(NajaEvent):
     TYPE = "SCENE_CHANGE"
 
     @classmethod
-    def post(cls, scene):
-        super(SceneChangeEvent, cls).post(scene=scene)
+    def post(cls, scene_cls):
+        super(SceneChangeEvent, cls).post(scene_cls=scene_cls)
 
 
 class QuitGameEvent(NajaEvent):
     TYPE = "QUIT_GAME"
 
-    @classmethod
-    def post(cls):
-        super(QuitGameEvent, cls).post()
+
+class InvalidateTheWorld(NajaEvent):
+    # This is used to signal to all the widgets that the world has changed
+    # and cached state may need to be recreated
+    TYPE = "INVALIDATE"
+
+
+class SelectEvent(NajaEvent):
+    TYPE = "SELECT"
+
+
+class PlayerMoved(NajaEvent):
+    # This is used to signal to widgets that care that the player has moved.
+    TYPE = "PLAYER_MOVED"