Browse Source

guards on enable/disable physics stuff

Dave Schuyler 20 năm trước cách đây
mục cha
commit
161b85bc6b
1 tập tin đã thay đổi với 10 bổ sung8 xóa
  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())
             KeyboardButton.control())
 
 
     def addAngularIntegrator(self):
     def addAngularIntegrator(self):
-        if (self.physicsMgrAngular == 0):
+        if not self.physicsMgrAngular:
             self.physicsMgrAngular = 1
             self.physicsMgrAngular = 1
             integrator = AngularEulerIntegrator()
             integrator = AngularEulerIntegrator()
             self.physicsMgr.attachAngularIntegrator(integrator)
             self.physicsMgr.attachAngularIntegrator(integrator)
 
 
     def enableParticles(self):
     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):
     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):
     def toggleParticles(self):
         if self.particleMgrEnabled == 0:
         if self.particleMgrEnabled == 0: