コード例 #1
0
    def onVehicleSelected(self, vehTypeCompDescr):
        self.__selectedVehicleCD = int(vehTypeCompDescr)
        selectedVehicle = self.__items.getItemByCD(self.__selectedVehicleCD)
        data = []
        mainRoles = []
        for slotIdx, tman in selectedVehicle.crew:
            mainRole = selectedVehicle.descriptor.type.crewRoles[slotIdx][0]
            if mainRole not in mainRoles:
                mainRoles.append(mainRole)
                criteria = REQ_CRITERIA.TANKMAN.NATIVE_TANKS(
                    [self.__selectedVehicleCD]) | REQ_CRITERIA.TANKMAN.ROLES(
                        [mainRole]) | REQ_CRITERIA.TANKMAN.ACTIVE
                roleTankmen = self.__items.getTankmen(criteria).values()
                sameTankmen = len(roleTankmen)
                roleSlotIsTaken = _isRoleSlotTaken(roleTankmen,
                                                   selectedVehicle, mainRole)
                roleStr = Tankman.getRoleUserName(mainRole)
                isAvailable = self.__tankman.descriptor.role != mainRole
                data.append({
                    'id':
                    mainRole,
                    'name':
                    roleStr,
                    'icon':
                    Tankman.getRoleMediumIconPath(mainRole),
                    'available':
                    isAvailable,
                    'warningHeader':
                    _getTooltipHeader(sameTankmen, isAvailable),
                    'warningBody':
                    _getTooltipBody(sameTankmen, isAvailable, roleSlotIsTaken,
                                    roleStr, selectedVehicle)
                })

        self.as_setRolesS(data)
コード例 #2
0
 def _successHandler(self, code, ctx=None):
     msgType = SM_TYPE.FinancialTransactionWithGold
     vehicle = self.itemsCache.items.getItemByCD(self.__vehTypeCompDescr)
     additionalMsgs = []
     if self.__compensationRequired:
         additionalMsgs.append(
             makeCrewSkinCompensationMessage(
                 self.__compensationPriceObject))
     if ctx == EQUIP_TMAN_CODE.OK:
         additionalMsgs.append(
             makeI18nSuccess(sysMsgKey='change_tankman_role/installed',
                             vehicle=vehicle.shortUserName))
     elif ctx == EQUIP_TMAN_CODE.NO_FREE_SLOT:
         roleStr = Tankman.getRoleUserName(SKILL_NAMES[self.__roleIdx])
         additionalMsgs.append(
             makeI18nSuccess(sysMsgKey='change_tankman_role/slot_is_taken',
                             vehicle=vehicle.shortUserName,
                             role=roleStr))
     else:
         additionalMsgs.append(
             makeI18nSuccess(sysMsgKey='change_tankman_role/no_vehicle'))
     return makeI18nSuccess('change_tankman_role/success',
                            money=formatPrice(
                                Money(gold=self.__changeRoleCost)),
                            type=msgType,
                            auxData=additionalMsgs)
コード例 #3
0
 def _successHandler(self, code, ctx = None):
     msgType = SM_TYPE.FinancialTransactionWithGold
     vehicle = g_itemsCache.items.getItemByCD(self.__vehTypeCompDescr)
     if ctx == EQUIP_TMAN_CODE.OK:
         auxData = makeI18nSuccess('change_tankman_role/installed', vehicle=vehicle.shortUserName)
     elif ctx == EQUIP_TMAN_CODE.NO_FREE_SLOT:
         roleStr = Tankman.getRoleUserName(SKILL_NAMES[self.__roleIdx])
         auxData = makeI18nSuccess('change_tankman_role/slot_is_taken', vehicle=vehicle.shortUserName, role=roleStr)
     else:
         auxData = makeI18nSuccess('change_tankman_role/no_vehicle')
     return makeI18nSuccess('change_tankman_role/success', money=formatPrice(Money(gold=self.__changeRoleCost)), type=msgType, auxData=auxData)
コード例 #4
0
ファイル: tankman.py プロジェクト: webiumsk/WOT0.10.0
 def _successHandler(self, code, ctx = None):
     msgType = SM_TYPE.FinancialTransactionWithGold
     vehicle = g_itemsCache.items.getItemByCD(self.__vehTypeCompDescr)
     if ctx == EQUIP_TMAN_CODE.OK:
         auxData = makeI18nSuccess('change_tankman_role/installed', vehicle=vehicle.shortUserName)
     elif ctx == EQUIP_TMAN_CODE.NO_FREE_SLOT:
         roleStr = Tankman.getRoleUserName(SKILL_NAMES[self.__roleIdx])
         auxData = makeI18nSuccess('change_tankman_role/slot_is_taken', vehicle=vehicle.shortUserName, role=roleStr)
     else:
         auxData = makeI18nSuccess('change_tankman_role/no_vehicle')
     return makeI18nSuccess('change_tankman_role/success', money=formatPrice((0, self.__changeRoleCost)), type=msgType, auxData=auxData)
コード例 #5
0
ファイル: rolechangewindow.py プロジェクト: webiumsk/WoT
    def onVehicleSelected(self, vehTypeCompDescr):
        self.__selectedVehicleCD = int(vehTypeCompDescr)
        selectedVehicle = self.__items.getItemByCD(self.__selectedVehicleCD)
        data = []
        for role in selectedVehicle.descriptor.type.crewRoles:
            mainRole = role[0]
            criteria = REQ_CRITERIA.TANKMAN.NATIVE_TANKS([self.__selectedVehicleCD]) | REQ_CRITERIA.TANKMAN.ROLES([mainRole])
            roleTankmen = self.__items.getTankmen(criteria).values()
            sameTankmen = len(roleTankmen)
            roleSlotIsTaken = _isRoleSlotTaken(roleTankmen, selectedVehicle, mainRole)
            roleStr = Tankman.getRoleUserName(mainRole)
            isAvailable = self.__tankman.descriptor.role != mainRole
            data.append({'id': mainRole,
             'name': roleStr,
             'icon': Tankman.getRoleMediumIconPath(mainRole),
             'available': isAvailable,
             'warningHeader': _getTooltipHeader(sameTankmen, isAvailable),
             'warningBody': _getTooltipBody(sameTankmen, isAvailable, roleSlotIsTaken, roleStr, selectedVehicle)})

        self.as_setRolesS(data)