Mercurial > nagslang
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)