# HG changeset patch # User Jeremy Thurgood # Date 1378235782 -7200 # Node ID 3dc2b6290e6627a90eb5fd20234e6505246fd690 # Parent e080fcd07fa995de2bd528e2128ef6f70f7cf1a6 Document collision handler a little better. diff -r e080fcd07fa9 -r 3dc2b6290e66 nagslang/game_object.py --- a/nagslang/game_object.py Tue Sep 03 21:47:24 2013 +0200 +++ b/nagslang/game_object.py Tue Sep 03 21:16:22 2013 +0200 @@ -386,7 +386,7 @@ You can return `False` to ignore the collision, anything else (including `None`) to process the collision as normal. """ - pass + return True class FloorSwitch(GameObject): diff -r e080fcd07fa9 -r 3dc2b6290e66 nagslang/screens/area.py --- a/nagslang/screens/area.py Tue Sep 03 21:47:24 2013 +0200 +++ b/nagslang/screens/area.py Tue Sep 03 21:16:22 2013 +0200 @@ -84,6 +84,9 @@ def _collision_pre_solve_handler(self, space, arbiter): gobj = arbiter.shapes[1].physicser.game_object result = gobj.collide_with_protagonist() + # The collision handler must return `True` or `False`. We don't want to + # accidentally reject collisions from handlers that return `None`, so + # we explicitly check for `False` and treate everything else as `True`. if result is False: return False return True