mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 10:54:24 -04:00
cleaned up WASD input token management
This commit is contained in:
parent
3ff1c7a8a7
commit
8e57270adf
@ -26,6 +26,7 @@ class ControlManager:
|
|||||||
assert self.notify.debugCall(id(self))
|
assert self.notify.debugCall(id(self))
|
||||||
self.passMessagesThrough = passMessagesThrough
|
self.passMessagesThrough = passMessagesThrough
|
||||||
self.inputStateTokens = []
|
self.inputStateTokens = []
|
||||||
|
# Used to switch between strafe and turn. We will reset to whatever was last set.
|
||||||
self.WASDTurnTokens = []
|
self.WASDTurnTokens = []
|
||||||
self.__WASDTurn = True
|
self.__WASDTurn = True
|
||||||
self.controls = {}
|
self.controls = {}
|
||||||
@ -150,9 +151,9 @@ class ControlManager:
|
|||||||
for token in self.inputStateTokens:
|
for token in self.inputStateTokens:
|
||||||
token.release()
|
token.release()
|
||||||
|
|
||||||
if self.wantWASD:
|
for token in self.WASDTurnTokens:
|
||||||
for token in self.WASDTurnTokens:
|
token.release()
|
||||||
token.release()
|
self.WASDTurnTokens = []
|
||||||
|
|
||||||
#self.monitorTask.remove()
|
#self.monitorTask.remove()
|
||||||
|
|
||||||
@ -224,8 +225,6 @@ class ControlManager:
|
|||||||
ist.append(inputState.watchWithModifiers("slideLeft", "q", inputSource=inputState.QE))
|
ist.append(inputState.watchWithModifiers("slideLeft", "q", inputSource=inputState.QE))
|
||||||
ist.append(inputState.watchWithModifiers("slideRight", "e", inputSource=inputState.QE))
|
ist.append(inputState.watchWithModifiers("slideRight", "e", inputSource=inputState.QE))
|
||||||
|
|
||||||
# Used to switch between strafe and turn. We will reset to whatever was last set.
|
|
||||||
self.WASDTurnTokens = []
|
|
||||||
self.setWASDTurn(self.__WASDTurn)
|
self.setWASDTurn(self.__WASDTurn)
|
||||||
else:
|
else:
|
||||||
ist.append(inputState.watchWithModifiers("turnLeft", "arrow_left", inputSource=inputState.ArrowKeys))
|
ist.append(inputState.watchWithModifiers("turnLeft", "arrow_left", inputSource=inputState.ArrowKeys))
|
||||||
@ -253,10 +252,9 @@ class ControlManager:
|
|||||||
token.release()
|
token.release()
|
||||||
self.inputStateTokens = []
|
self.inputStateTokens = []
|
||||||
|
|
||||||
if self.wantWASD:
|
for token in self.WASDTurnTokens:
|
||||||
for token in self.WASDTurnTokens:
|
token.release()
|
||||||
token.release()
|
self.WASDTurnTokens = []
|
||||||
self.WASDTurnTokens = []
|
|
||||||
|
|
||||||
if self.currentControls:
|
if self.currentControls:
|
||||||
self.currentControls.disableAvatarControls()
|
self.currentControls.disableAvatarControls()
|
||||||
@ -305,7 +303,6 @@ class ControlManager:
|
|||||||
onScreenDebug.add("InputState slideRight", "%d"%(inputState.isSet("slideRight")))
|
onScreenDebug.add("InputState slideRight", "%d"%(inputState.isSet("slideRight")))
|
||||||
return Task.cont
|
return Task.cont
|
||||||
|
|
||||||
|
|
||||||
def setWASDTurn(self, turn):
|
def setWASDTurn(self, turn):
|
||||||
self.__WASDTurn = turn
|
self.__WASDTurn = turn
|
||||||
|
|
||||||
@ -326,10 +323,8 @@ class ControlManager:
|
|||||||
inputState.watchWithModifiers("turnRight", "d", inputSource=inputState.WASD),
|
inputState.watchWithModifiers("turnRight", "d", inputSource=inputState.WASD),
|
||||||
)
|
)
|
||||||
|
|
||||||
if slideLeftWASDSet:
|
inputState.set("turnLeft", slideLeftWASDSet, inputSource=inputState.WASD)
|
||||||
inputState.set("turnLeft", True, inputSource=inputState.WASD)
|
inputState.set("turnRight", slideRightWASDSet, inputSource=inputState.WASD)
|
||||||
if slideRightWASDSet:
|
|
||||||
inputState.set("turnRight", True, inputSource=inputState.WASD)
|
|
||||||
|
|
||||||
inputState.set("slideLeft", False, inputSource=inputState.WASD)
|
inputState.set("slideLeft", False, inputSource=inputState.WASD)
|
||||||
inputState.set("slideRight", False, inputSource=inputState.WASD)
|
inputState.set("slideRight", False, inputSource=inputState.WASD)
|
||||||
@ -339,10 +334,9 @@ class ControlManager:
|
|||||||
inputState.watchWithModifiers("slideLeft", "a", inputSource=inputState.WASD),
|
inputState.watchWithModifiers("slideLeft", "a", inputSource=inputState.WASD),
|
||||||
inputState.watchWithModifiers("slideRight", "d", inputSource=inputState.WASD),
|
inputState.watchWithModifiers("slideRight", "d", inputSource=inputState.WASD),
|
||||||
)
|
)
|
||||||
if turnLeftWASDSet:
|
|
||||||
inputState.set("slideLeft", True, inputSource=inputState.WASD)
|
inputState.set("slideLeft", turnLeftWASDSet, inputSource=inputState.WASD)
|
||||||
if turnRightWASDSet:
|
inputState.set("slideRight", turnRightWASDSet, inputSource=inputState.WASD)
|
||||||
inputState.set("slideRight", True, inputSource=inputState.WASD)
|
|
||||||
|
|
||||||
inputState.set("turnLeft", False, inputSource=inputState.WASD)
|
inputState.set("turnLeft", False, inputSource=inputState.WASD)
|
||||||
inputState.set("turnRight", False, inputSource=inputState.WASD)
|
inputState.set("turnRight", False, inputSource=inputState.WASD)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user