Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/MAFH2/fortuneengine/GameEngine.py
diff options
context:
space:
mode:
Diffstat (limited to 'MAFH2/fortuneengine/GameEngine.py')
-rw-r--r--MAFH2/fortuneengine/GameEngine.py31
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):
"""