Mercurial > mamba
comparison mamba/sprites.py @ 168:0fffb97db193
Add name field to sprites for editor
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Tue, 13 Sep 2011 23:51:49 +0200 |
parents | a904c1c55f92 |
children | d9ee0e50a78f |
comparison
equal
deleted
inserted
replaced
167:ce30befccc94 | 168:0fffb97db193 |
---|---|
80 class BaseSprite(Sprite): | 80 class BaseSprite(Sprite): |
81 tileset = 'common' | 81 tileset = 'common' |
82 variants_class = InvariantSpriteImageVariants | 82 variants_class = InvariantSpriteImageVariants |
83 variants = None | 83 variants = None |
84 | 84 |
85 def __init__(self, tileset=None, image_name=None, mutators=()): | 85 def __init__(self, tileset=None, image_name=None, name=None, |
86 mutators=()): | |
86 super(BaseSprite, self).__init__() | 87 super(BaseSprite, self).__init__() |
88 if name is not None: | |
89 self.name = name | |
87 if tileset is not None: | 90 if tileset is not None: |
88 self.tileset = tileset | 91 self.tileset = tileset |
89 if image_name is not None: | 92 if image_name is not None: |
90 self.image_name = image_name | 93 self.image_name = image_name |
91 self.image = self.load_image(image_name, mutators=mutators) | 94 self.image = self.load_image(image_name, mutators=mutators) |
116 def get_solid(self, snake_mutations): | 119 def get_solid(self, snake_mutations): |
117 return self.solid | 120 return self.solid |
118 | 121 |
119 | 122 |
120 class SingleImageTileSprite(TileSprite): | 123 class SingleImageTileSprite(TileSprite): |
121 | |
122 image_name = None # subclasses will override this | 124 image_name = None # subclasses will override this |
125 name = None | |
123 | 126 |
124 def __init__(self, **kw): | 127 def __init__(self, **kw): |
125 kw.setdefault('image_name', self.image_name) | 128 kw.setdefault('image_name', self.image_name) |
129 kw.setdefault('name', self.name) | |
126 super(SingleImageTileSprite, self).__init__(**kw) | 130 super(SingleImageTileSprite, self).__init__(**kw) |
127 | 131 |
128 | 132 |
129 class DoorSprite(TileSprite): | 133 class DoorSprite(TileSprite): |
134 name = 'door' | |
135 | |
130 def __init__(self, colour, **kw): | 136 def __init__(self, colour, **kw): |
131 self.colour = colour | 137 self.colour = colour |
132 image_name = 'door_%s' % (colour,) | 138 image_name = 'door_%s' % (colour,) |
133 kw.setdefault('image_name', image_name) | 139 kw.setdefault('image_name', image_name) |
134 super(DoorSprite, self).__init__(**kw) | 140 super(DoorSprite, self).__init__(**kw) |
137 return self.colour in self.snake_mutations | 143 return self.colour in self.snake_mutations |
138 | 144 |
139 | 145 |
140 class EntrySprite(SingleImageTileSprite): | 146 class EntrySprite(SingleImageTileSprite): |
141 image_name = 'arrow-r' | 147 image_name = 'arrow-r' |
148 name = 'entrance' | |
142 | 149 |
143 def __init__(self, direction, **kw): | 150 def __init__(self, direction, **kw): |
144 self.direction = direction | 151 self.direction = direction |
145 super(EntrySprite, self).__init__(**kw) | 152 super(EntrySprite, self).__init__(**kw) |
146 | 153 |
147 | 154 |
148 class ExitSprite(SingleImageTileSprite): | 155 class ExitSprite(SingleImageTileSprite): |
149 image_name = 'arrow-r' | 156 image_name = 'arrow-r' |
157 name = 'exit' | |
150 | 158 |
151 | 159 |
152 class PuddleSprite(SingleImageTileSprite): | 160 class PuddleSprite(SingleImageTileSprite): |
153 image_name = 'puddle' | 161 image_name = 'puddle' |
162 name = 'puddle' | |
154 variants_class = SolidSpriteImageVariants | 163 variants_class = SolidSpriteImageVariants |
155 | 164 |
156 def __init__(self, variant=(0, 0, 0, 0), **kw): | 165 def __init__(self, variant=(0, 0, 0, 0), **kw): |
157 super(PuddleSprite, self).__init__(**kw) | 166 super(PuddleSprite, self).__init__(**kw) |
158 self.image = self.load_image(*self.get_variant(*variant)) | 167 self.image = self.load_image(*self.get_variant(*variant)) |