示例#1
0
 def __doChangeSetting(self, item, entityName = None, avatar = None):
     result, error = item.canActivate(entityName, avatar)
     if result and avatar_getter.isPlayerOnArena(avatar):
         if item.getStage() == EQUIPMENT_STAGES.PREPARING:
             item.deactivate()
         else:
             forEach(lambda e: e.deactivate(), [ e for e in self._equipments.itervalues() if e.getStage() == EQUIPMENT_STAGES.PREPARING ])
             item.activate(entityName, avatar)
     return (result, error)
 def __doChangeSetting(self, item, entityName = None, avatar = None):
     result, error = item.canActivate(entityName, avatar)
     if result and avatar_getter.isPlayerOnArena(avatar):
         if item.getStage() == EQUIPMENT_STAGES.PREPARING:
             item.deactivate()
         else:
             forEach(lambda e: e.deactivate(), [ e for e in self._equipments.itervalues() if e.getStage() == EQUIPMENT_STAGES.PREPARING ])
             item.activate(entityName, avatar)
     return (result, error)
 def sendReloadingCommand(self):
     if not avatar_getter.isPlayerOnArena():
         return
     state = self.__ammo.getGunReloadingState()
     command = self.proto.battleCmd.create4Reload(self.__ammo.getGunSettings().isCassetteClip(), math.ceil(state.getTimeLeft()), self.__ammo.getShellsQuantityLeft())
     if command:
         self.__sendChatCommand(command)
     else:
         LOG_ERROR('Can not create reloading command')
示例#4
0
 def changeSetting(self, intCD, avatar = None):
     if not avatar_getter.isVehicleAlive(avatar):
         return False
     code = self.getNextSettingCode(intCD)
     if code is None:
         return False
     avatar_getter.updateVehicleSetting(code, intCD, avatar)
     if avatar_getter.isPlayerOnArena(avatar):
         avatar_getter.changeVehicleSetting(code, intCD, avatar)
     return True
示例#5
0
 def changeSetting(self, intCD, avatar=None):
     if not avatar_getter.isVehicleAlive(avatar):
         return False
     code = self.getNextSettingCode(intCD)
     if code is None:
         return False
     avatar_getter.updateVehicleSetting(code, intCD, avatar)
     if avatar_getter.isPlayerOnArena(avatar):
         avatar_getter.changeVehicleSetting(code, intCD, avatar)
     return True
示例#6
0
 def sendReloadingCommand(self):
     if not avatar_getter.isPlayerOnArena():
         return
     state = self.__ammo.getGunReloadingState()
     if state.getValueType() != GUN_RELOADING_VALUE_TYPE.TIME:
         LOG_ERROR('Chat reloading command is not allowed')
         return
     command = self.proto.battleCmd.create4Reload(self.__ammo.getGunSettings().isCassetteClip(), math.ceil(state.getTimeLeft()), self.__ammo.getShellsQuantityLeft())
     if command:
         self.__sendChatCommand(command)
     else:
         LOG_ERROR('Can not create reloading command')
示例#7
0
 def sendReloadingCommand(self):
     if not avatar_getter.isPlayerOnArena():
         return
     state = self.__ammo.getGunReloadingState()
     if state.getValueType() != GUN_RELOADING_VALUE_TYPE.TIME:
         LOG_ERROR('Chat reloading command is not allowed')
         return
     command = self.proto.battleCmd.create4Reload(self.__ammo.getGunSettings().isCassetteClip(), math.ceil(state.getTimeLeft()), self.__ammo.getShellsQuantityLeft())
     if command:
         self.__sendChatCommand(command)
     else:
         LOG_ERROR('Can not create reloading command')
 def sendReloadingCommand(self):
     if not avatar_getter.isPlayerOnArena():
         return
     inputHandler = avatar_getter.getInputHandler()
     if not inputHandler:
         return
     aim = inputHandler.aim
     if not aim:
         return
     command = self.proto.battleCmd.create4Reload(aim.isCasseteClip(), math.ceil(aim.getReloadingTimeLeft()), aim.getAmmoQuantityLeft())
     if command:
         self.__sendChatCommand(command)
     else:
         LOG_ERROR('Can not create reloading command')
示例#9
0
 def sendReloadingCommand(self):
     if not avatar_getter.isPlayerOnArena():
         return
     inputHandler = avatar_getter.getInputHandler()
     if not inputHandler:
         return
     aim = inputHandler.aim
     if not aim:
         return
     command = self.proto.battleCmd.create4Reload(aim.isCasseteClip(), math.ceil(aim.getReloadingTimeLeft()), aim.getAmmoQuantityLeft())
     if command:
         self.__sendChatCommand(command)
     else:
         LOG_ERROR('Can not create reloading command')
示例#10
0
 def __doChangeSetting(self, item, entityName=None, avatar=None):
     result, error = item.canActivate(entityName, avatar)
     if result and avatar_getter.isPlayerOnArena(avatar):
         if item.getStage() == EQUIPMENT_STAGES.PREPARING:
             item.deactivate()
         else:
             curCtrl = BigWorld.player().inputHandler.ctrl
             if curCtrl is not None and curCtrl.isEnabled:
                 self.__preferredPosition = curCtrl.getDesiredShotPoint(
                     ignoreAimingMode=True)
             forEach(lambda e: e.deactivate(), [
                 e for e in self._equipments.itervalues()
                 if e.getStage() == EQUIPMENT_STAGES.PREPARING
             ])
             item.activate(entityName, avatar)
     return (result, error)