# HG changeset patch # User Stefano Rivera # Date 1378230482 -7200 # Node ID dfacd08b8566d2ceb752945ad9c086a5df596732 # Parent e003b994c48b05f41b15d245e1bfab447fc5c4c7 Make FloorSwitchPuzzler are more generic CollidePuzzler diff -r e003b994c48b -r dfacd08b8566 nagslang/game_object.py --- a/nagslang/game_object.py Tue Sep 03 19:31:28 2013 +0200 +++ b/nagslang/game_object.py Tue Sep 03 19:48:02 2013 +0200 @@ -41,11 +41,16 @@ raise NotImplementedError() -class FloorSwitchPuzzler(Puzzler): +class CollidePuzzler(Puzzler): + def __init__(self, *collision_types): + if not collision_types: + collision_types = (COLLISION_TYPE_PLAYER,) + self._collision_types = collision_types + def get_state(self): space = self.game_object.get_space() for shape in space.shape_query(self.game_object.get_shape()): - if shape.collision_type in SWITCH_PUSHERS: + if shape.collision_type in self._collision_types: return True return False @@ -351,7 +356,7 @@ True: resources.get_image('objects', 'sensor_on.png'), False: resources.get_image('objects', 'sensor_off.png'), }), - FloorSwitchPuzzler(), + CollidePuzzler(*SWITCH_PUSHERS), )