mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 02:42:49 -04:00
*** empty log message ***
This commit is contained in:
parent
a2355fa37c
commit
a42f2c6a94
@ -32,6 +32,8 @@ class DirectCameraControl(PandaObject):
|
||||
self.actionEvents = [
|
||||
['DIRECT-mouse2', self.mouseFlyStart],
|
||||
['DIRECT-mouse2Up', self.mouseFlyStop],
|
||||
]
|
||||
self.keyEvents = [
|
||||
['c', self.centerCamIn, 0.5],
|
||||
['f', self.fitOnWidget],
|
||||
['h', self.homeCam],
|
||||
@ -625,12 +627,15 @@ class DirectCameraControl(PandaObject):
|
||||
# Continue
|
||||
return Task.cont
|
||||
|
||||
def enableMouseFly(self):
|
||||
def enableMouseFly(self, fKeyEvents = 1):
|
||||
# disable C++ fly interface
|
||||
base.disableMouse()
|
||||
# Enable events
|
||||
for event in self.actionEvents:
|
||||
self.accept(event[0], event[1], extraArgs = event[2:])
|
||||
if fKeyEvents:
|
||||
for event in self.keyEvents:
|
||||
self.accept(event[0], event[1], extraArgs = event[2:])
|
||||
# Show marker
|
||||
self.coaMarker.reparentTo(direct.group)
|
||||
|
||||
@ -640,6 +645,8 @@ class DirectCameraControl(PandaObject):
|
||||
# Ignore events
|
||||
for event in self.actionEvents:
|
||||
self.ignore(event[0])
|
||||
for event in self.keyEvents:
|
||||
self.ignore(event[0])
|
||||
# Kill tasks
|
||||
self.removeManipulateCameraTask()
|
||||
taskMgr.remove('stickToWidget')
|
||||
|
@ -145,11 +145,14 @@ class DirectSession(PandaObject):
|
||||
['SGE_Delete', self.removeNodePath],
|
||||
['SGE_Set Name', self.getAndSetName],
|
||||
]
|
||||
self.keyEvents = ['escape', 'delete', 'control', 'control-up',
|
||||
'shift', 'shift-up', 'alt', 'alt-up',
|
||||
'page_up', 'page_down',
|
||||
self.modifierEvents = ['control', 'control-up',
|
||||
'shift', 'shift-up',
|
||||
'alt', 'alt-up',
|
||||
]
|
||||
self.keyEvents = ['escape', 'delete', 'page_up', 'page_down',
|
||||
'[', '{', ']', '}',
|
||||
'shift-a', 'b', 'control-f', 'l', 'shift-l', 'o', 'p', 'r',
|
||||
'shift-a', 'b', 'control-f',
|
||||
'l', 'shift-l', 'o', 'p', 'r',
|
||||
'shift-r', 's', 't', 'v', 'w']
|
||||
self.mouseEvents = ['mouse1', 'mouse1-up',
|
||||
'shift-mouse1', 'shift-mouse1-up',
|
||||
@ -199,6 +202,7 @@ class DirectSession(PandaObject):
|
||||
self.selected.reset()
|
||||
# Accept appropriate hooks
|
||||
self.enableKeyEvents()
|
||||
self.enableModifierEvents()
|
||||
self.enableMouseEvents()
|
||||
self.enableActionEvents()
|
||||
# Set flag
|
||||
@ -219,6 +223,7 @@ class DirectSession(PandaObject):
|
||||
# Accept appropriate hooks
|
||||
self.enableMouseEvents()
|
||||
self.enableActionEvents()
|
||||
self.enableModifierEvents()
|
||||
# Set flag
|
||||
self.fEnabled = 1
|
||||
|
||||
@ -230,6 +235,7 @@ class DirectSession(PandaObject):
|
||||
# Turn off object manipulation
|
||||
self.manipulationControl.disableManipulation()
|
||||
self.disableKeyEvents()
|
||||
self.disableModifierEvents()
|
||||
self.disableMouseEvents()
|
||||
self.disableActionEvents()
|
||||
# Kill tasks
|
||||
@ -255,6 +261,7 @@ class DirectSession(PandaObject):
|
||||
self.disableActionEvents()
|
||||
# But let mouse events pass through
|
||||
self.enableMouseEvents()
|
||||
self.enableModifierEvents()
|
||||
|
||||
def oobe(self):
|
||||
# If oobeMode was never set, set it to false and create the
|
||||
@ -332,6 +339,10 @@ class DirectSession(PandaObject):
|
||||
for event in self.actionEvents:
|
||||
self.accept(event[0], event[1], extraArgs = event[2:])
|
||||
|
||||
def enableModifierEvents(self):
|
||||
for event in self.modifierEvents:
|
||||
self.accept(event, self.inputHandler, [event])
|
||||
|
||||
def enableKeyEvents(self):
|
||||
for event in self.keyEvents:
|
||||
self.accept(event, self.inputHandler, [event])
|
||||
@ -344,6 +355,10 @@ class DirectSession(PandaObject):
|
||||
for event, method in self.actionEvents:
|
||||
self.ignore(event)
|
||||
|
||||
def disableModifierEvents(self):
|
||||
for event in self.modifierEvents:
|
||||
self.ignore(event)
|
||||
|
||||
def disableKeyEvents(self):
|
||||
for event in self.keyEvents:
|
||||
self.ignore(event)
|
||||
|
Loading…
x
Reference in New Issue
Block a user