diff options
-rw-r--r-- | MAFH2/fortuneengine/GameEngine.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/MAFH2/fortuneengine/GameEngine.py b/MAFH2/fortuneengine/GameEngine.py index 864761f..477bd07 100644 --- a/MAFH2/fortuneengine/GameEngine.py +++ b/MAFH2/fortuneengine/GameEngine.py @@ -15,7 +15,7 @@ import pygame import inspect -from threading import Thread +from threading import Thread, Lock from GameEngineConsole import GameEngineConsole @@ -55,6 +55,8 @@ class GameEngine(object): # TODO Allow mouse motion on request pygame.event.set_blocked(pygame.MOUSEMOTION) + self.event_lock = Lock() + def start_event_timer(self, id, time): """ Starts a timer that fires a user event into the queue every "time" @@ -125,10 +127,11 @@ class GameEngine(object): pygame.display.flip() else: + self.event_lock.acquire() for fnc in self.__draw_lst: fnc(self.screen) - self.console.draw() + self.event_lock.release() pygame.display.flip() def _event_loop(self): @@ -154,10 +157,12 @@ class GameEngine(object): # Reverse list so that newest stuff is on top list_cp.reverse() + self.event_lock.acquire() for cb in list_cp: # Fire the event for all in cb and stop if return True if cb(event) == True: break + self.event_lock.release() def stop_event_loop(self): """ |