diff options
Diffstat (limited to 'MAFH2/fortuneengine/GameEngine.py')
-rw-r--r-- | MAFH2/fortuneengine/GameEngine.py | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/MAFH2/fortuneengine/GameEngine.py b/MAFH2/fortuneengine/GameEngine.py index a4f9e42..1832089 100644 --- a/MAFH2/fortuneengine/GameEngine.py +++ b/MAFH2/fortuneengine/GameEngine.py @@ -17,6 +17,10 @@ import pygame from time import time from GameEngineConsole import GameEngineConsole from GameInspect import GameInspect +from DrawableObject import DrawableObject +from DynamicDrawableObject import DynamicDrawableObject +from DrawableFontObject import DrawableFontObject +from Scene import Scene class GameEngine(object): @@ -49,6 +53,8 @@ class GameEngine(object): self.height = height size = width, height self.screen = pygame.display.set_mode(size) + self.__fps = DrawableFontObject("", pygame.font.Font(None, 17)) + self.__scene = Scene(self.__fps) # Engine Internal Variables self.__fps_cap = fps_cap @@ -62,6 +68,7 @@ class GameEngine(object): self.__event_cb = [] self.__draw_lst = [] self.__object_hold = {} + self.__dirtyList=[] # Game Timers self.__active_event_timers = [] @@ -95,6 +102,10 @@ class GameEngine(object): it enters the draw flag. """ self.__dirty = True + + def get_scene(self): + + return self.__scene def start_event_timer(self, function_cb, time): """ @@ -201,18 +212,18 @@ class GameEngine(object): else: for fnc in self.__draw_lst: - start = time() - fnc(screen, tick_time) - self.__draw_time[str(fnc)] += time() - start - self.__draw_calls[str(fnc)] += 1 - + start = time() + fnc(screen, tick_time) + self.__draw_time[str(fnc)] += time() - start + self.__draw_calls[str(fnc)] += 1 # Print Frame Rate if self.__showfps: - text = self.__font.render('FPS: %d' % self.clock.get_fps(), - False, (255, 255, 255), (159, 182, 205)) - screen.blit(text, (0, 0)) - - pygame.display.flip() + self.__fps.changeText('FPS: %d' % self.clock.get_fps(), (255,255,255)) + self.__fps.setPosition(0,0) + else: + self.__fps.changeText('') + self.__scene.update(tick_time) + pygame.display.update(self.__scene.draw(screen)) def _event_loop(self): """ |