Преглед изворни кода

added ParamObj.handleParamChange

Darren Ranalli пре 20 година
родитељ
комит
32011e40a2
1 измењених фајлова са 7 додато и 1 уклоњено
  1. 7 1
      direct/src/showbase/PythonUtil.py

+ 7 - 1
direct/src/showbase/PythonUtil.py

@@ -1031,6 +1031,8 @@ class ParamObj:
                     applier()
                     applier()
                     self._curParamStack.pop()
                     self._curParamStack.pop()
                 self._priorValuesStack.pop()
                 self._priorValuesStack.pop()
+                if hasattr(self, 'handleParamChange'):
+                    self.handleParamChange((param,))
 
 
         # insert stub funcs for param setters
         # insert stub funcs for param setters
         for param in self.ParamSet.getParams():
         for param in self.ParamSet.getParams():
@@ -1097,6 +1099,8 @@ class ParamObj:
                 applier()
                 applier()
                 self._curParamStack.pop()
                 self._curParamStack.pop()
         self._priorValuesStack.pop()
         self._priorValuesStack.pop()
+        if hasattr(self, 'handleParamChange'):
+            self.handleParamChange(tuple(self._paramsSet.keys()))
         del self._paramsSet
         del self._paramsSet
     def paramsLocked(self):
     def paramsLocked(self):
         return self._paramLockRefCount > 0
         return self._paramLockRefCount > 0
@@ -1176,7 +1180,9 @@ class POD:
             assert len(args) == 0
             assert len(args) == 0
             if __debug__:
             if __debug__:
                 for arg in kwArgs.keys():
                 for arg in kwArgs.keys():
-                    assert arg in self.getDataNames()
+                    assert arg in self.getDataNames(), (
+                        "unknown argument for %s: '%s'" % (
+                        self.__class__, arg))
             for name in self.getDataNames():
             for name in self.getDataNames():
                 if name in kwArgs:
                 if name in kwArgs:
                     setattr(self, name, kwArgs[name])
                     setattr(self, name, kwArgs[name])