From 83e2b707513f1acf1025998ca62af570f19a544e Mon Sep 17 00:00:00 2001 From: Dave Schuyler Date: Fri, 21 Nov 2003 02:11:12 +0000 Subject: [PATCH] fixed ignore() --- direct/src/showbase/InputState.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/direct/src/showbase/InputState.py b/direct/src/showbase/InputState.py index 9ca2b6dc82..100729b084 100755 --- a/direct/src/showbase/InputState.py +++ b/direct/src/showbase/InputState.py @@ -19,6 +19,7 @@ class InputState(DirectObject.DirectObject): def __init__(self): self.state = {} assert(self.debugPrint("InputState()")) + self.watching = {} def delete(self): self.ignoreAll() @@ -41,15 +42,18 @@ class InputState(DirectObject.DirectObject): self.accept(eventOn, self.set, [name, 1]) self.accept(eventOff, self.set, [name, 0]) self.state[name] = default + self.watching[name] = (eventOn, eventOff) def ignore(self, name): """ The opposite of watch(name, ...) See Also: watch() """ - self.ignore(eventOn) - self.ignore(eventOff) - del state[name] + eventOn, eventOff = self.watching[name] + DirectObject.DirectObject.ignore(self, eventOn) + DirectObject.DirectObject.ignore(self, eventOff) + del self.watching[name] + del self.state[name] def set(self, name, isSet): assert(self.debugPrint("set(name=%s, isSet=%s)"%(name, isSet)))