mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 18:31:55 -04:00
better handling of watching events so ignore actually works
This commit is contained in:
parent
570a6faf71
commit
22374c375a
@ -43,7 +43,14 @@ class InputState(DirectObject.DirectObject):
|
|||||||
self.accept(eventOn, self.set, [name, 1])
|
self.accept(eventOn, self.set, [name, 1])
|
||||||
self.accept(eventOff, self.set, [name, 0])
|
self.accept(eventOff, self.set, [name, 0])
|
||||||
self.state[name] = default
|
self.state[name] = default
|
||||||
self.watching[name] = (eventOn, eventOff)
|
# self.watching is a dict of the form:
|
||||||
|
# {name : [(eventOn, eventOff), (eventOn, eventOff)...]}
|
||||||
|
eventList = self.watching.get(name)
|
||||||
|
if eventList:
|
||||||
|
eventList.append((eventOn, eventOff))
|
||||||
|
else:
|
||||||
|
# Start a new list
|
||||||
|
self.watching[name] = [(eventOn, eventOff)]
|
||||||
|
|
||||||
def force(self, name, value):
|
def force(self, name, value):
|
||||||
"""
|
"""
|
||||||
@ -64,7 +71,8 @@ class InputState(DirectObject.DirectObject):
|
|||||||
The opposite of watch(name, ...)
|
The opposite of watch(name, ...)
|
||||||
See Also: watch()
|
See Also: watch()
|
||||||
"""
|
"""
|
||||||
eventOn, eventOff = self.watching[name]
|
for event in self.watching[name]:
|
||||||
|
eventOn, eventOff = event
|
||||||
DirectObject.DirectObject.ignore(self, eventOn)
|
DirectObject.DirectObject.ignore(self, eventOn)
|
||||||
DirectObject.DirectObject.ignore(self, eventOff)
|
DirectObject.DirectObject.ignore(self, eventOff)
|
||||||
del self.watching[name]
|
del self.watching[name]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user