changeset 423:97dd557504a2

Override make methods for simplifiable objects.
author Simon Cross <hodgestar@gmail.com>
date Sat, 21 Nov 2009 15:39:49 +0000
parents ab4fc3fe0f96
children fbef17cab632
files gamelib/animal.py gamelib/buildings.py gamelib/equipment.py
diffstat 3 files changed, 15 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/gamelib/animal.py	Sat Nov 21 15:35:23 2009 +0000
+++ b/gamelib/animal.py	Sat Nov 21 15:39:49 2009 +0000
@@ -49,6 +49,11 @@
         self.abode = None
         self.facing = 'left'
 
+    def make(cls):
+        """Override default Simplifiable object creation."""
+        return cls((0, 0))
+    make = classmethod(make)
+
     def loop(self, tv, _sprite):
         ppos = tv.tile_to_view(self.pos.to_tile_tuple())
         self.rect.x = ppos[0]
--- a/gamelib/buildings.py	Sat Nov 21 15:35:23 2009 +0000
+++ b/gamelib/buildings.py	Sat Nov 21 15:39:49 2009 +0000
@@ -118,6 +118,11 @@
         # Create the building somewhere far off screen
         Sprite.__init__(self, self.images['fixed']['day'], (-1000, -1000))
 
+    def make(cls):
+        """Override default Simplifiable object creation."""
+        return cls((0, 0))
+    make = classmethod(make)
+
     def _set_images(self):
         self.images = {'fixed': {
             'day': imagecache.load_image(self.IMAGE),
--- a/gamelib/equipment.py	Sat Nov 21 15:35:23 2009 +0000
+++ b/gamelib/equipment.py	Sat Nov 21 15:39:49 2009 +0000
@@ -24,6 +24,11 @@
         self._sell_price = self.SELL_PRICE
         self._name = self.NAME
 
+    def make(cls):
+        """Override default Simplifiable object creation."""
+        return cls()
+    make = classmethod(make)
+
     def buy_price(self):
         return self._buy_price