projects
/
tabakrolletjie.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add ending flag to avoid many scene change events
[tabakrolletjie.git]
/
tabakrolletjie
/
scenes
/
night.py
diff --git
a/tabakrolletjie/scenes/night.py
b/tabakrolletjie/scenes/night.py
index 9459c0ed68668d6edb358879ca93917ab9c75a76..7813e32baab0ce118682dd04133a2d977d879adf 100644
(file)
--- a/
tabakrolletjie/scenes/night.py
+++ b/
tabakrolletjie/scenes/night.py
@@
-47,6
+47,7
@@
class NightScene(BaseScene):
self._paused = False
self._eaten_tonight = 0
self._night_over_text = []
self._paused = False
self._eaten_tonight = 0
self._night_over_text = []
+ self._ending = False
def create_tools(self, gamestate):
tools = []
def create_tools(self, gamestate):
tools = []
@@
-105,11
+106,14
@@
class NightScene(BaseScene):
surface.blit(text, text_pos, None)
def event(self, ev, gamestate):
surface.blit(text, text_pos, None)
def event(self, ev, gamestate):
+ if self._ending:
+ return
if ev.type == pgl.KEYDOWN:
if not self._do_ticks:
# Any keypress exits
self._to_day(gamestate)
if ev.key in (pgl.K_q, pgl.K_ESCAPE):
if ev.type == pgl.KEYDOWN:
if not self._do_ticks:
# Any keypress exits
self._to_day(gamestate)
if ev.key in (pgl.K_q, pgl.K_ESCAPE):
+ self._ending = True
from .menu import MenuScene
SceneChangeEvent.post(scene=MenuScene())
elif ev.key == pgl.K_e and DEBUG:
from .menu import MenuScene
SceneChangeEvent.post(scene=MenuScene())
elif ev.key == pgl.K_e and DEBUG:
@@
-129,6
+133,7
@@
class NightScene(BaseScene):
if tool.name == 'pause play':
self.toggle_pause()
elif tool.name == 'exit':
if tool.name == 'pause play':
self.toggle_pause()
elif tool.name == 'exit':
+ self._ending = True
from .menu import MenuScene
SceneChangeEvent.post(scene=MenuScene())
elif tool.name == 'day':
from .menu import MenuScene
SceneChangeEvent.post(scene=MenuScene())
elif tool.name == 'day':
@@
-143,7
+148,10
@@
class NightScene(BaseScene):
def _to_day(self, gamestate):
# End the night
def _to_day(self, gamestate):
# End the night
+ if self._ending:
+ return
gamestate.update_lights(self._lights)
gamestate.update_lights(self._lights)
+ self._ending = True
from .day import DayScene
SceneChangeEvent.post(scene=DayScene())
from .day import DayScene
SceneChangeEvent.post(scene=DayScene())