Browse Source

guards on enable/disable physics stuff

Dave Schuyler 20 years ago
parent
commit
161b85bc6b
1 changed files with 10 additions and 8 deletions
  1. 10 8
      direct/src/showbase/ShowBase.py

+ 10 - 8
direct/src/showbase/ShowBase.py

@@ -1034,21 +1034,23 @@ class ShowBase(DirectObject.DirectObject):
             KeyboardButton.control())
 
     def addAngularIntegrator(self):
-        if (self.physicsMgrAngular == 0):
+        if not self.physicsMgrAngular:
             self.physicsMgrAngular = 1
             integrator = AngularEulerIntegrator()
             self.physicsMgr.attachAngularIntegrator(integrator)
 
     def enableParticles(self):
-        self.particleMgrEnabled = 1
-        self.physicsMgrEnabled = 1
-        self.taskMgr.remove('manager-update')
-        self.taskMgr.add(self.updateManagers, 'manager-update')
+        if not self.particleMgrEnabled:
+            self.particleMgrEnabled = 1
+            self.physicsMgrEnabled = 1
+            self.taskMgr.remove('manager-update')
+            self.taskMgr.add(self.updateManagers, 'manager-update')
 
     def disableParticles(self):
-        self.particleMgrEnabled = 0
-        self.physicsMgrEnabled = 0
-        self.taskMgr.remove('manager-update')
+        if self.particleMgrEnabled:
+            self.particleMgrEnabled = 0
+            self.physicsMgrEnabled = 0
+            self.taskMgr.remove('manager-update')
 
     def toggleParticles(self):
         if self.particleMgrEnabled == 0: