def _getMissionsBlock(cls, operation): items = [] completedQuests = operation.getCompletedQuests() completedQuestsIDs = set(completedQuests.keys()) totalCount = operation.getQuestsCount() items.append( formatters.packTextBlockData( text=text_styles.concatStylesWithSpace( text_styles.middleTitle( TOOLTIPS.PERSONALMISSIONS_OPERATION_MISSIONS_TITLE), _formatCompleteCount(len(completedQuests), totalCount), text_styles.standard('/ %s' % totalCount)), padding=formatters.packPadding(top=8, left=17))) for vehicleType in VEHICLE_TYPES_ORDER: _, quests = operation.getChainByVehicleType(vehicleType) completedCount = len(completedQuestsIDs.intersection( quests.keys())) chainSize = operation.getChainSize() items.append( formatters.packTitleDescParameterWithIconBlockData( title=text_styles.concatStylesWithSpace( _formatCompleteCount(completedCount, chainSize), text_styles.standard('/ %s' % chainSize)), value=text_styles.main(MENU.classesShort(vehicleType)), icon=getTypeSmallIconPath(vehicleType), iconPadding=formatters.packPadding(top=3, left=10), titlePadding=formatters.packPadding(left=10), padding=formatters.packPadding(left=156, bottom=-9))) return formatters.packBuildUpBlockData(blocks=items, padding=formatters.packPadding( top=-14, bottom=30), gap=10)
def makeVehicleVO(vehicle): return {'id': vehicle.intCD, 'vehicleName': text_styles.main(vehicle.shortUserName), 'smallVehicleIconPath': vehicle.iconSmall, 'nationIconPath': getNationsFilterAssetPath(AVAILABLE_NAMES[vehicle.nationID]), 'typeIconPath': getTypeSmallIconPath(vehicle.type, vehicle.isPremium), 'level': vehicle.level, 'isInHangar': vehicle.isInInventory}
def makeVehiclePopoverVO(vehicle): return {'dbID': vehicle.intCD, 'level': vehicle.level, 'shortUserName': vehicle.shortUserName, 'smallIconPath': getSmallIconPath(vehicle.name), 'nationID': vehicle.nationID, 'type': vehicle.type, 'typeIcon': getTypeSmallIconPath(vehicle.type, vehicle.isPremium), 'inHangar': vehicle.isInInventory, 'selected': False}
def _makeVehicleCmpVO(vehicle): return { 'intCD': vehicle.intCD, 'level': vehicle.level, 'shortUserName': vehicle.shortUserName, 'smallIconPath': getSmallIconPath(vehicle.name), 'nationIcon': RES_ICONS.getFilterNation(vehicle.nationName), 'typeIcon': getTypeSmallIconPath(vehicle.type, vehicle.isPremium), 'nationID': vehicle.nationID, 'type': vehicle.type }
def getTableData(self): result = [] for item in self._sortVehicles(): veh = item.discountName item = {'icon': _VEHICLE_NATION_ICON_PATH % nations.NAMES[veh.nationID], 'additionalIcon': getTypeSmallIconPath(veh.type, veh.isPremium or veh.isElite), 'title': ' '.join((i18n.makeString(TOOLTIPS.level(veh.level)), veh.shortUserName)), 'discount': formatStrDiscount(item), 'price': self._getPrice(veh, False)} result.append(item) return result
def _makeVO(self, vehicleCD, index): vehicle = self.itemsCache.items.getItemByCD(vehicleCD) complectation = _ms(VEH_COMPARE.cartpopover_configurationtype(self.comparisonBasket.getVehicleAt(index).getConfigurationType())) basketLocked = self.comparisonBasket.isLocked return {'id': vehicleCD, 'index': index, 'vehicleName': text_styles.main(vehicle.shortUserName), 'complectation': complectation, 'nation': getNationsFilterAssetPath(AVAILABLE_NAMES[vehicle.nationID]), 'level': vehicle.level, 'typeStr': getTypeSmallIconPath(vehicle.type, vehicle.isPremium), 'smallIconPath': vehicle.iconSmall, 'removeBtnTooltip': VEH_COMPARE.CARTPOPOVER_REMOVELOCKEDBTN_TOOLTIP if basketLocked else VEH_COMPARE.CARTPOPOVER_REMOVEBTN_TOOLTIP, 'removeBtnEnabled': not basketLocked}
def __updateTradeOffVehicleBtnData(self): with self.viewModel.equipmentBlock.vehicleBtn.transaction( ) as vehicleBtnVm: isTradeIn = not self.__isRentVisible and self.__isTradeIn() vehicleBtnVm.setVisible(isTradeIn and self.__tradeOffVehicle is not None) if self.__isTradeIn() and self.__tradeOffVehicle is not None: vehicleBtnVm.setFlag(self.__tradeOffVehicle.nationName) vehicleBtnVm.setVehType( getTypeSmallIconPath(self.__tradeOffVehicle.type, self.__tradeOffVehicle.isPremium)) vehicleBtnVm.setVehLvl( getLevelSmallIconPath(self.__tradeOffVehicle.level)) vehicleBtnVm.setVehIcon( getSmallIconPath(self.__tradeOffVehicle.name)) vehicleBtnVm.setVehName(self.__tradeOffVehicle.shortUserName) return
def _getData(self): vehicle = g_currentPreviewVehicle.item if vehicle.isPremium: vehicleTitle = '{} {},'.format( _ms(MENU.header_vehicletype_elite(vehicle.type)), _ms(VEHICLE_PREVIEW.INFOPANEL_LEVEL, level=_ms(MENU.header_level(vehicle.level)))) vehicleName = makeHtmlString( 'html_templates:lobby/vehicle_preview', 'vehicleNamePremium', {'name': vehicle.descriptor.type.shortUserString.upper()}) else: vehicleTitle = '{} {},'.format( _ms(MENU.header_vehicletype(vehicle.type)), _ms(VEHICLE_PREVIEW.INFOPANEL_LEVEL, level=_ms(MENU.header_level(vehicle.level)))) vehicleName = makeHtmlString( 'html_templates:lobby/vehicle_preview', 'vehicleNameRegular', {'name': vehicle.descriptor.type.shortUserString.upper()}) if vehicle.isPremiumIGR: vehicleTitle = makeHtmlString('html_templates:igr/premium-vehicle', 'name', {'vehicle': vehicleTitle}) compareBtnEnabled, compareBtnTooltip = resolveStateTooltip( self.comparisonBasket, vehicle, VEH_COMPARE.STORE_COMPAREVEHICLEBTN_TOOLTIPS_ADDTOCOMPARE, VEH_COMPARE.STORE_COMPAREVEHICLEBTN_TOOLTIPS_DISABLED) result = { 'closeBtnLabel': VEHICLE_PREVIEW.HEADER_CLOSEBTN_LABEL, 'backBtnLabel': VEHICLE_PREVIEW.HEADER_BACKBTN_LABEL, 'backBtnDescrLabel': self._getBackBtnLabel(), 'showCloseBtn': _SHOW_CLOSE_BTN, 'showBackButton': _SHOW_BACK_BTN, 'vehicleTitle': vehicleTitle, 'vehicleTypeIcon': getTypeSmallIconPath(vehicle.type, vehicle.isElite), 'nationFlagIcon': RES_ICONS.getFilterNation(vehicle.nationName), 'vehicleName': vehicleName, 'nationName': MENU.nations(vehicle.nationName), 'compareBtnTooltip': compareBtnTooltip, 'showCompareBtn': compareBtnEnabled, 'listDesc': self.__getInfoPanelListDescription(vehicle), 'isMultinational': vehicle.hasNationGroup } return result
def _makeVehicleVOAction(self, vehicle): if self._selectedVehicles: checkSelectedFunc = self._isSelected else: checkSelectedFunc = lambda vo: False vState, _ = vehicle.getState() return { 'dbID': vehicle.intCD, 'level': vehicle.level, 'shortUserName': vehicle.shortUserName, 'smallIconPath': getSmallIconPath(vehicle.name), 'nationID': vehicle.nationID, 'type': vehicle.type, 'typeIcon': getTypeSmallIconPath(vehicle.type, vehicle.isPremium), 'selected': checkSelectedFunc(vehicle), 'inHangar': False, 'isMultiSelect': self._isMultiSelect, 'isReadyToFight': vehicle.isReadyToFight, 'enabled': vehicle.isReadyToFight, 'tooltip': makeTooltip('#tooltips:vehicleStatus/%s/header' % vState, '#tooltips:vehicleStatus/body'), 'state': convertState(vState) }
def _packBlocks(self, *args, **kwargs): items = super(RentVehicleAwardTooltipData, self)._packBlocks() blocks = list() blocks.append( formatters.packTextBlockData( text_styles.middleTitle( TOOLTIPS.QUESTS_AWARDS_VEHICLERENT_HEADER), padding=formatters.packPadding(top=8))) blocks.append( formatters.packTextParameterWithIconBlockData( name=text_styles.premiumVehicleName( TOOLTIPS.QUESTS_AWARDS_VEHICLERENT_EXPIRE), value='', icon=ICON_TEXT_FRAMES.RENTALS, padding=formatters.packPadding(left=-60), iconYOffset=3)) vehiclesCount = 0 for rentVehicleData in args: rentVehicleData = flashObject2Dict(rentVehicleData) vehicleName = rentVehicleData.get('vehicleName', '') vehicleType = rentVehicleData.get('vehicleType', '') isPremium = rentVehicleData.get('isPremium', True) rentLeftCount = 0 rentTypeName = None for rentType in _RENT_TYPES: rentTypeValue = rentVehicleData.get(rentType, 0) if rentTypeValue > 0: rentTypeName = rentType rentLeftCount = rentTypeValue break if isPremium: imgPaddings = formatters.packPadding(right=2) else: imgPaddings = formatters.packPadding(left=5, right=5, top=4) blocks.append( formatters.packImageTextBlockData( title=text_styles.highlightText(vehicleName), img=getTypeSmallIconPath(vehicleType, isPremium), imgPadding=imgPaddings, txtPadding=formatters.packPadding(left=2))) if rentTypeName is not None and rentLeftCount > 0: rentCountStr = text_styles.premiumVehicleName(rentLeftCount) rentLeftStr = _ms(TOOLTIPS.getRentLeftTypeLabel(rentTypeName), count=rentCountStr) blocks.append( formatters.packTextBlockData( text_styles.main(rentLeftStr), padding=formatters.packPadding(left=28, top=-8, bottom=5))) vehiclesCount += 1 if vehiclesCount >= _MAX_AWARDS_PER_TOOLTIP: count = len(args) - vehiclesCount if count > 0: blocks.append( formatters.packTextBlockData( text_styles.main( _ms(TOOLTIPS.QUESTS_AWARDS_ADDITIONAL_BOTTOM, count=count)))) break items.append( formatters.packBuildUpBlockData( blocks, padding=formatters.packPadding(bottom=-12))) return items