changeset 548:b0c5f032eb9d

Tweak terrain render creation logic
author Neil Muller <drnlmuller@gmail.com>
date Sat, 07 Sep 2013 21:48:42 +0200
parents 39fa88b48531
children f868a8592432
files nagslang/game_object.py
diffstat 1 files changed, 10 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/nagslang/game_object.py	Sat Sep 07 21:46:48 2013 +0200
+++ b/nagslang/game_object.py	Sat Sep 07 21:48:42 2013 +0200
@@ -626,6 +626,12 @@
         self._ticks = 0
         self.shape.collision_type = COLLISION_TYPE_SWITCH
         self.shape.sensor = True
+        renderer = self._fix_image(outline)
+        super(HostileTerrain, self).__init__(
+            SingleShapePhysicser(space, self.shape),
+            renderer)
+
+    def _fix_image(self, outline):
         if len(self.tiles) > 1:
             tile_images = [resources.get_image('tiles', x)
                            for x in self.tiles]
@@ -636,9 +642,10 @@
             tile_image = resources.get_image('tiles', self.tiles[0])
             renderer = render.TiledRenderer(outline, tile_image,
                                             self.tile_alpha)
-        super(HostileTerrain, self).__init__(
-            SingleShapePhysicser(space, self.shape),
-            renderer)
+        return renderer
+
+    def update_image(self, new_outline):
+        self.renderer = self._fix_image(new_outline)
 
     def collide_with_protagonist(self, protagonist):
         # We're called every frame we're colliding, so