class EventHandler: def __init__(self, actionHandler, battleQuery): self.currentPlayers={} self.modLoader=ModLoader(actionHandler, battleQuery) def handle(self,packet): logging.debug(packet[3]) if len(packet[3])>=2: event=packet[3] normalizedEvent=str(event[0]).replace(".o","O") logging.debug(normalizedEvent) if event!="punkBuster.onMessage": for m in self.modLoader.getMods(): try: call = getattr(m, normalizedEvent) except AttributeError: logging.debug("unknown event") else: eventArgs=event[1:] if "name" in eventArgs: #check for playerstats block and group it nIndex=eventArgs.index("name") playerStats=eventArgs[nIndex-1:] eventArgs=eventArgs[:len(eventArgs)-len(playerStats)] eventArgs.append(playerStats) call(*eventArgs) m.onEveryEvent()
class EventHandler: def __init__(self, actionHandler, battleQuery): self.currentPlayers = {} self.modLoader = ModLoader(actionHandler, battleQuery) def handle(self, packet): logging.debug(packet[3]) if len(packet[3]) >= 2: event = packet[3] normalizedEvent = str(event[0]).replace(".o", "O") logging.debug(normalizedEvent) if event != "punkBuster.onMessage": for m in self.modLoader.getMods(): try: call = getattr(m, normalizedEvent) except AttributeError: logging.debug("unknown event") else: eventArgs = event[1:] if "name" in eventArgs: #check for playerstats block and group it nIndex = eventArgs.index("name") playerStats = eventArgs[nIndex - 1:] eventArgs = eventArgs[:len(eventArgs) - len(playerStats)] eventArgs.append(playerStats) call(*eventArgs) m.onEveryEvent()