def __me_onCommandReceived(self, cmd):
        if cmd.getCommandType() != MESSENGER_COMMAND_TYPE.BATTLE:
            return
        else:
            controller = MessengerEntry.g_instance.gui.channelsCtrl.getController(
                cmd.getClientID())
            if controller is None:
                LOG_ERROR('Controller not found', cmd)
                return
            if not controller.filterMessage(cmd):
                return
            if cmd.isOnMinimap():
                if cmd.isSPGAimCommand():
                    try:
                        coordX, coordY, coordZ = struct.unpack(
                            '<fffif',
                            cmd.getCommandData()['strArg1'])[:3]
                    except struct.error as e:
                        LOG_ERROR(
                            'The following command can not be unpacked: ', e)
                        return

                    senderID = cmd.getSenderID()
                    g_stunAreaManager.manageStunArea(
                        Math.Vector3(coordX, coordY, coordZ), senderID)
                else:
                    self.__feedback.markCellOnMinimap(cmd.getCellIndex())
            elif cmd.isOnEpicBattleMinimap():
                if cmd.isMarkedPosition():
                    self.__feedback.markPositionOnMinimap(
                        cmd.getSenderID(), cmd.getMarkedPosition())
                elif cmd.isMarkedObjective():
                    self.__feedback.markObjectiveOnMinimap(
                        cmd.getSenderID(), cmd.getMarkedObjective())
                elif cmd.isMarkedBase():
                    self.__feedback.markBaseOnMinimap(cmd.getSenderID(),
                                                      cmd.getMarkedBase(),
                                                      cmd.getMarkedBaseName())
            elif cmd.isEpicGlobalMessage():
                self.__playSound(cmd)
            elif cmd.isPrivate():
                self.__handlePrivateCommand(cmd)
            else:
                self.__playSound(cmd)
                if cmd.isPublic():
                    self.__handlePublicCommand(cmd)
                else:
                    self.__handleSimpleCommand(cmd)
            return
示例#2
0
 def __me_onCommandReceived(self, cmd):
     if cmd.getCommandType() != MESSENGER_COMMAND_TYPE.BATTLE:
         return
     if cmd.isOnMinimap():
         if cmd.isSPGAimCommand():
             dsp, cellIdx, reloadTime = cPickle.loads(
                 cmd.getCommandData()['strArg1'])
             senderID = cmd.getSenderID()
             g_stunAreaManager.manageStunArea(Math.Vector3(*dsp), senderID)
         else:
             self.__feedback.markCellOnMinimap(cmd.getCellIndex())
     elif cmd.isPrivate():
         self.__handlePrivateCommand(cmd)
     else:
         self.__playSound(cmd)
         if cmd.isPublic():
             self.__handlePublicCommand(cmd)
         else:
             self.__handleSimpleCommand(cmd)
示例#3
0
    def __me_onCommandReceived(self, cmd):
        if cmd.getCommandType() != MESSENGER_COMMAND_TYPE.BATTLE:
            return
        if cmd.isOnMinimap():
            if cmd.isSPGAimCommand():
                try:
                    coordX, coordY, coordZ = struct.unpack('<fffif', cmd.getCommandData()['strArg1'])[:3]
                except struct.error as e:
                    LOG_ERROR('The following command can not be unpacked: ', e)
                    return

                senderID = cmd.getSenderID()
                g_stunAreaManager.manageStunArea(Math.Vector3(coordX, coordY, coordZ), senderID)
            else:
                self.__feedback.markCellOnMinimap(cmd.getCellIndex())
        elif cmd.isPrivate():
            self.__handlePrivateCommand(cmd)
        else:
            self.__playSound(cmd)
            if cmd.isPublic():
                self.__handlePublicCommand(cmd)
            else:
                self.__handleSimpleCommand(cmd)