mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
Make enableLight persistent through subsequent disable/enables
This commit is contained in:
parent
1b729fb229
commit
d4dd191c05
@ -27,6 +27,7 @@ class DirectSession(PandaObject):
|
||||
self.group = render.attachNewNode('DIRECT')
|
||||
self.font = TextNode.getDefaultFont()
|
||||
self.fEnabled = 0
|
||||
self.fEnabledLight = 0
|
||||
self.drList = DisplayRegionList()
|
||||
self.iRayList = map(lambda x: x.iRay, self.drList)
|
||||
self.dr = self.drList[0]
|
||||
@ -194,45 +195,34 @@ class DirectSession(PandaObject):
|
||||
self.disable()
|
||||
# Start all display region context tasks
|
||||
self.drList.spawnContextTask()
|
||||
# Turn on mouse Flying
|
||||
self.cameraControl.enableMouseFly()
|
||||
if not self.fEnabledLight:
|
||||
# Turn on mouse Flying
|
||||
self.cameraControl.enableMouseFly()
|
||||
# Turn on object manipulation
|
||||
self.manipulationControl.enableManipulation()
|
||||
# Make sure list of selected items is reset
|
||||
self.selected.reset()
|
||||
# Accept appropriate hooks
|
||||
self.enableKeyEvents()
|
||||
self.enableModifierEvents()
|
||||
if not self.fEnabledLight:
|
||||
self.enableKeyEvents()
|
||||
self.enableMouseEvents()
|
||||
self.enableActionEvents()
|
||||
self.enableModifierEvents()
|
||||
# Set flag
|
||||
self.fEnabled = 1
|
||||
|
||||
def enableLight(self):
|
||||
if self.fEnabled:
|
||||
return
|
||||
# Make sure old tasks are shut down
|
||||
self.disable()
|
||||
# Start all display region context tasks
|
||||
self.drList.spawnContextTask()
|
||||
# Turn on object manipulation
|
||||
self.manipulationControl.enableManipulation()
|
||||
# Make sure list of selected items is reset
|
||||
self.deselectAll()
|
||||
self.selected.reset()
|
||||
# Accept appropriate hooks
|
||||
self.enableMouseEvents()
|
||||
self.enableActionEvents()
|
||||
self.enableModifierEvents()
|
||||
# Set flag
|
||||
self.fEnabled = 1
|
||||
self.fEnabledLight = 1
|
||||
self.enable()
|
||||
|
||||
def disable(self):
|
||||
# Shut down all display region context tasks
|
||||
self.drList.removeContextTask()
|
||||
# Turn off camera fly
|
||||
self.cameraControl.disableMouseFly()
|
||||
if not self.fEnabledLight:
|
||||
# Turn off camera fly
|
||||
self.cameraControl.disableMouseFly()
|
||||
# Turn off object manipulation
|
||||
self.deselectAll()
|
||||
self.manipulationControl.disableManipulation()
|
||||
self.disableKeyEvents()
|
||||
self.disableModifierEvents()
|
||||
|
@ -88,7 +88,7 @@ class DirectSessionPanel(AppShell):
|
||||
self.menuBar.addmenu('DIRECT', 'Direct Session Panel Operations')
|
||||
|
||||
self.directEnabled = BooleanVar()
|
||||
self.directEnabled.set(direct.isEnabled())
|
||||
self.directEnabled.set(1)
|
||||
self.menuBar.addmenuitem('DIRECT', 'checkbutton',
|
||||
'DIRECT Enabled',
|
||||
label = 'Enable',
|
||||
|
Loading…
x
Reference in New Issue
Block a user