self._lights.append(light)
light.add(self._space)
+ def remove_light(self, light):
+ self._lights.remove(light)
+ light.remove(self._space)
+
def battery_dead(self):
self._battery_dead = True
for light in self._lights:
self.colour_pos = colours.index(start_colour)
self.colour = start_colour
self.on = on
- if not on and len(colours) > 1:
+ if not on:
self.colour_pos = -1
self.intensity = intensity
self.body = pymunk.Body(0, 0, pymunk.body.Body.STATIC)
self.ray_manager.set_space(space)
self.ray_manager.update_shapes()
+ def remove(self, space):
+ if self.body.space is not None:
+ space.remove(self.body, *self.body.shapes)
+
def _cached_surface(self, name, surface):
surf = self._surface_cache.get(name)
if surf is None:
def render_fitting(self, surface):
rx, ry = self.ray_manager.pygame_position(surface)
- surface.blit(self.fitting_image(), (rx - 24, ry - 24), None, 0)
+ surface.blit(self.fitting_image(), (rx - self.FITTING_RADIUS, ry - self.FITTING_RADIUS), None, 0)
def power_usage(self):
if not self.on:
def off(self):
self.on = False
+ self.colour_pos = -1
def toggle(self):
self.colour_pos += 1
class PulsatingLamp(BaseLight):
- FITTING_IMG = "lamp.png"
+ FITTING_IMG = "pulsatinglamp.png"
DEFAULT_PULSE_RANGE = (20, 100)
DEFAULT_PULSE_VELOCITY = 2
DEFAULT_INTENSITY_RANGE = (0.0, 0.9)