From 62d20a509941858096f58c147109869811291f33 Mon Sep 17 00:00:00 2001 From: Joe Shochet Date: Fri, 16 Mar 2001 17:49:56 +0000 Subject: [PATCH] *** empty log message *** --- direct/src/distributed/ClientRepository.py | 4 +++- direct/src/showbase/DirectObject.py | 2 ++ direct/src/showbase/Messenger.py | 20 ++++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/direct/src/distributed/ClientRepository.py b/direct/src/distributed/ClientRepository.py index 45b597cadb..02f1a58390 100644 --- a/direct/src/distributed/ClientRepository.py +++ b/direct/src/distributed/ClientRepository.py @@ -28,7 +28,9 @@ class ClientRepository(DirectObject.DirectObject): def parseDcFile(self, dcFileName): self.dcFile = DCFile() - assert(self.dcFile.read(dcFileName)) + readResult = self.dcFile.read(dcFileName) + if not readResult: + self.notify.error("Could not read dcfile: " + str(dcFileName.cStr())) return self.parseDcClasses(self.dcFile) def parseDcClasses(self, dcFile): diff --git a/direct/src/showbase/DirectObject.py b/direct/src/showbase/DirectObject.py index 13d5ffb8b8..914b69c4e7 100644 --- a/direct/src/showbase/DirectObject.py +++ b/direct/src/showbase/DirectObject.py @@ -26,6 +26,8 @@ class DirectObject: messenger.accept(event, self, method, extraArgs, 0) def ignore(self, event): messenger.ignore(event, self) + def ignoreAll(self): + messenger.ignoreAll(self) def isAccepting(self, event): return messenger.isAccepting(event, self) def isIgnoring(self, event): diff --git a/direct/src/showbase/Messenger.py b/direct/src/showbase/Messenger.py index aa7b9d34f7..bcb728423b 100644 --- a/direct/src/showbase/Messenger.py +++ b/direct/src/showbase/Messenger.py @@ -65,6 +65,26 @@ class Messenger: if (len(acceptorDict) == 0): del self.dict[event] + + def ignoreAll(self, object): + """ ignoreAll(self, DirectObject) + Make this object no longer respond to any events it was accepting + """ + + Messenger.notify.debug(`object` + '\n now ignoring all events') + + for event in self.dict.keys(): + # Find the dictionary of all the objects accepting this event + acceptorDict = self.dict[event] + # If this object is there, delete it from the dictionary + if acceptorDict.has_key(object): + del acceptorDict[object] + # If this dictionary is now empty, remove the event + # entry from the Messenger alltogether + if (len(acceptorDict) == 0): + del self.dict[event] + + def isAccepting(self, event, object): """ isAccepting(self, string, DirectOject) Is this object accepting this event?