From d1b921ee1ad9dfddf25a4ca79ce435c36d716076 Mon Sep 17 00:00:00 2001 From: Dave Schuyler Date: Fri, 20 Feb 2004 01:50:36 +0000 Subject: [PATCH] setting isAirborne and mayJump on enabled; clearing task --- direct/src/showbase/GravityWalker.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/direct/src/showbase/GravityWalker.py b/direct/src/showbase/GravityWalker.py index f250226b5a..c81a27c3ab 100755 --- a/direct/src/showbase/GravityWalker.py +++ b/direct/src/showbase/GravityWalker.py @@ -278,6 +278,8 @@ class GravityWalker(DirectObject.DirectObject): self.avatarNodePath = avatarNodePath self.cTrav = collisionTraverser + # Changing this from zero may cause the avatar + # to float on the ground rather than landing properly: self.floorOffset = 0.0 self.setupRay(floorBitmask, self.floorOffset) @@ -379,6 +381,8 @@ class GravityWalker(DirectObject.DirectObject): have been disabled. """ assert(self.debugPrint("oneTimeCollide()")) + self.isAirborne = 0 + self.mayJump = 1 tempCTrav = CollisionTraverser("oneTimeCollide") tempCTrav.addCollider(self.cWallSphereNodePath, self.pusher) if self.wantFloorSphere: @@ -549,6 +553,9 @@ class GravityWalker(DirectObject.DirectObject): taskName = "AvatarControls-FixCliff%s"%(id(self),) self.fixCliffTask = taskMgr.add(self.FixCliff, taskName, 31) + self.isAirborne = 0 + self.mayJump = 1 + if self.physVelocityIndicator: if self.indicatorTask: self.indicatorTask.remove() @@ -571,6 +578,9 @@ class GravityWalker(DirectObject.DirectObject): if self.indicatorTask: self.indicatorTask.remove() self.indicatorTask = None + if self.jumpDelayTask: + self.jumpDelayTask.remove() + self.jumpDelayTask = None if __debug__: self.ignore("control-f3") #*#