Browse Source

add getAllAccepting()

David Rose 19 years ago
parent
commit
da7c1e8a10
2 changed files with 13 additions and 0 deletions
  1. 3 0
      direct/src/showbase/DirectObject.py
  2. 10 0
      direct/src/showbase/Messenger.py

+ 3 - 0
direct/src/showbase/DirectObject.py

@@ -35,6 +35,9 @@ class DirectObject:
     def isAccepting(self, event):
     def isAccepting(self, event):
         return messenger.isAccepting(event, self)
         return messenger.isAccepting(event, self)
 
 
+    def getAllAccepting(self):
+        return messenger.getAllAccepting(self)
+
     def isIgnoring(self, event):
     def isIgnoring(self, event):
         return messenger.isIgnoring(event, self)
         return messenger.isIgnoring(event, self)
 
 

+ 10 - 0
direct/src/showbase/Messenger.py

@@ -126,6 +126,16 @@ class Messenger:
                         del self.__callbacks[event]
                         del self.__callbacks[event]
             del self.__objectEvents[object]
             del self.__objectEvents[object]
 
 
+    def getAllAccepting(self, object):
+        """
+        Returns the list of all events accepted by the indicated object.
+        """
+        # Get the list of events this object is listening to
+        eventDict = self.__objectEvents.get(object)
+        if eventDict:
+            return eventDict.keys()
+        return []
+
     def isAccepting(self, event, object):
     def isAccepting(self, event, object):
         """ isAccepting(self, string, DirectOject)
         """ isAccepting(self, string, DirectOject)
         Is this object accepting this event?
         Is this object accepting this event?