diff --git a/direct/src/controls/ControlManager.py b/direct/src/controls/ControlManager.py index 4e6b30dfaf..6c8689099a 100755 --- a/direct/src/controls/ControlManager.py +++ b/direct/src/controls/ControlManager.py @@ -104,13 +104,12 @@ class ControlManager: See also: add(). """ assert self.notify.debugCall(id(self)) - oldControls = self.controls.get(name) + oldControls = self.controls.pop(name,None) if oldControls is not None: print "Removing controls:", name oldControls.disableAvatarControls() oldControls.setCollisionsActive(0) oldControls.delete() - del self.controls[name] if __debug__: def lockControls(self): @@ -159,9 +158,11 @@ class ControlManager: forwardSpeed, jumpForce, reverseSpeed, rotateSpeed) def delete(self): + import pdb;pdb.set_trace() assert self.notify.debugCall(id(self)) self.disable() - # TODO: put controls delete code in here + for controls in self.controls.keys(): + self.remove(controls) del self.controls del self.currentControls diff --git a/direct/src/controls/ShipPilot.py b/direct/src/controls/ShipPilot.py index f02cd05207..230090b0d8 100755 --- a/direct/src/controls/ShipPilot.py +++ b/direct/src/controls/ShipPilot.py @@ -30,8 +30,10 @@ class ShipPilot(PhysicsWalker): 'want-avatar-physics-indicator', 0) # special methods - def __init__(self, gravity = -32.1740, standableGround=0.707, - hardLandingForce=16.0): + def __init__(self, + gravity = -32.1740, + standableGround=0.707, + hardLandingForce=16.0): assert self.debugPrint( "PhysicsWalker(gravity=%s, standableGround=%s)"%( gravity, standableGround))