소스 검색

added isFinished() method

Darren Ranalli 17 년 전
부모
커밋
91a6f3f413
2개의 변경된 파일9개의 추가작업 그리고 2개의 파일을 삭제
  1. 7 0
      direct/src/showbase/Job.py
  2. 2 2
      direct/src/showbase/JobManager.py

+ 7 - 0
direct/src/showbase/Job.py

@@ -24,6 +24,7 @@ class Job(DirectObject):
         self._id = Job._SerialGen.next()
         self._printing = False
         self._priority = Job.Priorities.Normal
+        self._finished = False
         if __debug__:
             self._pstats = PStatCollector("App:Show code:jobManager:%s" % self._name)
 
@@ -74,6 +75,12 @@ class Job(DirectObject):
             """
         pass
 
+    def _setFinished(self):
+        self._finished = True
+        self.finished()
+    def isFinished(self):
+        return self._finished
+
     def finished(self):
         # called when the job finishes and has been removed from the JobManager
         pass

+ 2 - 2
direct/src/showbase/JobManager.py

@@ -115,7 +115,7 @@ class JobManager:
             if result is Job.Done:
                 job.suspend()
                 self.remove(job)
-                job.finished()
+                job._setFinished()
                 messenger.send(job.getFinishedEvent())
                 # job is done.
                 break
@@ -197,7 +197,7 @@ class JobManager:
                     elif result is Job.Done:
                         job.suspend()
                         self.remove(job)
-                        job.finished()
+                        job._setFinished()
                         if __debug__:
                             job._pstats.stop()
                         messenger.send(job.getFinishedEvent())