瀏覽代碼

adding getCurrentStateOrTransition()

Josh Wilson 16 年之前
父節點
當前提交
f4e55629fa
共有 1 個文件被更改,包括 12 次插入0 次删除
  1. 12 0
      direct/src/fsm/FSM.py

+ 12 - 0
direct/src/fsm/FSM.py

@@ -204,6 +204,18 @@ class FSM(DirectObject):
         finally:
             self.fsmLock.release()
 
+    def getCurrentStateOrTransition(self):
+        # Returns the current state if we are in a state now, or the
+        # transition we are performing if we are currently within
+        # the enter or exit function for a state.
+        self.fsmLock.acquire()
+        try:
+            if self.state:
+                return self.state
+            return '%s -> %s' % (self.oldState, self.newState)
+        finally:
+            self.fsmLock.release()
+
     def isInTransition(self):
         self.fsmLock.acquire()
         try: