projects
/
naja.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
chirp on successful actions
[naja.git]
/
naja
/
events.py
diff --git
a/naja/events.py
b/naja/events.py
index 01df79c162a34b5c652374847296f1623b082fa6..1d7609f5937cc61d81b89de4a0c805e7398f72b0 100644
(file)
--- a/
naja/events.py
+++ b/
naja/events.py
@@
-6,8
+6,13
@@
import pygame.event as pge
import pygame.locals as pgl
import pygame.locals as pgl
-class NajaEvent(object):
+def finish_event(handled=True, skip_invalidate=False):
+ if not skip_invalidate:
+ InvalidateTheWorld.post()
+ return handled
+
+class NajaEvent(object):
TYPE = "UNKNOWN"
@classmethod
TYPE = "UNKNOWN"
@classmethod
@@
-25,13
+30,19
@@
class SceneChangeEvent(NajaEvent):
TYPE = "SCENE_CHANGE"
@classmethod
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"
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"