def __packNationalFragmentBlocks(self): items = self._items self._setNationFlagCornerBg(self.__nationName) items.append( formatters. packImageTextBlockData(title=text_styles.highTitle( TOOLTIPS.BLUEPRINT_BLUEPRINTFRAGMENTTOOLTIP_NATIONALFRAGMENT), img=RES_ICONS.getBlueprintFragment( 'medium', self.__nationName), imgPadding=formatters.packPadding(top=3), txtPadding=formatters.packPadding(left=21))) self._items = [formatters.packBuildUpBlockData(blocks=items)] items = self._items nation = i18n.makeString(NATIONS.genetiveCase(self.__nationName)) descriptionBlock = formatters.packImageTextBlockData( desc=text_styles.main( i18n.makeString( TOOLTIPS. BLUEPRINT_BLUEPRINTFRAGMENTTOOLTIP_NATIONALDESCRIPTION, nation=nation)), img=RES_ICONS.MAPS_ICONS_BLUEPRINTS_PLUS, imgPadding=formatters.packPadding(top=0, right=5), padding=formatters.packPadding(left=40)) items.append( formatters.packBuildUpBlockData( blocks=[descriptionBlock, self.__packCompensationBlock()], gap=5, linkage=BLOCKS_TOOLTIP_TYPES. TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE)) fragmentsCount = self.context.getUniversalCount(self._fragmentCD) items.append(self.__packInStorageBlock(fragmentsCount))
def _getBonusSection(self, bonuses): hBlocks = [] vBlocks = [] for item in bonuses: if len(hBlocks) == 2: vBlocks.append( formatters.packBuildUpBlockData( blocks=hBlocks, blockWidth=_GIFTS_WIDTH, gap=5, layout=BLOCKS_TOOLTIP_TYPES.LAYOUT_HORIZONTAL, align=BLOCKS_TOOLTIP_TYPES.ALIGN_LEFT)) hBlocks = [] hBlocks.append( formatters.packImageTextBlockData(desc=text_styles.main( item.text), img=item.img, blockWidth=130)) vBlocks.append( formatters.packBuildUpBlockData( blocks=hBlocks, blockWidth=_GIFTS_WIDTH, gap=5, layout=BLOCKS_TOOLTIP_TYPES.LAYOUT_HORIZONTAL, align=BLOCKS_TOOLTIP_TYPES.ALIGN_LEFT)) return formatters.packBuildUpBlockData( blocks=vBlocks, blockWidth=_PREVIEW_TOOLTIP_WIDTH, padding=formatters.packPadding(top=-25, left=42), layout=BLOCKS_TOOLTIP_TYPES.LAYOUT_VERTICAL, align=BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER)
def _packBlocks(self, boosterID, *args, **kwargs): items = super(BoosterTooltipData, self)._packBlocks(*args, **kwargs) booster = self.context.buildItem(boosterID) statsFields = self.context.getStatsConfiguration(booster) items.append( formatters.packBuildUpBlockData([ formatters.packTitleDescBlock( text_styles.highTitle(booster.fullUserName), desc=text_styles.main(booster.description)), formatters.packImageBlockData( img=booster.bigTooltipIcon, align=BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER, width=180, height=180, padding={ 'top': -14, 'bottom': -14 }) ])) items.append(self.__packDueDate(booster)) if statsFields.quests: questsResult = self.__getBoosterQuestNames(boosterID) if questsResult: items.append(self.__packAccessCondition(questsResult)) if statsFields.buyPrice and booster.buyPrices: priceBlock = self.__getBoosterPrice(booster) items.append(formatters.packBuildUpBlockData(priceBlock)) if statsFields.activeState and booster.inCooldown: items.append(self.__packActiveState(booster.getUsageLeftTimeStr())) return items
def _packBlocks(self, *args, **kwargs): self.item = self.context.buildItem(*args, **kwargs) self.__shieldStatus = self.rankedController.getShieldStatus(self.item) topPaddingText = formatters.packPadding(top=-5) items = super(RankedTooltipData, self)._packBlocks() isVehicleRank = self.__isForVehicleRank() if isVehicleRank: items.append(self.__packVehTitle()) else: items.append(self.__packTitle()) items.append( formatters.packBuildUpBlockData([ formatters.packRankBlockData( rank=self.item, shieldStatus=self.__shieldStatus, padding=formatters.packPadding(top=10, bottom=15)) ])) quest = self.item.getQuest() if quest is not None: items.append( formatters.packBuildUpBlockData( self._packAwardsBlock(quest), 0, BLOCKS_TOOLTIP_TYPES. TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE, topPaddingText)) bottomBlocks = [self.__buildStatusBlock()] if not isVehicleRank: bottomBlocks.append( formatters.packTextBlockData(self.__packStepsBlock())) items.append(formatters.packBuildUpBlockData(bottomBlocks)) return items
def _packBlocks(self, *args, **kwargs): items = super(ResearchTreePacker, self)._packBlocks(*args, **kwargs) imgPdg = {'left': 12, 'top': 30} txtGap = 2 blocksGap = 12 items.append(formatters.packBuildUpBlockData([formatters.packImageTextBlockData(title=text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TECHBLOCK_COMMONTECH_TITLE), desc=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TECHBLOCK_COMMONTECH_DESCRIPTION), img=RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_COMMONTANK, imgPadding=imgPdg, txtGap=txtGap, imgAtLeft=False), formatters.packImageTextBlockData(title=text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TECHBLOCK_PREMIUMTECH_TITLE), desc=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TECHBLOCK_PREMIUMTECH_DESCRIPTION), img=RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_PREMTANK, imgPadding=imgPdg, txtGap=txtGap, imgAtLeft=False)], blocksGap, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE)) imgPdg = {'left': 12, 'top': 3} txtOffset = 34 txtGap = 0 blocksGap = 2 items.append(formatters.packBuildUpBlockData([formatters.packTextBlockData(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TYPESBLOCK_TITLE)), formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TYPESBLOCK_LIGHTTANK), img=RES_ICONS.MAPS_ICONS_VEHICLETYPES_LIGHTTANK, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset), formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TYPESBLOCK_MEDIUMTANK), img=RES_ICONS.MAPS_ICONS_VEHICLETYPES_MEDIUMTANK, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset), formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TYPESBLOCK_HEAVYTANK), img=RES_ICONS.MAPS_ICONS_VEHICLETYPES_HEAVYTANK, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset), formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TYPESBLOCK_AT_SPG), img=RES_ICONS.MAPS_ICONS_VEHICLETYPES_AT_SPG, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset), formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TYPESBLOCK_SPG), img=RES_ICONS.MAPS_ICONS_VEHICLETYPES_SPG, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset)], blocksGap)) imgPdg = {'left': 3, 'top': 2} txtOffset = 82 txtGap = 0 blocksGap = 8 items.append(formatters.packBuildUpBlockData([formatters.packTextBlockData(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_BUTTONSBLOCK_TITLE)), formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_BUTTONSBLOCK_RESEARCH), img=RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_RESEARCHBUTTON, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset), formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_BUTTONSBLOCK_BUY), img=RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_BUYBUTTON, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset), formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_BUTTONSBLOCK_INHANGAR), img=RES_ICONS.MAPS_ICONS_LIBRARY_COMPLETEDINDICATOR, imgPadding={'left': 3, 'top': -3}, txtGap=txtGap, txtOffset=txtOffset)], blocksGap)) return items
def _packBlocks(self, skillID, level=None): items = super(EpicSkillBaseTooltipData, self)._packBlocks() skillInfo = self._epicMetaGameCtrl.getAllSkillsInformation().get( skillID) skillLevel = skillInfo.levels.get(1) if skillInfo else None if skillInfo is None or skillLevel is None: return items else: items.append( formatters.packBuildUpBlockData( self._constructHeader(skillLevel), padding=formatters.packPadding(top=4, bottom=-1))) items.append( formatters.packBuildUpBlockData( self.__constructDescr(skillLevel), padding=formatters.packPadding(top=-5, bottom=-8), linkage=BLOCKS_TOOLTIP_TYPES. TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE)) statBlocks = self.__constructStatsBlock(skillInfo) for i, _ in enumerate(statBlocks): linkage = BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE if i == 1 else BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_LINKAGE items.append( formatters.packBuildUpBlockData(statBlocks[i], linkage=linkage)) realLevel = self._epicMetaGameCtrl.getSkillLevels().get(skillID) if not realLevel: items.append( formatters.packBuildUpBlockData( self.__constructInactiveStateBlock(skillInfo), padding=formatters.packPadding(top=-6, bottom=-21))) return items
def _packBlocks(self, *args, **kwargs): items = super(VehCompareModuleBlockTooltipData, self)._packBlocks() module = self.context.buildItem(*args, **kwargs) statsConfig = self.context.getStatsConfiguration(module) paramsConfig = self.context.getParamsConfiguration(module) statusConfig = self.context.getStatusConfiguration(module) leftPadding = 20 rightPadding = 20 topPadding = 20 blockTopPadding = -4 blockPadding = formatters.packPadding(left=leftPadding, right=rightPadding, top=blockTopPadding) textGap = -2 valueWidth = 110 items.append(formatters.packBuildUpBlockData(HeaderBlockConstructor(module, statsConfig, leftPadding, rightPadding).construct(), padding=formatters.packPadding(left=leftPadding, right=rightPadding, top=topPadding))) if module.itemTypeID in GUI_ITEM_TYPE.ARTEFACTS: effectsBlock = EffectsBlockConstructor(module, statusConfig, leftPadding, rightPadding).construct() if len(effectsBlock) > 0: items.append(formatters.packBuildUpBlockData(effectsBlock, padding=blockPadding, linkage=BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE)) priceBlock, invalidWidth = PriceBlockConstructor(module, statsConfig, valueWidth, leftPadding, rightPadding).construct() if priceBlock: self._setWidth(_TOOLTIP_MAX_WIDTH if invalidWidth else _TOOLTIP_MIN_WIDTH) items.append(formatters.packBuildUpBlockData(priceBlock, padding=blockPadding, gap=textGap)) statsModules = GUI_ITEM_TYPE.VEHICLE_MODULES + (GUI_ITEM_TYPE.OPTIONALDEVICE,) if module.itemTypeID in statsModules: commonStatsBlock = CommonStatsBlockConstructor(module, paramsConfig, statsConfig.slotIdx, valueWidth, leftPadding, rightPadding, False).construct() if commonStatsBlock: items.append(formatters.packBuildUpBlockData(commonStatsBlock, padding=blockPadding, gap=textGap)) return items
def _packBlocks(self, *args, **kwargs): self.item = self.context.buildItem(*args, **kwargs) items = super(ShellBlockToolTipData, self)._packBlocks() shell = self.item statsConfig = self.context.getStatsConfiguration(shell) paramsConfig = self.context.getParamsConfiguration(shell) statusConfig = self.context.getStatusConfiguration(shell) leftPadding = 20 rightPadding = 20 topPadding = 20 lrPaddings = formatters.packPadding(left=leftPadding, right=rightPadding) blockTopPadding = -4 blockPadding = formatters.packPadding(left=leftPadding, right=rightPadding, top=blockTopPadding) textGap = -2 items.append(formatters.packBuildUpBlockData(HeaderBlockConstructor(shell, statsConfig, leftPadding, rightPadding).construct(), padding=formatters.packPadding(left=leftPadding, right=rightPadding, top=topPadding))) priceBlock, invalidWidth = PriceBlockConstructor(shell, statsConfig, 80, leftPadding, rightPadding).construct() if len(priceBlock) > 0: self._setWidth(_TOOLTIP_MAX_WIDTH if invalidWidth else _TOOLTIP_MIN_WIDTH) items.append(formatters.packBuildUpBlockData(priceBlock, padding=blockPadding, gap=textGap)) statsBlock = CommonStatsBlockConstructor(shell, paramsConfig, 80, leftPadding, rightPadding).construct() if len(statsBlock) > 0: items.append(formatters.packBuildUpBlockData(statsBlock, padding=blockPadding, gap=textGap)) statusBlock = StatusBlockConstructor(shell, statusConfig, leftPadding, rightPadding).construct() if len(statusBlock) > 0: items.append(formatters.packBuildUpBlockData(statusBlock, padding=lrPaddings)) return items
def _packBlocks(self, *args, **kwargs): self.item = self.context.buildItem(*args, **kwargs) items = super(BattleConsumableTooltipData, self)._packBlocks() statsConfig = self.context.getStatsConfiguration(self.item) paramsConfig = self.context.getParamsConfiguration(self.item) leftPadding = 20 rightPadding = 20 topPadding = 20 textGap = -2 items.append( formatters.packBuildUpBlockData( HeaderBlockConstructor(self.item, statsConfig, leftPadding, rightPadding).construct(), padding=formatters.packPadding(left=leftPadding, right=rightPadding, top=topPadding))) items.append( formatters.packBuildUpBlockData( CommonStatsBlockConstructor(self.item, paramsConfig, 80, leftPadding, rightPadding).construct(), padding=formatters.packPadding(left=leftPadding, right=rightPadding), gap=textGap)) return items
def _packBlocks(self, *args, **kwargs): items = super(PersonalMissionsMapRegionTooltipData, self)._packBlocks() self.quest = self._getPersonalMission(*args, **kwargs) if self.quest: isMain = None if not self.quest.isMainCompleted(): isMain = True conditions = PMTooltipConditionsFormatters().format(self.quest, isMain) orConditions = filter(lambda q: q.isInOrGroup, conditions) andConditions = filter(lambda q: not q.isInOrGroup, conditions) self._hasOrCondition = bool(orConditions) blocksData = [] blocksData.append(self._getTitleBlock()) blocksData.append(self._getConditionsTitleBlock()) if not self._hasOrCondition: blocksData.append(self._getAndConditionsBlock(andConditions, padding=formatters.packPadding(bottom=22))) items.append(formatters.packBuildUpBlockData(blocksData)) else: items.append(formatters.packBuildUpBlockData(blocksData)) items.append(self._getOrConditionBlock(orConditions)) if andConditions: items.append(self._getAndConditionsBlock(andConditions, padding=formatters.packPadding(top=-13, bottom=22))) items.append(self._getAwardsBlock(self.quest)) items.append(self._getStatusBlock(self.quest)) return items
def _packBlocks(self, *args, **kwargs): blocks = super(BasicFreeSheetTooltip, self)._packBlocks(*args, **kwargs) campaign = self.context.buildItem(*args, **kwargs) topItems = [ formatters.packTextBlockData( text_styles.highTitle( _ms(TOOLTIPS.PERSONALMISSIONS_FREESHEET_TITLE, campaignName=campaign.getUserName()))), formatters.packImageBlockData( AwardSheetPresenter.getIcon(AwardSheetPresenter.Size.BIG), BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER, padding=formatters.packPadding(top=-5, bottom=11)) ] blocks.append(formatters.packBuildUpBlockData(topItems)) infoBlock = self._getInfoBlock() if infoBlock is not None: blocks.append(infoBlock) bottomItems = [] for block in self._getDescriptionBlock(): if block is not None: bottomItems.append(block) blocks.append(formatters.packBuildUpBlockData(bottomItems)) return blocks
def _packBlocks(self, *args, **kwargs): self.item, currentModule = self.context.buildItem(*args, **kwargs) items = super(BattleRoyaleModulesTooltip, self)._packBlocks() module = self.item if module is None: return [] else: leftPadding = 20 rightPadding = 20 topPadding = 20 textGap = -2 headerBlock = HeaderBlockConstructor.construct(module) items.append( formatters.packBuildUpBlockData(headerBlock, padding=formatters.packPadding( left=leftPadding, right=rightPadding, top=topPadding))) paramsBlock = ParamsBlockConstructor.construct( module, currentModule, self._getVehicle()) if paramsBlock: items.append( formatters.packBuildUpBlockData( paramsBlock, padding=formatters.packPadding(left=leftPadding, top=2), gap=textGap)) return items
def _packBlocks(self, *args, **kwargs): self.item = self.context.buildItem(*args, **kwargs) self.__shieldStatus = self.item.getShieldStatus() topPaddingText = formatters.packPadding(top=-5) items = super(RankedTooltipData, self)._packBlocks() items.append(self.__packTitle()) comment = self.__packComment() if comment is not None: items.append(comment) items.append( formatters.packBuildUpBlockData([ formatters.packRankBlockData(rank=self.item, padding=formatters.packPadding( top=10, bottom=15)) ])) if self.item.isQualification(): quest = self.__getQualificationQuest() else: quest = self.item.getQuest() if quest is not None: items.append( formatters.packBuildUpBlockData( self.__packAwardsBlock(quest), 0, BLOCKS_TOOLTIP_TYPES. TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE, topPaddingText)) bottomBlocks = self.__packStatusBlock() items.append(formatters.packBuildUpBlockData(bottomBlocks)) return items
def _packBlocks(self, *args, **kwargs): self._items = super(BattlePassPointsTooltipData, self)._packBlocks(*args, **kwargs) titleBlock = formatters.packTitleDescBlock(title=text_styles.highTitle( backport.text( R.strings.battle_pass.tooltips.battlePassPoints.title()))) imageBlock = formatters.packImageBlockData(img=backport.image( R.images.gui.maps.icons.battlePass.tooltips.battlePassPoints()), align=BLOCKS_TOOLTIP_TYPES. ALIGN_CENTER) titleImageBlock = formatters.packBuildUpBlockData( [titleBlock, imageBlock]) self._items.append(titleImageBlock) descriptionBlock = text_styles.main( backport.text( R.strings.battle_pass.tooltips.battlePassPoints.description())) self._items.append(formatters.packTextBlockData(descriptionBlock)) state = self.__battlePassController.getState() if state == BattlePassState.COMPLETED: self._items.append( formatters.packBuildUpBlockData( [ formatters.packImageTextBlockData( title=text_styles.success( backport.text(R.strings.battle_pass.tooltips. battlePassPoints.completed())), img=backport.image( R.images.gui.maps.icons.library.check()), imgPadding=formatters.packPadding(top=-2)) ], linkage=BLOCKS_TOOLTIP_TYPES. TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE, padding=formatters.packPadding(bottom=-10))) return self._items
def _packConversionFormulaBlock(self, intelRequired, nationRequired, nationName, vehicleCD): if intelRequired > self.context.getUniversalCount(): intelText = text_styles.errCurrencyTextBig(str(intelRequired)) else: intelText = text_styles.expTextBig(str(intelRequired)) if nationRequired > self.context.getUniversalCount(vehicleCD): nationText = text_styles.errCurrencyTextBig(str(nationRequired)) else: nationText = text_styles.expTextBig(str(nationRequired)) countBlockInt = formatters.packImageTextBlockData( title=None, desc=intelText, img=RES_ICONS.MAPS_ICONS_BLUEPRINTS_FRAGMENT_MEDIUM_INTELLIGENCE, imgAtLeft=False, imgPadding=formatters.packPadding(top=0, right=5), txtPadding=formatters.packPadding(top=8, left=5), padding=formatters.packPadding(top=0)) countBlockNation = formatters.packImageTextBlockData( title=None, desc=nationText, img=RES_ICONS.getBlueprintFragment('medium', nationName), imgAtLeft=False, imgPadding=formatters.packPadding(top=0, right=5), txtPadding=formatters.packPadding(top=8, left=5), padding=formatters.packPadding(top=0)) countPlus = formatters.packImageBlockData( img=RES_ICONS.MAPS_ICONS_BLUEPRINTS_BLUEPRINTSCREEN_ICPLUS, align=BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER, padding=formatters.packPadding(left=10, right=0, top=12)) countEqual = formatters.packImageBlockData( img=RES_ICONS.MAPS_ICONS_BLUEPRINTS_BLUEPRINTSCREEN_ICEQUAL, align=BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER, padding=formatters.packPadding(left=8, right=8, top=12)) countPrint = formatters.packImageTextBlockData( title=None, desc=text_styles.main( TOOLTIPS.BLUEPRINT_VEHICLEBLUEPRINTTOOLTIP_GATHERDESCRIPTION2), img=RES_ICONS.MAPS_ICONS_BLUEPRINTS_FRAGMENT_MEDIUM_VEHICLE, imgPadding=formatters.packPadding(top=0, right=5), txtPadding=formatters.packPadding(top=4, left=5), padding=formatters.packPadding(top=0)) imageHowBlock = formatters.packBuildUpBlockData( blocks=[ countBlockInt, countPlus, countBlockNation, countEqual, countPrint ], gap=5, layout=BLOCKS_TOOLTIP_TYPES.LAYOUT_HORIZONTAL, padding=formatters.packPadding(top=8)) textOrBlock = formatters.packTextBetweenLineBlockData( text=text_styles.main( TOOLTIPS.BLUEPRINT_VEHICLEBLUEPRINTTOOLTIP_OR)) return formatters.packBuildUpBlockData( blocks=[textOrBlock, imageHowBlock], align=BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER, gap=5, padding=formatters.packPadding(bottom=-20))
def _packBlocks(self, *args, **kwargs): items = super(ResearchVehicleInfoPacker, self)._packBlocks(*args, **kwargs) imgPdg = {'left': 2, 'top': 3} txtOffset = 25 blocksGap = 7 txtGap = -4 items.append( formatters.packBuildUpBlockData([ formatters.packTitleDescBlockSmallTitle( text_styles.middleTitle( TOOLTIPS.HANGARTUTORIAL_RESEARCH_VEHICLEINFO_EXPTITLE), text_styles.main( TOOLTIPS. HANGARTUTORIAL_RESEARCH_VEHICLEINFO_EXPDESCRIPTION)), formatters.packBuildUpBlockData([ formatters.packImageTextBlockData( text_styles.main( TOOLTIPS. HANGARTUTORIAL_RESEARCH_VEHICLEINFO_BATTLEEXPTITLE ), text_styles.standard( TOOLTIPS. HANGARTUTORIAL_RESEARCH_VEHICLEINFO_BATTLEEXPDESCRIPTION ), RES_ICONS.MAPS_ICONS_LIBRARY_NORMALXPICON, imgPdg, txtOffset=txtOffset, txtGap=txtGap), formatters.packImageTextBlockData( text_styles.main( TOOLTIPS. HANGARTUTORIAL_RESEARCH_VEHICLEINFO_FREEEXPTITLE), text_styles.standard( TOOLTIPS. HANGARTUTORIAL_RESEARCH_VEHICLEINFO_FREEEXPDESCRIPTION ), RES_ICONS.MAPS_ICONS_LIBRARY_FREEXPICON_2, { 'left': 1, 'top': 3 }, txtOffset=txtOffset, txtGap=txtGap), formatters.packImageTextBlockData( text_styles.main( TOOLTIPS. HANGARTUTORIAL_RESEARCH_VEHICLEINFO_TOTALEXPTITLE), '', RES_ICONS.MAPS_ICONS_LIBRARY_POWERLEVELICON_1, imgPdg, txtOffset=txtOffset, txtGap=txtGap) ], gap=12) ], blocksGap, BLOCKS_TOOLTIP_TYPES. TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE )) return items
def _packBlocks(self, skillID, level=None): items = super(EpicSkillBaseTooltipData, self)._packBlocks() realLevel = int(level) if level else self._epicMetaGameCtrl.getSkillLevels().get(skillID, None) skillLevel = self._epicMetaGameCtrl.getAllSkillsInformation()[skillID].levels[realLevel if realLevel else 1] items.append(formatters.packBuildUpBlockData(self._constructHeader(skillLevel, realLevel), padding=formatters.packPadding(top=4, bottom=-1))) items.append(formatters.packBuildUpBlockData(self.__constructDescr(skillLevel), padding=formatters.packPadding(top=-5, bottom=-8), linkage=BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE)) if not realLevel: items.append(formatters.packBuildUpBlockData(self.__constructInactiveStateBlock(), padding=formatters.packPadding(top=-6, bottom=-21))) return items
def _packBlocks(self, *args): tooltipBlocks = super(ReserveTooltipData, self)._packBlocks() reserves = self._getData().getReserve() isPlayerLegionary = self._getEntity().getPlayerInfo().isLegionary() reserveId = args[0] reserve = reserves.getReserveById(reserveId) reserveName = getReserveNameVO(reserve.getType()) reserveLevel = reserve.getLevel() selected = reserve in reserves.getSelectedReserves() reserveCount = reserves.getReserveCount(reserve.getType(), reserve.getLevel()) if selected: reserveCount -= 1 if reserve.intCD is None: _logger.error('%s intCD is None! Check wgsh version on staging.', reserveName) return tooltipBlocks else: item = self.context.buildItem(reserve.intCD) tooltipBlocks.append( self.__getHeaderBlock(item, reserveName, reserveLevel, reserveCount, isPlayerLegionary)) tooltipBlocks.append( formatters.packBuildUpBlockData( self.__getMainParamsBlock(reserveName, item), padding=formatters.packPadding(left=10, right=10, top=-4, bottom=-2), linkage=BLOCKS_TOOLTIP_TYPES. TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE, gap=-2, blockWidth=450)) tooltipBlocks.append( formatters.packBuildUpBlockData( self.__getAdditionalParamsBlock(reserve), padding=formatters.packPadding(left=10, right=10, top=-4, bottom=-2), gap=-2)) if selected: status = R.strings.fortifications.reserves.tooltip.selected() else: status = R.strings.fortifications.reserves.tooltip.readyToSelect( ) tooltipBlocks.append( formatters.packAlignedTextBlockData( text_styles.statInfo(backport.text(status)), align=BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER, blockWidth=430, padding=formatters.packPadding(left=10, right=10, top=-7, bottom=-7))) return tooltipBlocks
def _packBlocks(self, *args, **kwargs): return [ formatters.packBuildUpBlockData( blocks=self.__getHeader(), layout=BLOCKS_TOOLTIP_TYPES.LAYOUT_VERTICAL), formatters.packBuildUpBlockData( blocks=self.__getInfo(), linkage=BLOCKS_TOOLTIP_TYPES. TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE) ]
def _packBlocks(self, *args, **kwargs): items = super(VehCompareModuleBlockTooltipData, self)._packBlocks() module = self.context.buildItem(*args, **kwargs) statsConfig = self.context.getStatsConfiguration(module) paramsConfig = self.context.getParamsConfiguration(module) statusConfig = self.context.getStatusConfiguration(module) leftPadding = 20 rightPadding = 20 topPadding = 20 blockTopPadding = -4 blockPadding = formatters.packPadding(left=leftPadding, right=rightPadding, top=blockTopPadding) textGap = -2 valueWidth = 110 items.append( formatters.packBuildUpBlockData( HeaderBlockConstructor(module, statsConfig, leftPadding, rightPadding).construct(), padding=formatters.packPadding(left=leftPadding, right=rightPadding, top=topPadding))) if module.itemTypeID in GUI_ITEM_TYPE.ARTEFACTS: effectsBlock = EffectsBlockConstructor(module, statusConfig, leftPadding, rightPadding).construct() if len(effectsBlock) > 0: items.append( formatters.packBuildUpBlockData( effectsBlock, padding=blockPadding, linkage=BLOCKS_TOOLTIP_TYPES. TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE)) priceBlock, invalidWidth = PriceBlockConstructor( module, statsConfig, valueWidth, leftPadding, rightPadding).construct() if priceBlock: self._setWidth( _TOOLTIP_MAX_WIDTH if invalidWidth else _TOOLTIP_MIN_WIDTH) items.append( formatters.packBuildUpBlockData(priceBlock, padding=blockPadding, gap=textGap)) statsModules = GUI_ITEM_TYPE.VEHICLE_MODULES + ( GUI_ITEM_TYPE.OPTIONALDEVICE, ) if module.itemTypeID in statsModules: commonStatsBlock = CommonStatsBlockConstructor( module, paramsConfig, statsConfig.slotIdx, valueWidth, leftPadding, rightPadding, False).construct() if commonStatsBlock: items.append( formatters.packBuildUpBlockData(commonStatsBlock, padding=blockPadding, gap=textGap)) return items
def _packBlocks(self, *args, **kwargs): items = super(CrewSkinSoundTooltipDataBlock, self)._packBlocks() tankman = self.context.buildItem(*args, **kwargs).tankman topBlock = [] topBlock.append( formatters.packTextBlockData(text=text_styles.middleTitle( backport.text(R.strings.tooltips.crewSkins.sound())))) topBlock.append( formatters.packTextBlockData(text=text_styles.main( backport.text(R.strings.tooltips.crewSkins.soundHeader())))) if tankman.role != Tankman.ROLES.COMMANDER: topBlock.append( formatters.packImageTextBlockData( img=RES_ICONS.MAPS_ICONS_LIBRARY_ALERTBIGICON, imgPadding={ 'left': -3, 'top': -2 }, txtOffset=20, padding=formatters.packPadding(bottom=0, top=8, left=0), desc=text_styles.alert( backport.text(R.strings.tooltips.crewSkins. soundWarningDescr2())))) elif not SoundGroups.g_instance.soundModes.currentNationalPreset[1]: topBlock.append( formatters.packImageTextBlockData( img=RES_ICONS.MAPS_ICONS_LIBRARY_ALERTBIGICON, imgPadding={ 'left': -3, 'top': -2 }, txtOffset=20, padding=formatters.packPadding(bottom=0, top=8, left=0), desc=text_styles.alert( backport.text(R.strings.tooltips.crewSkins. soundWarningDescr1())))) items.append(formatters.packBuildUpBlockData(topBlock)) infoBlock = [] infoBlock.append( formatters.packImageTextBlockData( img=RES_ICONS.MAPS_ICONS_LIBRARY_INFO, imgPadding={ 'left': -3, 'top': -2 }, txtOffset=20, desc=text_styles.stats( backport.text(R.strings.tooltips.crewSkins.soundInfo())))) infoBlock.append( formatters.packTextBlockData(text=text_styles.main( backport.text(R.strings.tooltips.crewSkins.soundInfoDescr())), padding=formatters.packPadding( left=20))) items.append(formatters.packBuildUpBlockData(infoBlock)) return items
def _packBlocks(self): blocks = super(BasicFreeSheetTooltip, self)._packBlocks() topItems = [formatters.packTextBlockData(text_styles.highTitle(TOOLTIPS.PERSONALMISSIONS_FREESHEET_TITLE)), formatters.packImageBlockData(RES_ICONS.MAPS_ICONS_PERSONALMISSIONS_FREE_SHEET_BIG, BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER, padding=formatters.packPadding(top=-5, bottom=11))] blocks.append(formatters.packBuildUpBlockData(topItems)) infoBlock = self._getInfoBlock() if infoBlock is not None: blocks.append(infoBlock) bottomItems = [] map(lambda block: (bottomItems.append(block) if block is not None else None), self._getDescriptionBlock()) blocks.append(formatters.packBuildUpBlockData(bottomItems)) return blocks
def getCycleStatusTooltipPack(self): items = [] season = self.__currentController.getCurrentSeason( ) or self.__currentController.getNextSeason() levelInfo = self.getPlayerLevelInfo() cycleNumber = self.getCurrentOrNextActiveCycleNumber(season) seasonStr = backport.text(self.__progressionNameCycleTxtId, season=int2roman(cycleNumber)) seasonDescr = text_styles.middleTitle(seasonStr) items.append( formatters.packTextBlockData(text=seasonDescr, useHtml=True, padding=formatters.packPadding( left=20, right=20))) currentCycle = season.getCycleInfo() tDiff = currentCycle.endDate - time_utils.getCurrentLocalServerTimestamp( ) if currentCycle is not None else 0 timeLeft = text_styles.main(getTimeToLeftStr(tDiff)) items.append( formatters.packTextBlockData(text=timeLeft, useHtml=True, padding=formatters.packPadding( left=20, right=20))) linkage = BLOCKS_TOOLTIP_TYPES.TOOLTIP_BATTLE_ROYALE_META_LEVEL_BLOCK_LINKAGE if self.isSteelHunter else BLOCKS_TOOLTIP_TYPES.TOOLTIP_EPIC_BATTLE_META_LEVEL_BLOCK_LINKAGE items.append( formatters.packBuildUpBlockData( blocks=[ formatters.packBlockDataItem( linkage=linkage, data=getProgressionIconVODict( cycleNumber=cycleNumber, playerLevel=levelInfo.currentLevel)) ], layout=BLOCKS_TOOLTIP_TYPES.LAYOUT_HORIZONTAL, align=BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER)) items.append(getLevelData(levelInfo.currentLevel)) if levelInfo.currentLevel < self.getMaxPlayerLevel(): items.append( self.__getCurrentMaxProgress( playerLevel=levelInfo.currentLevel, playerFamePts=levelInfo.levelProgress)) items.append( self.__getPlayerProgressToLevelBlock( playerLevel=levelInfo.currentLevel, playerFamePts=levelInfo.levelProgress)) else: unlockedStr = backport.text( R.strings.tooltips.eventProgression.unlockedDailyMissions()) items.append( formatters.packTextBlockData( text=text_styles.main(unlockedStr), useHtml=True, padding=formatters.packPadding(left=20, right=20, top=-7))) return formatters.packBuildUpBlockData(items)
def _packBlocks(self, *args, **kwargs): self.item = self.context.buildItem(*args, **kwargs) items = super(BattleConsumableTooltipData, self)._packBlocks() statsConfig = self.context.getStatsConfiguration(self.item) paramsConfig = self.context.getParamsConfiguration(self.item) leftPadding = 20 rightPadding = 20 topPadding = 20 textGap = -2 items.append(formatters.packBuildUpBlockData(HeaderBlockConstructor(self.item, statsConfig, leftPadding, rightPadding).construct(), padding=formatters.packPadding(left=leftPadding, right=rightPadding, top=topPadding))) items.append(formatters.packBuildUpBlockData(CommonStatsBlockConstructor(self.item, paramsConfig, 80, leftPadding, rightPadding).construct(), padding=formatters.packPadding(left=leftPadding, right=rightPadding), gap=textGap)) return items
def _packBlocks(self, *args, **kwargs): blocks = super(MapboxCalendarTooltip, self)._packBlocks(args, kwargs) blocks.append( formatters.packBuildUpBlockData([ self.__packHeader(), self.__packTimeTableHeaderBlock(), formatters.packBuildUpBlockData( packCalendarBlock(self.__mapboxCtrl, time_utils.getCurrentTimestamp(), SELECTOR_BATTLE_TYPES.MAPBOX)) ])) return blocks
def _packBlocks(self, paramName): blocks = super(VehicleAdvancedParametersTooltipData, self)._packBlocks(paramName) self.__paramName = self._extendedData.name bonuses, hasSituational = self._getBonuses() self._packListBlock(blocks, bonuses, text_styles.warning(_ms(TOOLTIPS.VEHICLEPARAMS_BONUSES_TITLE))) penalties = self._getPenalties() self._packListBlock(blocks, penalties, text_styles.critical(_ms(TOOLTIPS.VEHICLEPARAMS_PENALTIES_TITLE))) if self._extendedData.inactiveBonuses: blocks.append(formatters.packBuildUpBlockData(self._getFootNoteBlock('inactive'), padding=0)) if hasSituational: blocks.append(formatters.packBuildUpBlockData(self._getFootNoteBlock('optional'), padding=0)) return blocks
def _packBlocks(self, chainID): personalMissions = dependency.instance( IEventsCache).getPersonalMissions() operation = first( personalMissions.getOperationsForBranch( PM_BRANCH.PERSONAL_MISSION_2).values()) blocks = [ formatters.packImageTextBlockData( title=text_styles.highTitle(operation.getChainName(chainID)), desc=text_styles.standard( operation.getChainDescription(chainID)), img=RES_ICONS.getAlliance54x54Icon(chainID), imgPadding=formatters.packPadding(top=3, left=-5), txtOffset=78) ] nations = getNationsForChain(operation, chainID) nationBlocks = [] separator = ' ' for nation in GUI_NATIONS: if nation in nations: icon = icons.makeImageTag(getNationsFilterAssetPath(nation), 26, 16, -4) nationName = text_styles.main(NATIONS.all(nation)) nationBlocks.append( formatters.packTextBlockData( text_styles.concatStylesToSingleLine( icon, separator, nationName))) blocks.append( formatters.packBuildUpBlockData( nationBlocks, linkage=BLOCKS_TOOLTIP_TYPES. TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE, padding=formatters.packPadding(left=40))) allianceID = operation.getAllianceID(chainID) blocks.append( formatters.packBuildUpBlockData([ formatters.packTextBlockData( text_styles.middleTitle( PERSONAL_MISSIONS.CHAINTOOLTIPDATA_DESCRIPTION_TITLE), padding=formatters.packPadding(bottom=4)), formatters.packTextBlockData( text_styles.main( PERSONAL_MISSIONS.getAllianceChainTooltipDescr( allianceID)), padding=formatters.packPadding(bottom=7)) ], padding=formatters.packPadding( top=-7, bottom=-3))) return blocks
def _packBlocks(self, *args, **kwargs): module = vehicles.g_cache.equipments()[args[0]] if module is None: return else: items = super(EquipmentsTooltipData, self)._packBlocks() leftPadding = 20 rightPadding = 20 topPadding = 20 verticalPadding = 2 innerBlockLeftPadding = 100 headerBlockItem = [ formatters.packBuildUpBlockData( self.__constructHeaderBlock(module, leftPadding, innerBlockLeftPadding), padding=formatters.packPadding(left=leftPadding, right=rightPadding, top=topPadding, bottom=verticalPadding)) ] cooldownBlock = self.__constructCooldownBlock( module, verticalPadding, innerBlockLeftPadding) if cooldownBlock is not None: headerBlockItem.append(cooldownBlock) items.append(formatters.packBuildUpBlockData(headerBlockItem)) items.append( formatters.packBuildUpBlockData( self.__constructDescriptionBlock(module, leftPadding), linkage=BLOCKS_TOOLTIP_TYPES. TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE, padding=formatters.packPadding(left=leftPadding, right=rightPadding, top=verticalPadding, bottom=verticalPadding))) items.append( formatters.packTextBlockData(text=text_styles.standard( backport.text( R.strings.tooltips.battle_royale.artefact.source())), padding=formatters.packPadding( left=innerBlockLeftPadding, top=verticalPadding))) if hasattr(module, 'tooltipMovie') and module.tooltipMovie: block = formatters.packImageBlockData( module.tooltipMovie, BLOCKS_TOOLTIP_TYPES.ALIGN_LEFT, padding=5, linkage=BLOCKS_TOOLTIP_TYPES. TOOLTIP_ADVANCED_CLIP_BLOCK_LINKAGE) items.append(block) return items
def _packBlocks(self, *args, **kwargs): items = super(BonusTooltipData, self)._packBlocks() headerBlocks = [formatters.packImageTextBlockData(title=text_styles.highTitle(backport.text(R.strings.tooltips.battleTypes.ranked.bonusBattle.title())), img=backport.image(R.images.gui.maps.icons.rankedBattles.bonusIcons.c_48x48()), txtPadding=formatters.packPadding(left=20), titleAtMiddle=True, padding=formatters.packPadding(left=30, top=14))] items.append(formatters.packBuildUpBlockData(headerBlocks, stretchBg=False, linkage=BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_NORMAL_VEHICLE_BG_LINKAGE, padding=formatters.packPadding(left=-20, top=-12, bottom=-6))) statsComposer = self.__rankedController.getStatsComposer() persistentCount = statsComposer.persistentBonusBattles items.append(self.__packPersistentCount(persistentCount)) dailyCount = statsComposer.dailyBonusBattles if dailyCount > 0: income = statsComposer.dailyBonusBattlesIncome items.append(self.__packDailyCount(dailyCount, income)) descriptionBlock = [formatters.packTextBlockData(text_styles.main(backport.text(R.strings.tooltips.battleTypes.ranked.bonusBattle.description())), padding=formatters.packPadding(top=-6))] items.append(formatters.packBuildUpBlockData(descriptionBlock)) return items
def _packBlocks(self, isCurfewEnabled, timeLimits, serverName = None): title = TOOLTIPS.FORTIFICATION_SORTIE_LISTROOM_REGULATION_HEADER_CURFEW if isCurfewEnabled else TOOLTIPS.FORTIFICATION_SORTIE_LISTROOM_REGULATION_HEADER_INFO items = super(FortListViewTooltipData, self)._packBlocks() items.append(formatters.packTitleDescBlock(text_styles.highTitle(title), desc=text_styles.main(self._descr) if self._descr else None)) blocksGap = 2 mainBlock = self._packMainBlock(serverName, timeLimits) limits = timeLimits timeBlock = [] _packTimeLimitsBlock(timeBlock, limits) if len(timeBlock) > 0: mainBlock.append(formatters.packBuildUpBlockData(timeBlock, 0)) items.append(formatters.packBuildUpBlockData(mainBlock, blocksGap, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE)) items.append(formatters.packBuildUpBlockData([formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.FORTIFICATION_SORTIE_LISTROOM_REGULATION_FOOTER))], blocksGap)) return items
def _packVehicleBlock(self, vehicleIntCD): vehicle = self.itemsCache.items.getItemByCD(int(vehicleIntCD)) statsConfig = self.context.getStatsConfiguration(vehicle) paramsConfig = self.context.getParamsConfiguration(vehicle) leftPadding = 20 rightPadding = 20 blockTopPadding = -4 leftRightPadding = formatters.packPadding(left=leftPadding, right=rightPadding) blockPadding = formatters.packPadding(left=leftPadding, right=rightPadding, top=blockTopPadding) valueWidth = 75 textGap = -2 vehicleBlock = list() vehicleBlock.append( formatters.packBuildUpBlockData(HeaderBlockConstructor( vehicle, statsConfig, leftPadding, rightPadding).construct(), padding=leftRightPadding)) telecomBlock = TelecomBlockConstructor(vehicle, valueWidth, leftPadding, rightPadding).construct() if telecomBlock: vehicleBlock.append(formatters.packBuildUpBlockData(telecomBlock)) if not vehicle.isRotationGroupLocked: commonStatsBlock = CommonStatsBlockConstructor( vehicle, paramsConfig, valueWidth, leftPadding, rightPadding).construct() if commonStatsBlock: vehicleBlock.append( formatters.packBuildUpBlockData(commonStatsBlock, gap=textGap, padding=blockPadding)) footnoteBlock = FootnoteBlockConstructor(vehicle, paramsConfig, leftPadding, rightPadding).construct() if footnoteBlock: vehicleBlock.append( formatters.packBuildUpBlockData(footnoteBlock, gap=textGap, padding=blockPadding)) vehicleBlock.append( formatters.packBuildUpBlockData(AdditionalStatsBlockConstructor( vehicle, paramsConfig, self.context.getParams(), valueWidth, leftPadding, rightPadding).construct(), gap=textGap, padding=blockPadding)) return vehicleBlock
def __packVehicleFragmentBlocks(self): vehicle, blueprintData, _ = self.context.getVehicleBlueprintData( self._fragmentCD) if blueprintData is None: return else: items = self._items self._setNationFlagCornerBg(vehicle.nationName) items.append( formatters.packImageTextBlockData( title=text_styles.highTitle( TOOLTIPS. BLUEPRINT_BLUEPRINTFRAGMENTTOOLTIP_FRAGMENTHEADER), desc=self._getVehicleDescrStr(vehicle), img=RES_ICONS.getBlueprintFragment('medium', 'vehicle'), imgPadding=formatters.packPadding(top=3), txtPadding=formatters.packPadding(left=21))) self._items = [formatters.packBuildUpBlockData(blocks=items)] items = self._items percentDiscount, xpDiscount = self.context.getFragmentDiscounts( vehicle) items.append( formatters.packBuildUpBlockData( blocks=[ self._getUnlockDiscountBlock( percentDiscount, xpDiscount, TOOLTIPS. BLUEPRINT_VEHICLEBLUEPRINTTOOLTIP_RESEARCHDISCOUNT, True) ], linkage=BLOCKS_TOOLTIP_TYPES. TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE, padding=formatters.packPadding(left=67))) gatheredInfoStr = text_styles.concatStylesWithSpace( text_styles.stats(int(blueprintData.filledCount)), text_styles.main(' '.join( ('/', str(blueprintData.totalCount)))), text_styles.main( TOOLTIPS. BLUEPRINT_BLUEPRINTFRAGMENTTOOLTIP_FRAGMENTGATHERED)) items.append( formatters.packTextBlockData( text=gatheredInfoStr, padding=formatters.packPadding(left=67))) items.append( formatters.packTextBlockData(text=text_styles.main( TOOLTIPS. BLUEPRINT_BLUEPRINTFRAGMENTTOOLTIP_FRAGMENTDESCRIPTION))) return
def _packAppliedToVehicles(self, data): subBlocks = [formatters.packTextBlockData(text=text_styles.middleTitle('#vehicle_customization:customization/tooltip/applied/title'))] allowedVehicles = data['allowedVehicles'] notAllowedVehicles = data['notAllowedVehicles'] allowedNations = data['allowedNations'] notAllowedNations = data['notAllowedNations'] allowedVehicles = map(lambda vId: g_itemsCache.items.getItemByCD(vId), allowedVehicles) notAllowedVehicles = map(lambda vId: g_itemsCache.items.getItemByCD(vId), notAllowedVehicles) allowedVehicles = filter(lambda vehicle: not vehicle.isSecret, allowedVehicles) notAllowedVehicles = filter(lambda vehicle: not vehicle.isSecret, notAllowedVehicles) if data['boundToCurrentVehicle']: description = _ms('#tooltips:customization/questAward/currentVehicle') elif allowedVehicles: description = self._getVehiclesNames(allowedVehicles) else: if allowedNations: if len(allowedNations) > len(notAllowedNations): description = _ms('#vehicle_customization:customization/tooltip/applied/allNations') description += _ms('#vehicle_customization:customization/tooltip/applied/elementsSeparator') description += _ms('#vehicle_customization:customization/tooltip/applied/excludeNations', nations=self._getNationNames(notAllowedNations)) else: description = _ms('#vehicle_customization:customization/tooltip/applied/vehicleNation', nation=self._getNationNames(allowedNations)) elif self._item.getNationID() == ANY_NATION: description = _ms('#vehicle_customization:customization/tooltip/applied/allNations') else: description = _ms('#vehicle_customization:customization/tooltip/applied/vehicleNation', nation=self._getNationNames([self._item.getNationID()])) if notAllowedVehicles: description += _ms('#vehicle_customization:customization/tooltip/applied/elementsSeparator') description += _ms('#vehicle_customization:customization/tooltip/applied/excludeVehicles', vehicles=self._getVehiclesNames(notAllowedVehicles)) subBlocks.append(formatters.packTextBlockData(text_styles.main(description))) return formatters.packBuildUpBlockData(subBlocks, 0, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_LINKAGE)
def _makeLockBlock(self): clanLockTime = self.vehicle.clanLock if clanLockTime and clanLockTime <= time_utils.getCurrentTimestamp(): LOG_DEBUG("clan lock time is less than current time: %s" % clanLockTime) clanLockTime = None isDisabledInRoaming = self.vehicle.isDisabledInRoaming if clanLockTime or isDisabledInRoaming: headerLock = text_styles.concatStylesToMultiLine(text_styles.warning(_ms(TOOLTIPS.TANKCARUSEL_LOCK_HEADER))) if isDisabledInRoaming: textLock = text_styles.main(_ms(TOOLTIPS.TANKCARUSEL_LOCK_ROAMING)) else: time = time_utils.getDateTimeFormat(clanLockTime) timeStr = text_styles.main(text_styles.concatStylesWithSpace(_ms(TOOLTIPS.TANKCARUSEL_LOCK_TO), time)) textLock = text_styles.concatStylesToMultiLine( timeStr, text_styles.main(_ms(TOOLTIPS.TANKCARUSEL_LOCK_CLAN)) ) lockHeaderBlock = formatters.packTextBlockData( headerLock, padding=formatters.packPadding(left=77 + self.leftPadding, top=5) ) lockTextBlock = formatters.packTextBlockData( textLock, padding=formatters.packPadding(left=77 + self.leftPadding) ) return formatters.packBuildUpBlockData( [lockHeaderBlock, lockTextBlock], stretchBg=False, linkage=BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_LOCK_BG_LINKAGE, padding=formatters.packPadding(left=-17, top=20, bottom=0), ) else: return return
def _packMainBlock(self, serverName, timeLimits): blocksGap = 20 blocksList = [formatters.packImageTextBlockData(title=text_styles.main(i18n.makeString(TOOLTIPS.FORTIFICATION_SORTIE_LISTROOM_REGULATION_SERVERLIMIT, server=text_styles.error(serverName))))] if timeLimits: blocksList.append(formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.FORTIFICATION_SORTIE_LISTROOM_REGULATION_SERVERLIMITTIMEDESCR))) mainBlock = [formatters.packBuildUpBlockData(blocksList, blocksGap)] return mainBlock
def _packBlocks(self, boosterID, *args, **kwargs): items = super(BoosterTooltipData, self)._packBlocks(*args, **kwargs) booster = self.context.buildItem(boosterID) statsFields = self.context.getStatsConfiguration(booster) items.append(formatters.packBuildUpBlockData([formatters.packTitleDescBlock(text_styles.highTitle(booster.fullUserName), desc=text_styles.main(booster.description)), formatters.packImageBlockData(img=booster.bigTooltipIcon, align=BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER, width=180, height=180, padding={'top': -14, 'bottom': -14})])) items.append(self.__packDueDate(booster)) if statsFields.quests: questsResult = self.__getBoosterQuestNames(boosterID) if len(questsResult): items.append(self.__packAccessCondition(questsResult)) if statsFields.buyPrice and booster.buyPrice: priceBlock = self.__getBoosterPrice(booster) items.append(formatters.packBuildUpBlockData(priceBlock)) if statsFields.activeState and booster.inCooldown: items.append(self.__packActiveState(booster.getUsageLeftTimeStr())) return items
def _packBlocks(self, *args, **kwargs): items = super(PersonalCaseAdditionalPacker, self)._packBlocks(*args, **kwargs) blocksGap = 10 items.append(formatters.packBuildUpBlockData([formatters.packTitleDescBlock(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_PERSONALCASE_ADDITIONAL_RECORDTITLE), text_styles.main(TOOLTIPS.HANGARTUTORIAL_PERSONALCASE_ADDITIONAL_RECORDDESCRIPTION)), formatters.packTitleDescBlock(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_PERSONALCASE_ADDITIONAL_TRAININGTITLE), text_styles.main(TOOLTIPS.HANGARTUTORIAL_PERSONALCASE_ADDITIONAL_TRAININGDESCRIPTION)), formatters.packTitleDescBlock(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_PERSONALCASE_ADDITIONAL_PERKSTITLE), text_styles.main(TOOLTIPS.HANGARTUTORIAL_PERSONALCASE_ADDITIONAL_PERKSDESCRIPTION)), formatters.packTitleDescBlock(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_PERSONALCASE_ADDITIONAL_DOCUMENTSTITLE), text_styles.main(TOOLTIPS.HANGARTUTORIAL_PERSONALCASE_ADDITIONAL_DOCUMENTSDESCRIPTION))], blocksGap)) return items
def _packBlocks(self, *args, **kwargs): items = super(PersonalCasePerksPacker, self)._packBlocks(*args, **kwargs) blocksGap = 2 imgPdg = {'left': 0, 'right': 10, 'top': 4} txtGap = 0 items.append(formatters.packBuildUpBlockData([formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_PERSONALCASE_PERKS_NEWPERKTITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_PERSONALCASE_PERKS_NEWPERKDESCRIPTION), RES_COMMON.MAPS_ICONS_TANKMEN_SKILLS_BIG_NEW_SKILL, imgPdg, txtGap=txtGap)], blocksGap, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE)) return items
def _packBlocks(self, *args, **kwargs): items = super(NationsPacker, self)._packBlocks(*args, **kwargs) nationItems = [] for nation in GUI_NATIONS: nationItems.append(formatters.packImageTextBlockData(desc=text_styles.main('#tooltips:hangarTutorial/nations/%s' % nation), img='../maps/icons/filters/nations/%s.png' % nation, imgPadding={'left': 4, 'top': 4}, txtGap=1, txtOffset=36)) items.append(formatters.packBuildUpBlockData(nationItems, 2)) return items
def pack(self, data): items = super(LinerItemPacker, self).pack(data) values = data.get('values', None) discript = data.get('discript', None) if values is not None and discript is not None: blocks = [formatters.packTextParameterBlockData(discript, values)] blockToInsert = formatters.packBuildUpBlockData(blocks) items.append(blockToInsert) return items
def _packBonusBlock(self, customizationTypeData, title): subBlocks = [formatters.packTextBlockData(text=text_styles.middleTitle(_ms(title)), padding={'bottom': 2})] for bonus in customizationTypeData: bonusPartDescription = text_styles.main(bonus['title']) if bonus['isTemporarily']: bonusPartDescription += '\n' + text_styles.standard('*' + bonus['description']) subBlocks.append(formatters.packTextParameterBlockData(name=bonusPartDescription, value=bonus['power'], padding={'bottom': 8}, valueWidth=45)) return formatters.packBuildUpBlockData(subBlocks, 0, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_LINKAGE, {'left': 3})
def _packDurationBlock(self): subBlocks = [formatters.packTextBlockData(text=text_styles.middleTitle('#vehicle_customization:timeLeft/title'))] if self.__isPermanent: duration = _ms('#vehicle_customization:timeLeft/infinity') else: dimension = _ms('#vehicle_customization:timeLeft/temporal/days') duration = _ms('#vehicle_customization:timeLeft/temporal/used', time=self.__duration / 60 / 60 / 24, dimension=dimension) subBlocks.append(formatters.packTextBlockData(text_styles.main(duration))) return formatters.packBuildUpBlockData(subBlocks, 0, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_LINKAGE)
def _packHiddenBlock(self): subBlocks = [] if self._hideRented: subBlocks.append(formatters.packTextParameterWithIconBlockData(name=text_styles.main(TANK_CAROUSEL_FILTER.INFOTIP_RENT), value='', icon=ICON_TEXT_FRAMES.RENTALS, padding=formatters.packPadding(left=-50, top=-3, bottom=-18), nameOffset=20)) if self._hideEvent: icon = icons.makeImageTag(RES_ICONS.MAPS_ICONS_BATTLETYPES_40X40_EVENT, width=22, height=22, vSpace=-8) text = text_styles.main(TANK_CAROUSEL_FILTER.INFOTIP_EVENT) subBlocks.append(formatters.packTextBlockData(text='{} {}'.format(icon, text), padding=formatters.packPadding(left=6, top=5, bottom=0))) return formatters.packBuildUpBlockData(subBlocks, linkage=BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE)
def _packDescriptionBlock(self, customizationType): return formatters.packBuildUpBlockData( [ formatters.packImageTextBlockData( img=customizationType["img"], desc=customizationType["description"], imgPadding={"right": 10} ) ], 0, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE, )
def _packBlocks(self, *args, **kwargs): items = super(AmmunitionPacker, self)._packBlocks(*args, **kwargs) imgPdg = {'left': 0, 'top': 4} txtOffset = 56 txtGap = -5 blocksGap = 10 items.append(formatters.packBuildUpBlockData([formatters.packTextBlockData(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_TYPE_TITLE)), formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_TYPE_PIERCING_TITLE), desc=text_styles.standard(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_TYPE_PIERCING_DESCRIPTION), img=RES_ICONS.MAPS_ICONS_AMMOPANEL_AMMO_ARMOR_PIERCING, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset), formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_TYPE_HIGH_EXPLOSIVE_TITLE), desc=text_styles.standard(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_TYPE_HIGH_EXPLOSIVE_DESCRIPTION), img=RES_ICONS.MAPS_ICONS_AMMOPANEL_AMMO_HIGH_EXPLOSIVE, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset), formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_TYPE_SUBCALIBER_TITLE), desc=text_styles.standard(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_TYPE_SUBCALIBER_DESCRIPTION), img=RES_ICONS.MAPS_ICONS_AMMOPANEL_AMMO_ARMOR_PIERCING_CR, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset), formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_TYPE_CUMULATIVE_TITLE), desc=text_styles.standard(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_TYPE_CUMULATIVE_DESCRIPTION), img=RES_ICONS.MAPS_ICONS_AMMOPANEL_AMMO_HOLLOW_CHARGE, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset)], blocksGap, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE)) imgPdg = {'left': 0, 'top': 0} txtOffset = 0 txtGap = 0 blocksGap = 0 items.append(formatters.packBuildUpBlockData([formatters.packTitleDescBlockSmallTitle(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_AMMOSET_TITLE), text_styles.main(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_AMMOSET_DESCRIPTION)), formatters.packImageTextBlockData(img=RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_AMMOSLIDER, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset)], blocksGap)) return items
def _packBlocks(self, compensationValue): title = TOOLTIPS.FORTIFICATION_POPOVER_DEFRESPROGRESS_HEADER items = super(FortPopoverDefResTooltipData, self)._packBlocks() items.append(formatters.packTitleDescBlock(text_styles.highTitle(title), desc=text_styles.main(self._descr))) if compensationValue is not None: blocksGap = 12 compensationHeader = text_styles.main(TOOLTIPS.FORTIFICATION_POPOVER_DEFRESPROGRESS_COMPENSATION_HEADER) + text_styles.alert('+' + compensationValue) + icons.nut() compensationBody = text_styles.standard(TOOLTIPS.FORTIFICATION_POPOVER_DEFRESPROGRESS_COMPENSATION_BODY) items.append(formatters.packBuildUpBlockData([formatters.packTextBlockData(text_styles.concatStylesToMultiLine(compensationHeader, compensationBody))], blocksGap, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE)) return items
def _packBlocks(self, *args, **kwargs): items = super(CustomizationTypesPacker, self)._packBlocks(*args, **kwargs) imgPdg = {'left': 3, 'right': 8, 'top': -4} txtGap = -4 items.append(formatters.packBuildUpBlockData([formatters.packTitleDescBlockSmallTitle(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_CAMOUFLAGEBLOCKTITLE), text_styles.main(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_CAMOUFLAGEBLOCKDESCRIPTION)), formatters.packBuildUpBlockData([formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_WINTERCAMOUFLAGETITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_WINTERCAMOUFLAGEDESCRIPTION), RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_WINTER, imgPdg, txtGap=txtGap), formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_SUMMERCAMOUFLAGETITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_SUMMERCAMOUFLAGEDESCRIPTION), RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_SUMMER, imgPdg, txtGap=txtGap), formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_DESERTCAMOUFLAGETITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_DESERTCAMOUFLAGEDESCRIPTION), RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_DESERT, imgPdg, txtGap=txtGap)], gap=5)], gap=13)) items.append(formatters.packTitleDescBlockSmallTitle(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_EMBLEMBLOCKTITLE), text_styles.main(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_EMBLEMBLOCKDESCRIPTION))) items.append(formatters.packTitleDescBlockSmallTitle(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_LABELSBLOCKTITLE), text_styles.main(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_LABELSBLOCKDESCRIPTION))) return items
def _packBlocks(self, *args, **kwargs): items = super(ResearchModulesPackerEx, self)._packBlocks(*args, **kwargs) blocksGap = 3 imgPdg = {'top': 3} txtOffset = 75 items.append(formatters.packBuildUpBlockData([formatters.packTextBlockData(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_ACTIONBUTTONSTITLE)), formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_RESEARCHBUTTONDESCRIPTION), img=RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_RESEARCHBUTTON, imgPadding=imgPdg, txtOffset=txtOffset), formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_BUYBUTTONDESCRIPTION), img=RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_BUYBUTTON, imgPadding=imgPdg, txtOffset=txtOffset), formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_INHANGARDESCRIPTION), img=RES_ICONS.MAPS_ICONS_LIBRARY_COMPLETEDINDICATOR, imgPadding={'top': -3}, txtOffset=txtOffset)], blocksGap)) return items
def _packBlocks(self, *args, **kwargs): items = super(ResearchVehicleInfoPacker, self)._packBlocks(*args, **kwargs) imgPdg = {'left': 2, 'top': 3} txtOffset = 25 blocksGap = 7 txtGap = -4 items.append(formatters.packBuildUpBlockData([formatters.packTitleDescBlockSmallTitle(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_RESEARCH_VEHICLEINFO_EXPTITLE), text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_VEHICLEINFO_EXPDESCRIPTION)), formatters.packBuildUpBlockData([formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_VEHICLEINFO_BATTLEEXPTITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_RESEARCH_VEHICLEINFO_BATTLEEXPDESCRIPTION), RES_ICONS.MAPS_ICONS_LIBRARY_NORMALXPICON, imgPdg, txtOffset=txtOffset, txtGap=txtGap), formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_VEHICLEINFO_FREEEXPTITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_RESEARCH_VEHICLEINFO_FREEEXPDESCRIPTION), RES_ICONS.MAPS_ICONS_LIBRARY_FREEXPICON_2, {'left': 1, 'top': 3}, txtOffset=txtOffset, txtGap=txtGap), formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_VEHICLEINFO_TOTALEXPTITLE), '', RES_ICONS.MAPS_ICONS_LIBRARY_POWERLEVELICON_1, imgPdg, txtOffset=txtOffset, txtGap=txtGap)], gap=12)], blocksGap, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE)) return items
def _packAlreadyHaveBlock(self, item): subBlocks = [formatters.packTextBlockData(text=text_styles.middleTitle(_ms(VEHICLE_CUSTOMIZATION.CUSTOMIZATION_TOOLTIP_ALREADYHAVE_TITLE)), padding={'bottom': 6})] padding = {'left': 10} for buyItem in item['buyItems']: buyItemDesc = text_styles.main(buyItem['desc']) if buyItem['type'] == BUY_ITEM_TYPE.ALREADY_HAVE_IGR: subBlocks.append(formatters.packTextParameterBlockData(name=buyItemDesc, value=icons.premiumIgrSmall(), padding=padding)) else: subBlocks.append(formatters.packTextParameterBlockData(name=buyItemDesc, value='', padding=padding)) return formatters.packBuildUpBlockData(subBlocks, 0, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_LINKAGE, {'left': 3})
def _packAlreadyHaveBlock(self, data): subBlocks = [formatters.packTextBlockData(text=text_styles.middleTitle(_ms('#vehicle_customization:customization/tooltip/alreadyHave/title')), padding={'bottom': 6})] padding = {'left': 10} for buyItem in data['buyItems']: buyItemDesc = text_styles.main(buyItem['desc']) if buyItem['type'] == BUY_ITEM_TYPE.ALREADY_HAVE_IGR: subBlocks.append(formatters.packTextParameterBlockData(name=buyItemDesc, value=icons.premiumIgrSmall(), padding=padding)) else: subBlocks.append(formatters.packTextParameterBlockData(name=buyItemDesc, value='', padding=padding)) return formatters.packBuildUpBlockData(subBlocks, 0, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_LINKAGE, {'left': 3})
def _packBlocks(self, *args, **kwargs): self.item = self.context.buildItem(*args, **kwargs) items = super(VehicleInfoTooltipData, self)._packBlocks() vehicle = self.item statsConfig = self.context.getStatsConfiguration(vehicle) paramsConfig = self.context.getParamsConfiguration(vehicle) statusConfig = self.context.getStatusConfiguration(vehicle) leftPadding = 20 rightPadding = 0 valueWidth = 60 if vehicle.type == 'heavyTank': valueWidth = 75 textGap = -2 items.append(formatters.packBuildUpBlockData(HeaderBlockConstructor(vehicle, statsConfig, leftPadding, rightPadding).construct())) telecomBlock = TelecomBlockConstructor(vehicle, valueWidth, leftPadding, rightPadding).construct() if telecomBlock.__len__() > 0: items.append(formatters.packBuildUpBlockData(telecomBlock)) priceBlock = PriceBlockConstructor(vehicle, statsConfig, valueWidth, leftPadding, rightPadding).construct() if priceBlock.__len__() > 0: items.append(formatters.packBuildUpBlockData(priceBlock, gap=textGap)) items.append(formatters.packBuildUpBlockData(CommonStatsBlockConstructor(vehicle, paramsConfig, valueWidth, leftPadding, rightPadding).construct(), gap=textGap)) items.append(formatters.packBuildUpBlockData(AdditionalStatsBlockConstructor(vehicle, paramsConfig, valueWidth, leftPadding, rightPadding).construct(), gap=textGap)) statusBlock = StatusBlockConstructor(vehicle, statusConfig).construct() if statusBlock is not None: items.append(formatters.packBuildUpBlockData(statusBlock)) else: self._setContentMargin(bottom=20) return items
def _packWayToBuyBlock(self, item): subBlocks = [ formatters.packTextBlockData( text=text_styles.middleTitle(_ms(VEHICLE_CUSTOMIZATION.CUSTOMIZATION_TOOLTIP_WAYTOBUY_TITLE)), padding={"bottom": 6}, ) ] padding = {"left": 0} for buyItem in item["buyItems"]: buyItemDesc = text_styles.main(buyItem["desc"]) if buyItem["type"] == BUY_ITEM_TYPE.WAYS_TO_BUY_FOREVER: if buyItem["isSale"]: subBlocks.append( formatters.packSaleTextParameterBlockData( name=buyItemDesc, saleData={"newPrice": (0, buyItem["value"])}, padding=padding ) ) else: price = text_styles.concatStylesWithSpace( text_styles.gold(BigWorld.wg_getIntegralFormat(long(buyItem["value"]))), icons.gold() ) subBlocks.append( formatters.packTextParameterBlockData(name=buyItemDesc, value=price, valueWidth=70) ) elif buyItem["type"] == BUY_ITEM_TYPE.WAYS_TO_BUY_TEMP: if buyItem["isSale"]: subBlocks.append( formatters.packSaleTextParameterBlockData( name=buyItemDesc, saleData={"newPrice": (buyItem["value"], 0)}, padding=padding ) ) else: price = text_styles.concatStylesWithSpace( text_styles.credits(BigWorld.wg_getIntegralFormat(long(buyItem["value"]))), icons.credits() ) subBlocks.append( formatters.packTextParameterBlockData(name=buyItemDesc, value=price, valueWidth=70) ) elif buyItem["type"] == BUY_ITEM_TYPE.WAYS_TO_BUY_IGR: subBlocks.append( formatters.packTextParameterBlockData( name=buyItemDesc, value=icons.premiumIgrSmall(), padding=padding ) ) elif buyItem["type"] == BUY_ITEM_TYPE.WAYS_TO_BUY_MISSION: subBlocks.append( formatters.packTextParameterBlockData(name=buyItemDesc, value=icons.quest(), padding=padding) ) return formatters.packBuildUpBlockData( subBlocks, 0, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_LINKAGE, {"left": 3} )
def _packBlocks(self, boosterID, *args, **kwargs): items = super(BoosterTooltipData, self)._packBlocks(*args, **kwargs) booster = g_goodiesCache.getBooster(boosterID) questsResult = self.__getBoosterQuestNames(boosterID) items.append(formatters.packBuildUpBlockData([formatters.packTitleDescBlock(text_styles.highTitle(booster.fullUserName), desc=text_styles.main(booster.description)), formatters.packImageBlockData(img=booster.bigTooltipIcon, align=BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER, width=180, height=180, padding={'top': -14, 'bottom': -14})])) items.append(self.__packDueDate(booster)) if len(questsResult): qNames = '"%s"' % ', '.join(questsResult) items.append(self.__packAccessCondition(qNames)) if booster.inCooldown: items.append(self.__packActiveState(booster.getUsageLeftTimeStr())) return items
def _packBlocks(self, *args, **kwargs): items = super(ResearchModulesPacker, self)._packBlocks(*args, **kwargs) blocksGap = 5 imgPdg = {'left': 15, 'right': 20} txtGap = -4 items.append(formatters.packBuildUpBlockData([formatters.packTextBlockData(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_TYPESTITLE)), formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_GUNTITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_GUNDESCRIPTION), RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_MODULES_GUN, imgPdg, txtGap=txtGap), formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_TURRETTITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_TURRETDESCRIPTION), RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_MODULES_TOWER, imgPdg, txtGap=txtGap), formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_ENGINETITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_ENGINEDESCRIPTION), RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_MODULES_ENGINE, imgPdg, txtGap=txtGap), formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_CHASSISTITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_CHASSISDESCRIPTION), RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_MODULES_CHASSIS, imgPdg, txtGap=txtGap), formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_RADIOSETTITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_RADIOSETDESCRIPTION), RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_MODULES_RADIO, imgPdg, txtGap=txtGap)], blocksGap, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE)) return items
def _packBlocks(self, *args, **kwargs): blocks = super(SeasonAwardTooltipData, self)._packBlocks(*args, **kwargs) blocks.append( formatters.packBuildUpBlockData( [ formatters.packTextBlockData(self.__title), formatters.packImageBlockData( self.__image, BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER, padding=self.__imgPadding ), ] ) ) return blocks
def _packBonusBlock(self, customizationTypeData, title): subBlocks = [formatters.packTextBlockData(text=text_styles.middleTitle(_ms(title)), padding={"bottom": 2})] for bonus in customizationTypeData: bonusPartDescription = text_styles.main(bonus["title"]) if bonus["isTemporarily"]: bonusPartDescription += "\n" + text_styles.standard("*" + bonus["description"]) subBlocks.append( formatters.packTextParameterBlockData( name=bonusPartDescription, value=bonus["power"], padding={"bottom": 8}, valueWidth=45 ) ) return formatters.packBuildUpBlockData( subBlocks, 0, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_LINKAGE, {"left": 3} )