mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2024-12-25 12:42:41 -06:00
27 lines
1.1 KiB
Python
27 lines
1.1 KiB
Python
|
from direct.showbase.InputStateGlobal import inputState
|
||
|
from direct.directnotify import DirectNotifyGlobal
|
||
|
from direct.controls import NonPhysicsWalker
|
||
|
|
||
|
class SwimWalker(NonPhysicsWalker.NonPhysicsWalker):
|
||
|
notify = DirectNotifyGlobal.directNotify.newCategory("SwimWalker")
|
||
|
|
||
|
def _calcSpeeds(self):
|
||
|
# get the button states:
|
||
|
forward = inputState.isSet("forward")
|
||
|
reverse = inputState.isSet("reverse")
|
||
|
turnLeft = inputState.isSet("turnLeft") or inputState.isSet("slideLeft")
|
||
|
turnRight = inputState.isSet("turnRight") or inputState.isSet("slideRight")
|
||
|
|
||
|
# Check for Auto-Run
|
||
|
if base.localAvatar.getAutoRun():
|
||
|
forward = 1
|
||
|
reverse = 0
|
||
|
|
||
|
# Determine what the speeds are based on the buttons:
|
||
|
self.speed=(forward and self.avatarControlForwardSpeed or
|
||
|
reverse and -self.avatarControlReverseSpeed)
|
||
|
self.slideSpeed=0.
|
||
|
self.rotationSpeed=(
|
||
|
(turnLeft and self.avatarControlRotateSpeed) or
|
||
|
(turnRight and -self.avatarControlRotateSpeed))
|