def routeFrostbitePacket(self, packet):
"""
Route a frostbite packet.
"""
if packet is None:
self.warning('Cannot route empty packet: %s' % traceback.extract_tb(sys.exc_info()[2]))
eventType = packet[0]
eventData = packet[1:]
match = re.search(r"^(?P<actor>[^.]+)\.(on)?(?P<event>.+)$", eventType)
func = None
if match:
func = 'On%s%s' % (string.capitalize(match.group('actor')),
string.capitalize(match.group('event')))
self.verbose2("Looking for event handling method called : " + func)
if match and hasattr(self, func):
#self.verbose2('routing ----> %s(%r)' % (func,eventData))
func = getattr(self, func)
event = func(eventType, eventData)
#self.debug('event : %s' % event)
if event:
self.queueEvent(event)
elif eventType in self._eventMap:
self.queueEvent(b3.events.Event(
self._eventMap[eventType],
eventData))
else:
data = ''
if func:
data = func + ' '
data += str(eventType) + ': ' + str(eventData)
self.warning('TODO : handle \'%r\' frostbite2 events' % packet)
self.queueEvent(self.getEvent('EVT_UNKNOWN', data))
abstractParser.py 文件源码
python
阅读 26
收藏 0
点赞 0
评论 0
评论列表
文章目录