diff --git a/direct/src/showbase/ShadowPlacer.py b/direct/src/showbase/ShadowPlacer.py index 65778db02d..30a60a9674 100755 --- a/direct/src/showbase/ShadowPlacer.py +++ b/direct/src/showbase/ShadowPlacer.py @@ -17,6 +17,7 @@ class ShadowPlacer(DirectObject.DirectObject): # special methods def __init__(self, cTrav, shadowNodePath, wallCollideMask, floorCollideMask): + assert self.debugPrint("ShadowPlacer()") DirectObject.DirectObject.__init__(self) self.setup(cTrav, shadowNodePath, wallCollideMask, floorCollideMask) @@ -26,6 +27,7 @@ class ShadowPlacer(DirectObject.DirectObject): """ Set up the collisions """ + assert self.debugPrint("setup()") assert not shadowNodePath.isEmpty() self.cTrav = cTrav @@ -54,6 +56,7 @@ class ShadowPlacer(DirectObject.DirectObject): self.lifter.addColliderNode(self.cRayNode, shadowNodePath.node()) def delete(self): + assert self.debugPrint("delete()") del self.cTrav del self.shadowNodePath @@ -66,12 +69,23 @@ class ShadowPlacer(DirectObject.DirectObject): del self.lifter def off(self): + """ + Turn off the shadow placement. The shadow will still be + there, but the z position will not be updated until a call + to on() is made. + """ + assert self.debugPrint("off()") self.cTrav.removeCollider(self.cRayNode) # Now that we have disabled collisions, make one more pass # right now to ensure we aren't standing in a wall. self.oneTimeCollide() def on(self): + """ + Turn on the shadow placement. The shadow z position will + start being updated until a call to off() is made. + """ + assert self.debugPrint("on()") self.cTrav.addCollider(self.cRayNode, self.lifter) def oneTimeCollide(self):