|
@@ -5,7 +5,8 @@ from ShowBaseGlobal import *
|
|
|
#from IntervalGlobal import *
|
|
#from IntervalGlobal import *
|
|
|
|
|
|
|
|
import Avatar
|
|
import Avatar
|
|
|
-import DevWalker
|
|
|
|
|
|
|
+if __debug__:
|
|
|
|
|
+ import DevWalker
|
|
|
import DirectNotifyGlobal
|
|
import DirectNotifyGlobal
|
|
|
import GhostWalker
|
|
import GhostWalker
|
|
|
import GravityWalker
|
|
import GravityWalker
|
|
@@ -23,11 +24,15 @@ class ControlManager:
|
|
|
def __init__(self, avatar):
|
|
def __init__(self, avatar):
|
|
|
self.avatar = avatar
|
|
self.avatar = avatar
|
|
|
assert(self.debugPrint("ControlManager()"))
|
|
assert(self.debugPrint("ControlManager()"))
|
|
|
|
|
+
|
|
|
|
|
+ self.enableJumpCounter = 1
|
|
|
|
|
+
|
|
|
self.swimControls=GravityWalker.GravityWalker(
|
|
self.swimControls=GravityWalker.GravityWalker(
|
|
|
gravity = -32.1740 * 2.0)
|
|
gravity = -32.1740 * 2.0)
|
|
|
#self.swimControls=NonPhysicsWalker.NonPhysicsWalker()
|
|
#self.swimControls=NonPhysicsWalker.NonPhysicsWalker()
|
|
|
self.ghostControls=GhostWalker.GhostWalker()
|
|
self.ghostControls=GhostWalker.GhostWalker()
|
|
|
- self.devControls=DevWalker.DevWalker()
|
|
|
|
|
|
|
+ if __debug__:
|
|
|
|
|
+ self.devControls=DevWalker.DevWalker()
|
|
|
if self.wantAvatarPhysics:
|
|
if self.wantAvatarPhysics:
|
|
|
self.walkControls=GravityWalker.GravityWalker(
|
|
self.walkControls=GravityWalker.GravityWalker(
|
|
|
gravity = -32.1740 * 2.0) # * 2.0 is a hack;
|
|
gravity = -32.1740 * 2.0) # * 2.0 is a hack;
|
|
@@ -143,15 +148,16 @@ class ControlManager:
|
|
|
if self.isEnabled:
|
|
if self.isEnabled:
|
|
|
self.currentControls.enableAvatarControls()
|
|
self.currentControls.enableAvatarControls()
|
|
|
|
|
|
|
|
- def useDevControls(self):
|
|
|
|
|
- assert(self.debugPrint("useDevControls()"))
|
|
|
|
|
- if self.currentControls is not self.devControls:
|
|
|
|
|
- self.currentControls.disableAvatarControls()
|
|
|
|
|
- self.currentControls.setCollisionsActive(0)
|
|
|
|
|
- self.devControls.setCollisionsActive(1)
|
|
|
|
|
- self.currentControls = self.devControls
|
|
|
|
|
- if self.isEnabled:
|
|
|
|
|
- self.currentControls.enableAvatarControls()
|
|
|
|
|
|
|
+ if __debug__:
|
|
|
|
|
+ def useDevControls(self):
|
|
|
|
|
+ assert(self.debugPrint("useDevControls()"))
|
|
|
|
|
+ if self.currentControls is not self.devControls:
|
|
|
|
|
+ self.currentControls.disableAvatarControls()
|
|
|
|
|
+ self.currentControls.setCollisionsActive(0)
|
|
|
|
|
+ self.devControls.setCollisionsActive(1)
|
|
|
|
|
+ self.currentControls = self.devControls
|
|
|
|
|
+ if self.isEnabled:
|
|
|
|
|
+ self.currentControls.enableAvatarControls()
|
|
|
|
|
|
|
|
def delete(self):
|
|
def delete(self):
|
|
|
self.disable()
|
|
self.disable()
|
|
@@ -178,11 +184,12 @@ class ControlManager:
|
|
|
toonJumpForce,
|
|
toonJumpForce,
|
|
|
toonReverseSpeed,
|
|
toonReverseSpeed,
|
|
|
toonRotateSpeed)
|
|
toonRotateSpeed)
|
|
|
- self.devControls.setWalkSpeed(
|
|
|
|
|
- toonForwardSpeed,
|
|
|
|
|
- toonJumpForce,
|
|
|
|
|
- toonReverseSpeed,
|
|
|
|
|
- toonRotateSpeed)
|
|
|
|
|
|
|
+ if __debug__:
|
|
|
|
|
+ self.devControls.setWalkSpeed(
|
|
|
|
|
+ toonForwardSpeed,
|
|
|
|
|
+ toonJumpForce,
|
|
|
|
|
+ toonReverseSpeed,
|
|
|
|
|
+ toonRotateSpeed)
|
|
|
|
|
|
|
|
def getSpeeds(self):
|
|
def getSpeeds(self):
|
|
|
return self.currentControls.getSpeeds()
|
|
return self.currentControls.getSpeeds()
|
|
@@ -209,11 +216,12 @@ class ControlManager:
|
|
|
self.ghostControls.disableAvatarControls()
|
|
self.ghostControls.disableAvatarControls()
|
|
|
self.ghostControls.setCollisionsActive(0)
|
|
self.ghostControls.setCollisionsActive(0)
|
|
|
|
|
|
|
|
- self.devControls.initializeCollisions(cTrav, self.avatar,
|
|
|
|
|
- wallBitmask, floorBitmask, avatarRadius, floorOffset)
|
|
|
|
|
- self.devControls.setAirborneHeightFunc(self.avatar.getAirborneHeight)
|
|
|
|
|
- self.devControls.disableAvatarControls()
|
|
|
|
|
- self.devControls.setCollisionsActive(0)
|
|
|
|
|
|
|
+ if __debug__:
|
|
|
|
|
+ self.devControls.initializeCollisions(cTrav, self.avatar,
|
|
|
|
|
+ wallBitmask, floorBitmask, avatarRadius, floorOffset)
|
|
|
|
|
+ self.devControls.setAirborneHeightFunc(self.avatar.getAirborneHeight)
|
|
|
|
|
+ self.devControls.disableAvatarControls()
|
|
|
|
|
+ self.devControls.setCollisionsActive(0)
|
|
|
|
|
|
|
|
self.walkControls.setCollisionsActive(1)
|
|
self.walkControls.setCollisionsActive(1)
|
|
|
self.walkControls.enableAvatarControls()
|
|
self.walkControls.enableAvatarControls()
|
|
@@ -223,7 +231,8 @@ class ControlManager:
|
|
|
self.walkControls.deleteCollisions()
|
|
self.walkControls.deleteCollisions()
|
|
|
self.swimControls.deleteCollisions()
|
|
self.swimControls.deleteCollisions()
|
|
|
self.ghostControls.deleteCollisions()
|
|
self.ghostControls.deleteCollisions()
|
|
|
- self.devControls.deleteCollisions()
|
|
|
|
|
|
|
+ if __debug__:
|
|
|
|
|
+ self.devControls.deleteCollisions()
|
|
|
|
|
|
|
|
def collisionsOn(self):
|
|
def collisionsOn(self):
|
|
|
assert(self.debugPrint("collisionsOn()"))
|
|
assert(self.debugPrint("collisionsOn()"))
|
|
@@ -247,13 +256,19 @@ class ControlManager:
|
|
|
"""
|
|
"""
|
|
|
Stop forcing the ctrl key to return 0's
|
|
Stop forcing the ctrl key to return 0's
|
|
|
"""
|
|
"""
|
|
|
- inputState.unforce("jump")
|
|
|
|
|
|
|
+ self.enableJumpCounter+=1
|
|
|
|
|
+ if self.enableJumpCounter:
|
|
|
|
|
+ assert self.enableJumpCounter == 1
|
|
|
|
|
+ self.enableJumpCounter = 1
|
|
|
|
|
+ inputState.unforce("jump")
|
|
|
|
|
|
|
|
def disableAvatarJump(self):
|
|
def disableAvatarJump(self):
|
|
|
"""
|
|
"""
|
|
|
Force the ctrl key to return 0's
|
|
Force the ctrl key to return 0's
|
|
|
"""
|
|
"""
|
|
|
- inputState.force("jump", 0)
|
|
|
|
|
|
|
+ self.enableJumpCounter-=1
|
|
|
|
|
+ if self.enableJumpCounter <= 0:
|
|
|
|
|
+ inputState.force("jump", 0)
|
|
|
|
|
|
|
|
def monitor(self, foo):
|
|
def monitor(self, foo):
|
|
|
#assert(self.debugPrint("monitor()"))
|
|
#assert(self.debugPrint("monitor()"))
|