setting isAirborne and mayJump on enabled; clearing task

This commit is contained in:
Dave Schuyler 2004-02-20 01:50:36 +00:00
parent 463f6bd287
commit d1b921ee1a

View File

@ -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") #*#