changeset 222:cc5f2a5ac501

Overlays belong in render
author Stefano Rivera <stefano@rivera.za.net>
date Wed, 04 Sep 2013 16:53:24 +0200
parents 0c0d5919f70a
children 4197350b9897
files nagslang/game_object.py nagslang/render.py
diffstat 2 files changed, 28 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/nagslang/game_object.py	Wed Sep 04 16:48:43 2013 +0200
+++ b/nagslang/game_object.py	Wed Sep 04 16:53:24 2013 +0200
@@ -8,7 +8,6 @@
     ZORDER_FLOOR, COLLISION_TYPE_DOOR)
 from nagslang.resources import resources
 from nagslang.events import DoorEvent
-from nagslang.widgets.text import LabelWidget
 
 
 class Physicser(object):
@@ -84,32 +83,6 @@
     return body
 
 
-class Overlay(object):
-    def set_game_object(self, game_object):
-        self.game_object = game_object
-
-    def render(self, surface, display_offset):
-        pass
-
-    def is_visible(self):
-        return self.game_object.puzzler.get_state()
-
-
-class TextOverlay(Overlay):
-    def __init__(self, text):
-        self.text = text
-        self.widget = LabelWidget((20, 20), self.text)
-
-    def render(self, surface, display_offset):
-        x, y = 20, 20
-        if display_offset[0] < 0:
-            x += abs(display_offset[0])
-        if display_offset[1] < 0:
-            y += abs(display_offset[1])
-        self.widget.rect.topleft = (x, y)
-        self.widget.draw(surface)
-
-
 class GameObject(object):
     """A representation of a thing in the game world.
 
@@ -188,7 +161,7 @@
             SingleShapePhysicser(space, self.shape),
             render.ImageRenderer(resources.get_image('objects', 'note.png')),
             puzzle.CollidePuzzler(),
-            TextOverlay(message),
+            render.TextOverlay(message),
         )
 
 
--- a/nagslang/render.py	Wed Sep 04 16:48:43 2013 +0200
+++ b/nagslang/render.py	Wed Sep 04 16:53:24 2013 +0200
@@ -4,6 +4,7 @@
 import pymunk
 
 from nagslang.options import options
+from nagslang.widgets.text import LabelWidget
 
 
 class Renderer(object):
@@ -170,3 +171,29 @@
 
         self.game_object.get_shape().color = color
         super(ShapeStateRenderer, self).render(surface)
+
+
+class Overlay(object):
+    def set_game_object(self, game_object):
+        self.game_object = game_object
+
+    def render(self, surface, display_offset):
+        pass
+
+    def is_visible(self):
+        return self.game_object.puzzler.get_state()
+
+
+class TextOverlay(Overlay):
+    def __init__(self, text):
+        self.text = text
+        self.widget = LabelWidget((20, 20), self.text)
+
+    def render(self, surface, display_offset):
+        x, y = 20, 20
+        if display_offset[0] < 0:
+            x += abs(display_offset[0])
+        if display_offset[1] < 0:
+            y += abs(display_offset[1])
+        self.widget.rect.topleft = (x, y)
+        self.widget.draw(surface)