From adf9da20bc70a173c25cd8f4e08a93a1a1f04e74 Mon Sep 17 00:00:00 2001 From: David Rose Date: Sat, 13 Jun 2009 01:41:55 +0000 Subject: [PATCH] patch from panda community member Sergey Shepelev --- direct/src/fsm/FSM.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/direct/src/fsm/FSM.py b/direct/src/fsm/FSM.py index af332a3276..c219a08177 100644 --- a/direct/src/fsm/FSM.py +++ b/direct/src/fsm/FSM.py @@ -161,6 +161,18 @@ class FSM(DirectObject): import weakref _debugFsms[name]=weakref.ref(self) + def __getattr__(self, name): + """Provides request_State(*args) alias to request('State', *args) + and demand_State(*args) alias to demand('State', *args).""" + + if name.startswith('request_'): + return lambda *args, **kwargs: self.request(name[8:], *args, **kwargs) + if name.startswith('demand_'): + return lambda *args, **kwargs: self.request(name[7:], *args, **kwargs) + if name in self.__dict__: + return self.__dict__[name] + raise AttributeError(name) + def cleanup(self): # A convenience function to force the FSM to clean itself up # by transitioning to the "Off" state.