projects
/
tabakrolletjie.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make all lamps multicoloured.
[tabakrolletjie.git]
/
tabakrolletjie
/
lights.py
diff --git
a/tabakrolletjie/lights.py
b/tabakrolletjie/lights.py
index ed18fdf9cfef629002310652fc0cd609c9969b53..03adf387cb2fb299ac57bc2942d7870532c31719 100644
(file)
--- a/
tabakrolletjie/lights.py
+++ b/
tabakrolletjie/lights.py
@@
-108,9
+108,11
@@
class BaseLight(object):
_surface_cache = {}
def __init__(
_surface_cache = {}
def __init__(
- self, colour, position, intensity=1.0, radius_limits=None,
+ self, colour
s
, position, intensity=1.0, radius_limits=None,
direction=None, spread=None):
direction=None, spread=None):
- self.colour = colour
+ self.colour_cycle = colours
+ self.colour_pos = 0
+ self.colour = colours[0]
self.on = True
self.intensity = intensity
self.body = pymunk.Body(0, 0, pymunk.body.Body.STATIC)
self.on = True
self.intensity = intensity
self.body = pymunk.Body(0, 0, pymunk.body.Body.STATIC)
@@
-143,9
+145,6
@@
class BaseLight(object):
self.ray_manager.set_space(space)
self.ray_manager.update_shapes()
self.ray_manager.set_space(space)
self.ray_manager.update_shapes()
- def toggle(self):
- self.on = not self.on
-
def _cached_surface(self, name, surface):
surf = self._surface_cache.get(name)
if surf is None:
def _cached_surface(self, name, surface):
surf = self._surface_cache.get(name)
if surf is None:
@@
-214,6
+213,17
@@
class BaseLight(object):
rx, ry = self.ray_manager.pygame_position(surface)
surface.blit(self.fitting_image(), (rx - 24, ry - 24), None, 0)
rx, ry = self.ray_manager.pygame_position(surface)
surface.blit(self.fitting_image(), (rx - 24, ry - 24), None, 0)
+ def toggle(self):
+ self.colour_pos += 1
+ if self.colour_pos >= len(self.colour_cycle):
+ self.colour = self.colour_cycle[0]
+ self.colour_pos = -1
+ self.on = False
+ else:
+ self.colour = self.colour_cycle[self.colour_pos]
+ self.on = True
+ self.invalidate_fitting_image()
+
def tick(self):
pass
def tick(self):
pass
@@
-226,25
+236,10
@@
class Lamp(BaseLight):
class MultiColourLamp(BaseLight):
FITTING_IMG = "lamp.png"
class MultiColourLamp(BaseLight):
FITTING_IMG = "lamp.png"
- DEFAULT_COLOURS = sorted(COLOURS.keys())
def __init__(self, **kw):
def __init__(self, **kw):
- self.colour_cycle = kw.pop("colours", None)
- self.colour_pos = 0
- kw["colour"] = self.colour_cycle[0]
super(MultiColourLamp, self).__init__(**kw)
super(MultiColourLamp, self).__init__(**kw)
- def toggle(self):
- self.colour_pos += 1
- if self.colour_pos >= len(self.colour_cycle):
- self.colour = self.colour_cycle[0]
- self.colour_pos = -1
- self.on = False
- else:
- self.colour = self.colour_cycle[self.colour_pos]
- self.on = True
- self.invalidate_fitting_image()
-
class PulsatingLamp(BaseLight):
class PulsatingLamp(BaseLight):